inicializa o sda1 existente do USB

3

Eu posso inicializar manualmente a minha única instalação do Ubuntu 10.10 a partir do meu dispositivo USB, digitando os seguintes comandos:

set root=(hda0)
linux /vmlinux root=/dev/sda1 ro
initrd /initrd.img
boot

O que eu estava esperando é que o USB faça isso por mim. Não é necessário digitar ...?

Eu segui as instruções desses URLs (a maioria não funcionou)

grub em um bastão de resgate USB inicializável

Como instalar o GRUB 2 na unidade USB / pendrive

GRUB2 e pen drives USB

Como recuperar o GRUB2 Linux

e algumas pesquisas bastante extensas aqui. Há 10 páginas a 50 por página. Eu fiz o que pude e agora me volto para os especialistas.

Resumo das etapas usadas para fazer a inicialização do USB no grub2, até o momento ...

mkdir -p /media/GRUB2_RESCU/boot/grub
sudo cp /usr/lib/grub/i386-pc/* /media/GRUB2_RESCU/boot/grub
echo '(hd0) /dev/sda' > /media/GRUB2_RESCU/boot/grubdevice.map
sudo grub-install --root-directory=/media /dev/sdb
sudo grub-mkconfig -o /media/GRUB2_RESCU/boot/grub/grub.cfg

Obrigado pelo seu tempo.

    
por Habitual 01.12.2010 / 05:28

1 resposta

5

As etapas que você deu estão próximas de funcionar, mas deixe-me comentar sobre cada etapa.

mkdir -p /media/GRUB2_RESCU/boot/grub

Isso está completamente correto.

sudo cp /usr/lib/grub/i386-pc/* /media/GRUB2_RESCU/boot/grub

Isso não é necessário, mas não deve doer nada (o grub-install faz isso automaticamente)

echo '(hd0) /dev/sda' > /media/GRUB2_RESCU/boot/grubdevice.map

Isso também não é necessário, e também não deve machucar nada. O GRUB2 na maioria das vezes não precisa mais de um device.map.

sudo grub-install --root-directory=/media /dev/sdb

Eu não sei se isso foi apenas um erro de digitação quando você estava escrevendo sua pergunta ou se este é realmente o comando que você executou, mas deve ser "--root-directory / media / GRUB2_RESCU /". Caso contrário, o grub instalará seus módulos e procurará pelo grub.cfg, em / media / boot / grub (que não está na unidade flash) em vez de / media / GRUB2_RESCU / boot / grub /. Isso poderia explicar por que o que você tentou não funcionou.

sudo grub-mkconfig -o /media/GRUB2_RESCU/boot/grub/grub.cfg

Isso deve funcionar, mas você terá que executar o grub-mkconfig manualmente toda vez que houver uma atualização do kernel para obter um menu atualizado. Em vez disso, eu recomendaria escrever um manual grub.cfg que apenas carrega o grub.cfg da sua unidade interna, assim:

root=(hd0,1)
configfile /boot/grub/grub.cfg

Para ter certeza de que isso funciona mesmo quando as unidades são movidas, substitua

root=(hd0,1)

com

search --set --fs-uuid UUID_GOES_HERE

Você pode encontrar o UUID com este comando de terminal:

sudo grub-probe --target=fs_uuid --device /dev/sda1
    
por Jordan Uggla 01.12.2010 / 11:11

Tags