(Virtual HDDs / VirtualBox) Eu estraguei o / dev / sdX da minha unidade virtual do Linux; como faço para corrigir isso?

1

Estou tendo um pouco de dificuldade para portar minha partição física do Linux para um VDI para executá-la no VirtualBox. Primeiro de tudo, o Linux Mint Petra estava no mesmo disco rígido do meu Windows 7 e eu era capaz de dual-boot bem. Mas então eu queria portar a partição Linux para uma unidade virtual.

Eu tentei redimensioná-lo usando o EaseUS antes de portar, o que é provavelmente o que mexeu com algumas configurações, eu suspeito. No entanto, realizei com sucesso um backup da partição usando EaseUS (arquivo PBD); converteu-o em um arquivo VHD e, finalmente, converteu o arquivo VHD em VDI.

Agora, quando tento iniciar a partir do VDI / VHD, recebo um erro: Missing operating system. FATAL: INT18: BOOT FAILURE .

Quando inicializo do ISO do Linux, vejo isso na seção de partição:

Como você pode ver, existem dois dispositivos: sda1 e sda5; o último parece estar se sobrepondo ao primeiro, o que não deveria ser o caso. Eu posso confirmar que / dev / sda5 foi a partição física correta quando dual-boot.

Eu tentei consertar coisas usando o Boot Repair Disk, mas sem sucesso.

Como posso garantir que o VirtualBox localize com sucesso o dispositivo / partição do SO e corrija a sobreposição de / dev / sdXY?

Felicidades

    
por user3758800 20.06.2014 / 12:55

1 resposta

1

Ok, então descobri com a ajuda de um amigo. Na época do meu problema, eu tinha a partição física em um arquivo VDI de 50gig, que não estava inicializando devido ao erro mencionado no OP. O espaço usado na unidade era de 20gig, que incluía minha instalação do Linux + meus arquivos. Consegui não apenas inicializar novamente, mas redimensionar a partição de 50gig para 20gig em uma nova unidade VDI alocada dinamicamente.

Para consertar, criei uma nova VM (vamos chamá-la de hurrdurr) com drive dinamicamente alocado de tamanho máximo de 35gig e continuei carregando o Linux Mint do ISO de instalação. Eu carreguei o Gparted usando superusuário ( sudo gparted ) e continuei a fazer o seguinte:

  • Criada uma partição ext2 de 512 MB com o rótulo "boot"
  • Criada uma partição swap de 8192MB com o rótulo "hurrswap"
  • Criada a partição 28gig ext4 usando o restante do espaço com o rótulo "derp"

Depois, instalei o Linux Mint no drive virtual. Quando se pergunta o que você quer fazer, por exemplo, Apagar disco e instalar o Mint / Ubuntu (isso limpará a unidade) / instalar ao lado / Outra coisa, escolha outra coisa. Ele carregará uma seção no estilo Gparted onde você poderá ver as partições do seu disco. Cliquei duas vezes na partição "boot", marquei a caixa Format e verifiquei se o ponto de montagem era / boot . Então para a área de swap eu deixei do jeito que estava (note, eu escolhi ter uma área de swap de 8gig porque eu tenho 8gig de ram nessa máquina e geralmente é bom ter o tamanho de swap equivalente ao seu ram instalado) e Na minha partição ext4, verifiquei se a caixa de formatação estava marcada e se o ponto de montagem era "/" .

Eu instalei o Mint e isso efetivamente configurou o boot e o GRUB e tudo para mim. Agora era hora de sobrescrever a nova instalação com a antiga, porque assim o GRUB saberá onde procurar! Então, agora, em uma VM separada, configurei o VirtualBox para usar as duas unidades virtuais; a grande partição de 50gig e a nova instalação dinamicamente alocada. Eu fiz isso indo em Configurações - > Armazenamento - > Controlador - IDE - > Adicionar disco rígido. Isso me permitiu selecionar os dois outros arquivos VDI. Então eu iniciei esta instalação separada.

Usando sudo fdisk -l eu poderia dizer quais / dev / sdWX e / dev / sdYZ carregar para montar a partição "derp" e a partição que eu queria copiar, respectivamente. Eu usei sudo mount /dev/sda5 /mnt/drv1 (eu mkdir'd o drv1 befhorehand) e sudo mount /dev/sdb3 /mnt/drv2 (a partição "derp"). Agora, aqui você pode copiar as coisas de duas maneiras: Uma é com dd , que clona completamente sua partição com espaço vazio. Mas eu usei o simples comando de cópia cp para transferir meus dados desejados + Linux da partição de 50gig. O comando que usei foi sudo cp -a /mnt/drv1/* /mnt/drv2/ o -a é dizer ao cp para transferir todos os arquivos com todos os atributos intactos. Uma vez que a transferência foi feita, eu acabei de inicializar na minha VM hurrdurr e voila - o GRUB inicializou com sucesso a partir daquela partição que eu queria recuperar! Não apenas isso, mas porque é uma unidade dinâmica, também é apenas 20gig.

Então, em essência (tl; dr, se eu puder):

  • Crie uma nova VM com partições atribuídas corretamente
  • Instale o sistema operacional que estava na unidade danificada
  • Inicialize uma VM que tenha acesso à unidade virtual danificada e à nova instalação nova
  • Monte as partições danificadas e novas
  • sudo cp -a os arquivos para a nova instalação
  • Feito.

Espero que isso ajude alguém como eu por aí.

Felicidades

    
por 22.06.2014 / 07:34