Por que a enumeração da unidade GRUB é diferente antes e depois da inicialização?

2

Eu estou olhando para um sistema com Debian / Lenny em algumas unidades IDE PATA antigas (várias partições RAID-1 incluindo / boot) e uma unidade SATA adicionada recentemente. O sistema funciona bem, mas andei pesquisando a configuração do GRUB antes de atualizar as unidades antigas ...

Se eu for direto para a linha de comando do grub quando o menu de inicialização aparecer e inspecionar as unidades lá (usando

grub> root (<TAB>...)

) então eu vejo hd0 e hd1 como os PATAs e hd2 como o SATA.

No entanto, depois que o sistema inicializar, se eu fizer a mesma coisa, então eu vejo que hd0 é agora o SATA e hd1 e hd2 são os PATAs. (Além disso, o sistema mapeia / dev / sda, c, b para SATA, PATA, PATA.)

Isso me deixa um pouco nervoso em fazer alterações no prompt grub> depois que a máquina inicializa. Então:

Por que a ordem do dispositivo vista pelo grub muda entre esses dois casos?

Além disso:

O funcionamento correto de alguns comandos do GRUB parece depender de o device.map estar correto. Atualmente, contém uma única linha:

(hd0)   /dev/md0

(que é o RAID1 / boot), mas não tenho idéia de onde isso veio (esse sistema volta para o woody, eu acho)! grub-mkdevicemap quer regenerar isso como hd[0,1,2]->sd[a,b,c] (mas eu não deixei). update-grub me diz: warning: grub-probe can't find drive for /dev/sdb1 . Alguma sugestão sobre como deve ser um device.map saudável, à luz da mudança na ordem de enumeração? (Não está claro para mim se deve conter a ordem de enumeração de dispositivo anterior ou posterior).

    
por timday 07.11.2009 / 16:38

3 respostas

2

A ordem das unidades de pré-inicialização parecia corresponder à ordem no menu de inicialização do BIOS. Fazer mudanças lá não teve nenhum efeito sobre a ordem pós-inicialização, então eu apenas mudei para ser o mesmo que a ordem pós-inicialização, e um novo devices.map gerado pós-inicialização agora contém algum conteúdo que é válido pré-inicialização também .

Obtive o resultado desejado: sinto-me muito mais à vontade em brincar com os shells pré-inicialização ou pós-inicialização, e sei para onde vai um >grub setup (hd1) (hd1,0) realmente .

    
por 08.11.2009 / 19:17
1

Edite seu arquivo /boot/grub/device.map para refletir o mapeamento do tempo de inicialização, e deve ser perfeitamente seguro usar a linha de comando grub utility.

    
por 08.11.2009 / 05:12
0

talvez no momento da inicialização, seu grub faz um mapeamento de unidade:

procure aqui

Não sei como isso é real, mas lembro de vezes que você só podia inicializar a partir do disco rígido principal e precisava usar o mapeamento para inicializar corretamente. Olhe em sua configuração do grub, talvez seja isso que o grub faz.

    
por 08.11.2009 / 03:50