Não é possível inicializar após o disco rígido do vhd ser redimensionado no VirtualBox

14

No Windows 7, configuro outra VM do Windows 7 no VirtualBox. Funcionou muito bem. Então, eu precisava aumentar o tamanho do HD vhd. Então, eu usei o utilitário VBoxManage para fazer isso com o seguinte comentário:

VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000

Depois, tentei executar a VM novamente, mas ela não pode ser inicializada e me ocorreu o seguinte erro:

FATAL: No bootable medium found! System halted.

Depois, tentei ver o que está acontecendo dentro do VHD e tente anexá-lo dentro do Gerenciamento de dispositivos e ele diz Não pode ser anexado porque O arquivo ou diretório está corrompido e ilegível .

Alguma ideia do que deu errado aqui e como posso salvar minha VM dentro desse arquivo VHD?

    
por tugberk 09.05.2012 / 19:09

7 respostas

11

Infelizmente, a documentação do VirtualBox para a opção VBoxManage --resize é enganosa. Você não pode apenas aumentar o tamanho da imagem do disco e fazer tudo funcionar corretamente. As informações da partição do disco na imagem precisam ser ajustadas para que o sistema operacional convidado conheça o layout da "unidade" que a imagem do disco está simulando. Você realiza esse ajuste fazendo o download de uma imagem de CD inicializável que possui um editor de partições e inicializa a VM nesse CD. Você então usa o editor de partições para ajustar as partições da imagem de disco para usar o espaço adicionado.

Existe uma boa descrição do procedimento aqui ; basta pular para o passo 4.

    
por 09.05.2012 / 19:39
6

Eu tive o mesmo problema

  1. crie um novo VHD com o tamanho desejado
  2. Use o clonhd para copiar do antigo vhd para o novo vhd

Referência: link

    
por 05.11.2012 / 08:20
1

