Como substituir o sistema operacional Linux por dentro de si

Como substituir o sistema operacional Linux por dentro de si

Estou usando um servidor Nebula de onde só é possível instalar o Ubuntu 16.04 com o kernel 4.4.0-210-generic.

Desejo instalar uma versão mais recente do Linux na minha instância.

Virtualização

Tentei criar uma máquina virtual no Ubuntu (com libvirt), mas recebo a mensagem:

ERROR Host does not support any virtualization options

No entanto, quando verifico, lscpurecebo:

Virtualisation:        VT-x

Usando o grub e outro disco com ISO instalável

Então pensei que poderia tentar substituir todo o sistema operacional manualmente por dentro dele.

Tenho o poder de criar novas unidades para a instância.

Então adicionei uma unidade de 16 GB

$ 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 /

e fiz dele um disco Ubuntu com

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

No entanto, não tenho o poder de alterar a unidade de inicialização.

  • Minha unidade "antiga" do sistema operacional tem o ID 0
  • minha nova unidade ISO do Ubuntu tem o id 2

a configuração do Nebula está codificada para inicializar a partir do id 0 e não posso alterá-la.

Verifiquei meu sistema no /bootdiretório e descobri que o sistema de inicialização é GRUB.

Então eu verifiquei a versão

grub-install --version

E parece ser o Grub2

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

Eu queria saber se é possível dizer ao grub para inicializar no meu disco ubuntu20.04 e depois instalar no disco com id0 chamado vda?

Substituir o sistema operacional simplesmente substituindo arquivos no sistema.

Se não for possível executar um instalador, então estava pensando em apenas substituir o kernel e todos os arquivos do sistema operacional manualmente. No entanto, tenho certeza de que o sistema irá travar se eu substituir os arquivos do sistema que estou usando atualmente - mas talvez haja uma maneira de fazer isso na ordem correta.

Responder1

Atualizar o Ubuntu de uma versão para uma mais recente é possível na linha de comando

As principais tarefas são sudo apt install update-manager-coreinstalar o atualizador. Então sudo do-release-upgrade.

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

Responder2

Caso você não consiga atualizar sua instalação do Ubuntu, como sugere outra resposta, você pode apontar o GRUB para seu disco de instalação, pegando seu identificador de disco (na forma de (hdX, msdosY)ou (hdX,gptY)e criando manualmente uma entrada de menu em /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/
}

Além disso, talvez você tenha mais controle sobre a ordem de inicialização do que imagina: efibootmgr(documentos) pode ser usado para alterar dispositivos de inicialização manualmente.

Como alternativa, você pode reinicializar e inserir a linha de comando do GRUB manualmente (com c) e inicializar o instalador a partir daí (embora esta seja uma tarefa única). Instruções sobre como fazer issoaqui

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

informação relacionada