As máquinas virtuais do Virtualbox não inicializam após a clonagem

1

Estou executando o Ubuntu Trusty usando a versão atual do VirtualBox do repositório da Oracle (com as extensões, se isso for importante).

Quando eu crio um convidado do Debian Wheezy usando o modo UEFI, a instalação funciona bem e a primeira inicialização é bem-sucedida após a instalação. Eu então desliguei através do comando "poweroff", clonei a VM usando o VirtualBox GUI.

Após este ponto, as máquinas não inicializarão, nem o original nem o clone. Quando eu os energizo, recebo o shell do EFI do VirtualBox em vez do GRUB.

As partições EFI necessárias estão certamente presentes (a máquina inicializará pelo menos uma vez), então sei que isso não é um problema, o que também elimina problemas como "O GRUB não está sendo instalado".

Eu gostaria que essas máquinas fossem inicializáveis, mas estou mais curioso para saber por que clonar uma VM no modo UEFI impede que a máquina original inicialize. Eu poderia ver os UUIDs de disco mudando afetando um clone, mas estou perplexo sobre por que a máquina original também não inicializa.

    
por K. Darien Freeheart 24.04.2014 / 17:39

1 resposta

2

Não é a clonagem que está causando os problemas; está desligando a máquina virtual. Infelizmente, as alterações feitas pelo utilitário efibootmgr do Linux no guest não sobrevivem muito tempo no VirtualBox. Como essas alterações são necessárias para inicializar, o resultado é que, uma vez que o VirtualBox as esquecer, você não poderá inicializar mais. Existem duas grandes classes de solução para este problema:

  • Você pode renomear seu gerenciador de inicialização ou carregador de boot para EFI/BOOT/bootx64.efi . Isso é feito para arquivos na partição do sistema EFI (ESP) da máquina virtual , que geralmente é /dev/sda1 . Para uma instalação padrão do Ubuntu, você renomeia EFI/ubuntu para EFI/BOOT e renomeia grubx64.efi para bootx64.efi para fazer isso funcionar.
  • Você pode usar outra ferramenta para ajustar as configurações da NVRAM virtual. A interface do usuário do VirtualBox EFI tem uma maneira de fazer isso, mas as etapas são bastante complicadas. Você também pode usar o bcfg command em um shell EFI. Em ambos os casos, você deve criar uma entrada para o gerenciador de inicialização / gerenciador de sua escolha, como o binário EFI/ubuntu/grubx64.efi que o instalador do Ubuntu colocou no disco rígido.
por Rod Smith 25.04.2014 / 01:01