Eu tive o mesmo problema e consegui recuperar os dados usando o GParted LiveCD

  1. Crie um novo VHD para receber os dados copiados (criar partições e formato)
  2. Faça o download do LiveCD do GParted e inicialize no VirtualBox
  3. Selecionar dispositivo - > Tentativa de recuperação de dados
  4. Clique em OK e, após a verificação, clique em Exibir (isso montará / tmp / gparted-roview-XXXXXX)
  5. No terminal, monte o segundo VHD (sudo mount / dev / sdb1 / mnt)
  6. Copie os arquivos (sudo cp -R / tmp / gparted-roview-XXXXXX / * / mnt

Depois disso, você pode desligar a Máquina Virtual e montar o VHD no Gerenciador de Dispositivos do Windows.

    
por 30.07.2013 / 19:55
1

Aqui eles explicam o problema (em espanhol)

Resumo:

a. "vboxmanage modifyhd (resize)" gera erro em muitos sistemas (versões Windows NT5, 9x, Server e x86). O resultado é uma partição corrompida, muito difícil de recuperar

b. Você precisa executar "vboxmanage modifyhd (redimensionar)" (para redimensionar a VDI) no caminho que contém todos os arquivos e pastas associados à VDI. Olha a imagem

Recomendação:

Substitua"vboxmanage modifyhd" por "vboxmanage clonehd"

  1. Crie um novo disco virtual VDI (com o tamanho que você deseja expandir). Exemplo: Old.vdi tinha 50GB. New.vdi criá-lo com 100GB

    VBoxManage createhd - nome do arquivo /path/New.vdi --size 100000

  2. Clone-o com o seguinte comando:

    vboxmanage clonehd /path/Old.vdi /path/New.vdi --existindo

Observação : Ambas as VDI não devem estar no mesmo caminho

  1. Execute New.vdi e vá para o Gerenciamento do Computador Windows e Estenda o espaço em disco (atribua o espaço vazio). Se você não quiser fazer isso manualmente, você pode usar qualquer aplicativo de particionamento gratuito, como o Padrão do Assistente de Partição AOMEI , GParted e muitos outros.
por 12.11.2016 / 17:20
0

Vale a pena notar que recebi exatamente o mesmo problema, que foi devido ao fato de ter emitido o comando modifyhd enquanto o convidado estava sendo executado. A documentação oficial não diz nada, que você tem que apagar os instantâneos primeiro e que o convidado deveria ter sido parado.

Meu plano era redimensionar o disco enquanto a máquina estava rodando, porque eu tenho um volume dinâmico que também poderia ser aumentado na hora. No entanto, essa foi uma péssima ideia, pois reiniciei a máquina para obter o tamanho total do disco em que fiquei no escuro com uma imagem corrompida, que não consegui restaurar nem mesmo com o testdisk. O Testdisk encontra as partições, mas o sistema de arquivos está muito danificado e não pode ser reparado.

Então, esteja avisado:

  1. Mesclar todos os instantâneos na imagem de base
  2. Encerrar o sistema operacional convidado

Eu repeti o procedimento na minha máquina com uma imagem de backup e o sistema de convidados sendo desligado, isso funciona bem.

    
por 16.06.2013 / 18:25
0

Consegui recuperar uma imagem que foi quebrada por esse bug. Ao contrário de Edison, a imagem ao vivo gparted não encontrou nada. Aqui está o que eu fiz:

  • Primeiro, como aparentemente o suporte VBox para VHD é problemático e terrível, comece convertendo o VHD para um VDI com VBoxManage clonehd foo.vhd --format vdi foo.vdi . Quando eu pulei este passo, eu poderia recuperar arquivos da imagem, mas iria "quebrar" novamente depois de algumas reinicializações. Eu estou supondo que o bug realmente estraga o arquivo VHD de uma forma que depois I / O "re-breaks" ele ... VBox não parece ter esses problemas com VDI, então eu desisti de VHD.

  • Inicialize no WinPE, o ambiente de pré-instalação do Windows. Como fazer isso poderia ser um artigo em si mesmo. Se você não estiver familiarizado com isso, aqui está um atalho: Inicialize a partir de um DVD de Instalação do Windows (Vista ou superior) e pressione shift-F10 quando a GUI aparecer, ele fornecerá um prompt de comando.

  • Faça o download do testdisk , encontre uma maneira de colocá-lo na sua imagem do WinPE (ou um simples pen drive faria trabalho) e executá-lo no ambiente WinPE. (Observação: o WinPE não possui o WOW64, a camada de compatibilidade de 32 bits para aplicativos de 32 bits. Portanto, minha configuração do WinPE de 64 bits precisou do binário do disco de teste de 64 bits.)

  • O Testdisk encontrou as partições e restaurou-as.

  • Neste ponto, os arquivos foram recuperados, mas o bootloader falhou por vários problemas. Primeiro usei diskpart para marcar a partição como ativa ( list disk , sel disk <disk number> , sel par 0 , active ). Mais além, não inicializaria. Voltou para o WinPE e excluiu \boot , depois executou bcdboot C:\windows /s C: para reinstalar o carregador de inicialização.

  • No final, corri chkdisk /R para ter certeza de que a imagem estava ok. Demorou algumas horas, não encontrou nenhum problema.

por 23.09.2014 / 18:35
-1

Eu tive o mesmo problema, o GParted não reconheceu as partições, e foi mostrado como espaço não alocado. Neste ponto, entendi que os dados poderiam ter sido perdidos.

Depois lembrei-me de usar o testdisk para procurar partições perdidas em discos rígidos, então por que não experimentá-lo em discos virtuais? e funcionou.

  1. Inicialize a partir do GParted, no momento de escrever esta resposta, o GParted tinha "testdisk" dentro dele. Basta executar o terminal, execute "sudo testdisk / dev / sda" ou o que ele mostra no seu computador. Execute "sudo fdisk -l" para mostrar todos os discos.
  2. Analise a Tabela de Partições, ela descobrirá a partição imediatamente, já que ainda está nos primeiros setores. Escreva uma nova partição, tabela e, em seguida, continue com o GParted para continuar a recuperação, conforme as instruções neste link: link
  3. Da próxima vez que você quiser fazer isso, faça uma cópia do seu VDISK primeiro.
  4. Notei no link abaixo que eles criam um novo VHD e depois clonam com --existindo: link Eu não tentei ainda, mas eu recuperei meu disco com as instruções acima.

Espero que isso ajude alguém.

    
por 25.01.2017 / 00:04