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