OK, você está certo de que não está pegando UUIDs, o que me parece estranho.
Veja como uma entrada de kernel deve aparecer (isso é da minha VM Ubuntu 9.10, ligeiramente ajustada, mas isso deve ser razoavelmente armazenado):
menuentry "Ubuntu, Linux 2.6.31-20-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set b22c7fe9-4354-40bf-b9bf-87a469289f6e
linux /boot/vmlinuz-2.6.31-20-generic root=UUID=b22c7fe9-4354-40bf-b9bf-87a469289f6e ro
initrd /boot/initrd.img-2.6.31-20-generic
}
O arquivo /boot/grub/grub.cfg é gerado quando algo é executado update-grub dos scripts em /etc/grub.d e variáveis no arquivo / etc / default / grub .
-
Agora, há uma variável no arquivo padrão, GRUB_DISABLE_LINUX_UUID , que, se definida como true , dê um valor root = / dev / sdXY para a linha do kernel linux (em vez de um valor root = UUID = ... ). Eu não acho que isso seja problema seu, mas verifique seu arquivo / etc / default / grub para ter certeza. Você deve ver essas linhas (o #
no começo da linha significa que está comentado):
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
Se você vir sem o #
no início, insira-o, salve o arquivo e execute sudo update-grub
para gerar grub.cfg . Em seguida, verifique grub.cfg novamente para ver se está certo.
-
Se o arquivo padrão parecer OK, verifique os UUIDs da unidade. É possível que os UUIDs da unidade não estejam configurados corretamente ou não sejam detectados corretamente. uDev tem a tarefa de criar links simbólicos na árvore de dispositivos para UUIDs de disco; verifique-os:
$ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 2010-04-18 04:15 b22c7fe9-4354-40bf-b9bf-87a469289f6e -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-04-18 04:15 e1c64ac1-186d-4c15-8833-6072ac6421df -> ../../sda5
Se isso não mostrar uma partição que você espera ver, talvez seja necessário verificar o sistema de arquivos diretamente com tune2fs ( manpage ) (substitua / dev / sda1 pelo nome do dispositivo correto):
$ sudo tune2fs -l /dev/sda1 | grep UUID
Filesystem UUID: b22c7fe9-4354-40bf-b9bf-87a469289f6e
Se isso estiver faltando, você poderá recriá-lo com:
$ sudo tune2fs -U random /dev/sda1
Agora, verifique novamente a saída tune2fs -l e, em seguida, verifique / dev / disks / by-uuid novamente. Talvez seja necessário reinicializar antes que o uDev ative as alterações. Os scripts update-grub devem agora pegar o UUID, então volte a executá-lo e verifique o novo grub.cfg para ver se parece direito.
- Se nada disso estiver ocorrendo, talvez seja necessário explorar um pouco mais. Vamos verificar nossas suposições:
- Como sua unidade de inicialização é particionada? ( fdisk -l )
- Como sua unidade de inicialização é formatada? (ext2 / 3/4? FAT32? NTFS?)
- Você instalou via Wubi?