Como obtenho um pen drive USB para inicializar com o grub2?

1

Eu tenho o grub2 instalado em uma unidade flash USB.
Juntamente com uma instalação mínima do servidor Ubuntu 10.04 LTS.

Isso foi criado usando o utilitário debootstrap.

No entanto, agora estou tentando fazer com que ele seja inicializado e tenha problemas para fazer isso.

O pen drive tem uma única partição primária ext2 e eu copiei o bootloader nele junto com os módulos kernel e kernel que eu preciso e os scripts grub.d.

Eu achei que, como esse é um pen drive, eu provavelmente deveria usar o nome do uuid em vez dos nomes dos dispositivos.

De qualquer forma, quando ele tenta inicializar o grub2 está jogando de volta para o prompt de resgate com este erro.

error: no such device: 792f......aaee3

Então eu executei o comando ls assim:

grub rescue> ls
(hd0) (hd0,msdos1)

Isso é confuso. é o grub2 assumindo que a primeira partição é msdos e não ext2? poderia ser por isso que não está começando? Lembro-me de ver em algum lugar que alguns bios tratam as unidades de disquete como unidades de disquete e fazem a primeira partição msdos? é isso que está acontecendo aqui?

EDITAR :

Curiosamente, o disco de inicialização do Ubuntu produziu exatamente o mesmo erro. No entanto, eu não estou 100% sobre isso porque quando eu corri, ele não conseguiu instalar o bootloader. Então eu instalei manualmente com o comando "grub-install / dev / sdb"

Update1 :

Descobri isso porque criei o grub.cfg em outro sistema que tinha hd1 em todas as entradas. Então eu mudei para hd0.

Agora notei que posso executar esses comandos no prompt de resgate.

ls (hda, 1) /

Eu decidi tentar

insmod normal normal

E, com certeza, surgiu o menu e eu consegui selecionar um item de menu e inicializar o linux.

Agora, como corrijo o erro "não há esse dispositivo". O uuid de / dev / sda1 é definitivamente o que é.

Update2 :

Ok, isso é realmente estranho. Eu puxei o pen drive para fora e liguei de volta no meu outro computador. blkid está dizendo o seguinte:

/dev/sdb1: LABEL="Transcend" UUID="597D-50B2" TYPE="vfat" 
/dev/sda5: UUID="0c81f24b-edeb-4be9-9859-074f3783e618" TYPE="swap" 

Primeiramente, o / dev / sda1 não está aparecendo. Isso poderia ser algo relacionado ao fato de estar no LVM?

Em segundo lugar, o UUID para sdb1 my trance pendente é curto? e é diferente do que era antes. Como isso aconteceu? Os UUIDs são gerados uma vez quando o sistema de arquivos é criado ou são novamente gerados algumas vezes por alguns utilitários que eu possa ter executado?

Update3: O UUID voltou ao normal assim que desmontei o disco e o remontei. Talvez seja um bug no Kubuntu 11.10 (minha máquina desktop).

    
por Matt H 07.03.2012 / 21:14

2 respostas

2

Corrigido.

Caso alguém esteja se perguntando. Foi isso que fiz para funcionar.

A unidade de polegar aparece como / dev / sdb

Execute estes comandos

sudo mount /dev/sdb1 /mnt
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/$i;  done
sudo chroot /mnt
grub-install /dev/sdb
update-grub

Em seguida, edite o /boot/grub/grub.cfg Mudou todas as linhas que dizem (hd1,1) para (hd0,1)

Em seguida, execute ...

exit
for i in /dev/pts /dev /proc /sys; do sudo umount /mnt/$i ; done

Próxima.

  1. Item da lista
  2. Desligue totalmente o servidor.
  3. Puxe os cabos de energia para fora. Espere 10s.
  4. Conecte a energia novamente.
  5. Insira o pen drive e ligue-o.
  6. O Linux agora é inicializado totalmente a partir do pen drive.

Parece que houve dois problemas. Eles tinham a ver com o dispositivo errado referenciado no grub.cfg (ou seja, hd1 deveria ser hd0).

Em segundo lugar, um bug no servidor bios. Ele se referia a um uuid para um sistema de arquivos em um pen drive diferente com o qual eu estaria jogando anteriormente. A reinicialização a quente parecia manter a energia lá. Uma bota fria consertou isso.

    
por Matt H 08.03.2012 / 09:07
1

Erro semelhante, minha culpa foi que depois de criar o sistema de arquivos, não reli novamente a tabela de partições pelo kernel.

Solucione a reinicialização / releia a tabela de partições e faça:

gera a configuração novamente

grub-mkconfig > /boot/grub/grub.cfg

reinstale com a nova configuração

grub-install
    
por putty 28.08.2012 / 19:51