Estou tentando fazer com que o grub2 inicialize a imagem xen de um pendrive USB.
No entanto, não está funcionando por algum motivo.
Minha entrada original no grub foi a seguinte, e isso funciona fora de um HDD de partições LVM:
menuentry 'Xen 4 (Linux 2.6.32.50-xen)' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
recordfail
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 6542fe50-82e2-467a-b832-7cf92f71bc98
multiboot /xen.gz placeholder noreboot
module /vmlinuz-2.6.32.50-xen placeholder root=/dev/mapper/xenserver-root ro
module /initrd.img-2.6.32.50-xen
}
Mas, não fora do pen drive que é particionado como ext2 sem LVM.
Atualmente, é assim:
menuentry 'Xen 4 (Linux 2.6.32.50-xen)' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
recordfail
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 55425e50-82e2-4c74-b860-7cf92f91b423
multiboot /xen.gz placeholder noreboot
module /vmlinuz-2.6.32.50-xen placeholder root=/dev/sda1 ro
module /initrd.img-2.6.32.50-xen
}
A maneira que eu entendo isso é que set root = '(hd0,1)' define a variável de ambiente raiz como o primeiro disco rígido, primeira partição.
Agora, o que a linha de pesquisa faz?
De acordo com a documentação do grub2 para o comando de busca e se eu estiver entendendo corretamente, se um disco com esse uuid for encontrado, ele irá setar o root para esse uuid ... ou é a primeira partição daquele disco? Então, se ele não encontrar, isso significa que o padrão é (hd0,1)?
Atualmente, isso não funciona para mim, pois eu preciso carregar um kernel de inicialização múltipla primeiro. Então é obviusly não encontrar xen.gz. Será que preciso remover o --no-floppy? Eu sei que alguns BIOS tratam pen drives USB como disquetes. Embora no meu sistema esteja chegando como / dev / hda. Se inserir um disco rígido, será / dev / hdb. Isso ainda vai funcionar? O que devo definir a raiz = linha para dado que o LVM não está instalado e / dev / mapper / xenserver-root não existe. Eu vi algumas pessoas configurando isso para / dev / hdb1, mas eu gostaria de descobrir isso automaticamente ou ser gerado pelo update-grub.
Como eu conseguiria isso funcionar? Eu tentei muitas opções, mas obviamente não a certa.