Cómo reemplazar el sistema operativo Linux desde dentro de sí mismo

Cómo reemplazar el sistema operativo Linux desde dentro de sí mismo

Estoy usando un servidor Nebula desde donde solo es posible instalar Ubuntu 16.04 con el kernel 4.4.0-210-generic.

Deseo instalar una versión más nueva de Linux en mi instancia.

Virtualización

Intenté crear una máquina virtual desde Ubuntu (con libvirt) pero aparece el mensaje:

ERROR Host does not support any virtualization options

Sin embargo, cuando reviso lscpuobtengo:

Virtualisation:        VT-x

Usando grub y otro disco con ISO instalable

Entonces pensé que podría intentar reemplazar todo el sistema operativo manualmente desde dentro de sí mismo.

Tengo el poder de crear nuevas unidades para la instancia.

Entonces agregué una unidad de 16GB

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   16G  0 disk 
├─sda1   8:1    0  2,9G  0 part 
└─sda2   8:2    0  3,9M  0 part 
sr0     11:0    1  364K  0 rom  
vda    253:0    0  500G  0 disk 
└─vda1 253:1    0  500G  0 part /

y lo convirtió en un disco de Ubuntu con

dd if=ubuntu20.04.iso of=/dev/sda

Sin embargo, no tengo el poder para cambiar la unidad desde la que arrancar.

  • Mi disco duro "antiguo" tiene el ID 0
  • mi nueva unidad ISO de Ubuntu tiene la identificación 2

la configuración de Nebula está codificada para arrancar desde la identificación 0 y no puedo cambiarla.

Revisé mi sistema en el /bootdirectorio y descubrí que el sistema de arranque es GRUB.

Entonces revisé la versión.

grub-install --version

Y parece ser Grub2

grub-install (GRUB) 2.02~beta2-36ubuntu3.32

Me preguntaba si es posible decirle a grub que arranque en mi disco ubuntu20.04 y luego lo instale en el disco con id0 llamado vda.

Reemplazar el sistema operativo simplemente reemplazando archivos en el sistema.

Si no es posible ejecutar un instalador, entonces estaba pensando en simplemente reemplazar el kernel y todos los archivos del sistema operativo manualmente. Sin embargo, estoy bastante seguro de que el sistema fallará si reemplazo los archivos que estoy usando actualmente, pero tal vez haya una manera de hacerlo en el orden correcto.

Respuesta1

Es posible actualizar Ubuntu de una versión a una más nueva en la línea de comando

La tarea principal es sudo apt install update-manager-coreinstalar el actualizador. Entonces sudo do-release-upgrade.

Verhttps://www.cyberciti.biz/faq/upgrade-ubuntu-18-04-to-20-04-lts-using-command-line/

Respuesta2

En caso de que no pueda actualizar su instalación de Ubuntu como sugiere otra respuesta, puede apuntar GRUB a su disco de instalación tomando su identificador de disco (en forma de (hdX, msdosY)o (hdX,gptY)y creando manualmente una entrada de menú en /boot/grub/grub-cfg[1]

menuentry "New Ubuntu Install Disk" {
          search --set=root --label GRUB --hint hdX,msdosY
          linux /path/to/vmlinuz #likely in /boot/
          initrd /path/to/initrd #also likely in /boot/
}

Además, tal vez tengas más control sobre el orden de arranque de lo que crees: efibootmgr(documentos) se puede utilizar para modificar los dispositivos de arranque manualmente.

Alternativamente, puede reiniciar e ingresar la línea de comando de GRUB manualmente (con c) e iniciar su instalador desde allí (aunque esto es una tarea única). Instrucciones sobre cómo hacer eso.aquí

[1]https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config

información relacionada