A solução foi apenas colocar o carregador do GRUB (MBR?) na unidade correta. Neste caso, o que carregou no Linux como / dev / sdc e (hd2) carregado no GRUB como (hd0).
Eu acho que já estou exausto do que sei fazer, então estou enviando os foguetes. Vou tentar cobrir tudo (embora em pedaços), então, por favor, seja paciente.
Eu decidi instalar o Linux Mint 11 onde anteriormente eu tinha o Ubuntu 10.10. Antes dessa instalação, eu tinha uma partição com o Windows XP, que - em algum momento no passado distante - eu costumava inicializar duas vezes. Eu removi a partição nesta instalação.
Após a instalação, o sistema não inicializa. Após a verificação de um CD / DVD, imprime:
error: no such device: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
GRUB rescue>
Não houve problemas ao inicializar o Ubuntu. Eu me lembro de um problema semelhante da última vez que fiz uma instalação (em vez de uma atualização) para o Ubuntu. Já faz um tempo, mas achei que consertei usando FIXMBR
e / ou FIXBOOT
do CD do XP. Aqueles não funcionaram desta vez.
O prompt GRUB rescue>
parece estar quebrado. Mesmo help
não funciona. Eu sou capaz de ls
, que produz:
GRUB rescue> ls
(hd0) (hd0,msdos1) (hd1) (hd1,msdos1) (hd2) (hd2,msdos5) (hd2,msdos3) (hd2,msdos2) (hd2,msdos1)
Além disso, não sei o que é este dispositivo. Não consigo encontrar um UUID correspondente em /dev/disk/by-uuid
. Para esse assunto, não há UUIDs para o meu disco rígido de inicialização (sda, abaixo). Minha configuração é um Frankenbox. Eu sei não confiar na enumeração de dispositivos em tal combinação, mas eles são fornecidos abaixo para fácil discussão.
Eu achei que tinha acertado o ouro quando descobri alguns metadados RAID remanescentes (e confusos) em sda. A unidade não tinha aparecido na instalação do Linux antes, mas depois de usar dmraid -r -E /dev/sda
. No entanto, a falha de inicialização persistiu.
Até agora, eu poderia usar o CD de instalação do Mint para "Boot from Local Drive", o que de fato me levaria à minha instalação no sdb1. Depois de usar o CD para inicializar a unidade e executar o seguinte, agravou o problema de fornecer um prompt GRUB>
em vez de inicializar na unidade.
# GRUB-install --no-floppy /dev/sdb1
# update-GRUB
GRUB> find /boot/GRUB/stage1
GRUB> root (hd1,0) # result of above
GRUB> setup (hd0)
Há definitivamente uma incompatibilidade, porque o sdb, que tem 3 partições, parece ser (hd2)
no prompt GRUB rescue>
, mas (hd1)
quando realmente inicializado. No entanto, se eu usei UUIDs (e acho que tenho), isso não deve ser um problema. Usando o live CD, vejo sdb1: /boot/GRUB/menu.list para conter
# kopt=root=UUID=[UUID of sdb1]
...
# groot=[UUID of sdb1]
O problema raiz, pelo que entendi, é que o GRUB é, por algum motivo, eu não entendo, tentando inicializar um dispositivo que não existe. Eu não sei como determinar o que está procurando pelo UUID. Eu não vejo nenhum UUID para qualquer coisa em sda.
E agora, nem consigo inicializar a unidade usando o CD.
Atualização:
Eu pensei em colocar a partição /boot
na mesma unidade que o MBR pode ajudar, então eu adicionei sda2, configurei o sinal boot
e reinstalei (o que provavelmente é um exagero).
Novamente recebo o prompt grub rescue>
, mas agora, quando eu ls
, obtenho
grub rescue> ls
(hd0) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1) (hd2) (hd2,msdos3) (hd2,msdos2) (hd2,msdos1)
Portanto, sda não é mais (hd0) neste prompt do que sdb é (hd1). Eu não sei porque é tão desalinhado, nem porque é importante. Eu posso tentar novamente, colocando /boot
em sdc / (hd0).
Recebi o mesmo erro devido a um UUID mal marcado no bootloader e Esse cara teve a resposta para mim junto com estes comandos disponíveis no modo de recuperação do grub.
Primeiramente, você precisa identificar a unidade e a partição que tem os arquivos de menu do grub normalmente localizados em / boot / grub
ls [to identify your drive and partition options]
ls (hdx,p)/ [to identify which partition has the /boot folder]
Em seguida, você pode carregar o menu de inicialização manualmente a partir da unidade e da partição encontradas acima.
set prefix="(hdx,p)/boot/grub"
set root="(hdx,p)"
insmod normal
normal
No meu caso, eu modifiquei o UUID da nossa unidade de inicialização manualmente e propositalmente, atualizei o menu grub e fstab, mas esqueci de carregar um novo gerenciador de inicialização para atualizar o UUID e / ou dirigir no bootloader. Então, as unidades não estavam na ordem esperada no grub e o acima mencionado cuidava de tudo; ele pegou o menu de volta para que eu pudesse voltar e atualizar o bootloader com as novas informações do UUID
Use o utilitário Boot-Repair-Disk . Funcionou muito bem para mim.
Tags boot grub2 partitioning linux