Não é possível usar VM clonada, OpenSUSE, VirtualBox

Não é possível usar VM clonada, OpenSUSE, VirtualBox

Clonei uma VM e agora, ao inicializá-la, vejo uma mensagem:

Trying manual resume from /dev/sda1
Invoking userspace resume from /dev/sda1
resume: libgcrypt version: 1.5.0
Trying manual resume from /dev/sda1
invoking in-kernel resume from /dev/sda1
Waiting for device /dev/disk/by-id/ata-VBOX_HARDDISK_.....-part2 to appear: ...
Could not find /dev/disk/...-part2
Want me to fall back to /dev/disk/...-part2 (Y/n)

Se eu pressionar 'Y', ele tenta inicializar novamente com falha e sai para/bin/sh. Se eu pressionar 'n' ele sai para /bin/sh imediatamente.

Eu li uma solução aqui:http://diggerpage.blogspot.com/2011/11/cannot-boot-opensuse-12-after-cloning.htmlmas não entendo como acessar arquivos no disco para editar /etc/fstabe /boot/grub/menu.lst?

Responder1

Consegui fazer meu sistema inicializar fazendo o seguinte:

1) Anote os dispositivos que o sistema não consegue encontrar.

2) Responda "n" a essa pergunta. Deve levá-lo a um prompt de comando.

3) Execute este comando:cd /dev/disk/by-id

4) Execute este comando:ls

5) Renomeie todos os arquivos nesta pasta substituindo o nome atual pelo nome do dispositivo que você anotou na etapa 1. Ex.mv ata-VBOX_OLDNAME....-part2 ata-VBOX_HARDDISK....-part2

6) Depois de concluir isso, digite este comando:exit

7) O sistema deve inicializar normalmente.

Ainda estou pensando em como isso acontece com o OpenSUSE 11.4.

Responder2

Esse problema é causado porque o SUSE, por padrão, configura o Grub para localizar discos por nome, e não por rótulo ou caminho. Ao criar uma VM a partir de um dispositivo, o VirtualBox cria um novo disco com um novo nome e o Grub não consegue encontrar o disco de inicialização. Eu consegui consertar issopermanentementepor:

  1. Adicione o disco como unidade secundária a outra máquina que possa montar o sistema de arquivos. Montei o meu em /media/hd2.

  2. Edite /media/hd2/boot/grub/device.map e substitua o caminho do nome para o disco rígido /dev/disk/by-name/ata-VBOX....pelo caminho do caminho path /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0.

  3. Edite /media/hd2/boot/grub/menu.lst e substitua os caminhos por nome pelos caminhos por caminho. Para o meu, acabei substituindo todos os caminhos da parte 1 por /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1e os caminhos da parte 2 por /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2.

Os caminhos que usei especificam o primeiro disco rígido. Se quiser inicializar a partir de um disco rígido diferente (ou de um tipo de disco diferente), você precisará descobrir como o SUSE mapeia o caminho. Descobri que o SUSE montará um segundo disco rígido como arquivo pci-0000:00:0d.0-scsi-1:0:0:0.

Especificar o caminho do disco rígido pode não ser ideal em alguns casos, mas funcionou perfeitamente para a solução rápida que eu procurava.

Responder3

Recebi esse erro e resolvi substituindo o ID antigo do disco pelo novo em etc/fstab e em boot/grub/menu.lst

  1. Clique em 'e' na pergunta alternativa.
  2. Obtenha um novo ID executandohdparm -i /dev/sda
  3. Renomeie todos os discos conforme expresso na solução aceita e inicialize seu convidado.
  4. Abra o terminal como root vi etc/fstabe substitua o ID antigo pelo novo onde quer que ele apareça. Salvar e fechar.
  5. vi boot/grub/menu.lste substitua o ID antigo pelo novo onde quer que apareça. Salvar e fechar.
  6. Reinício.

A solução aceita funciona apenas uma vez, embora esta seja umacorreção permanente. Espero que ajude!

Responder4

Resolvi esse problema com uma mistura das outras soluções.

Apenas para inicializaro sistema eu fiz isso:

  • quando você receber a mensagem de erro de inicialização relatada, anote o ID da partição solicitado pelo procedimento de inicialização (digamos ID1) e digiten
  • cd /dev/disks
  • ls -lpara ver quais são os IDs atuais nos nomes dos links para os discos e partições (digamos ID2)
  • crie uma cópia de cada link aqui renomeando a cópia com o id solicitado acima:

    mv ID2 ID1
    mv ID2-part1 ID1-part1
    ...
    

    por exemplo

    mv scsi-12345676890abcdefgh0987654321 scsi-0987654321hgfedcba1234567890
    mv scsi-12345676890abcdefgh0987654321-part1 scsi-0987654321hgfedcba1234567890-part1
    ...
    
  • exit

O sistema será inicializado.

Agora você pode alterar a configuraçãocom certeza não encontrarei esse problema novamente:

  • abra um terminal e entre em uma sessão root comsudo su
  • vi /etc/fstab
  • substitua todas as referências a discos e partições por id( /dev/disks/by-id/...) por uma referência a /dev/...(por exemplo /dev/sda, /dev/sda1...)
  • vi /boot/grub/menu.lst
  • faça o mesmo neste arquivo

informação relacionada