Há algum tempo eu me incomodo com um fato: depois de um update-grub (em virtude da atualização do kernel, por exemplo) o GRUB termina ficando com uma referência errada a respeito da partição raiz. Exemplo: /dev/hda1, ao invés de /dev/sda1. Isso ocorre bastante quando troco um HD de uma máquina que enxerga o HD como IDE para outra que o enxerga com SATA (veja este post para entender melhor: http://www.eriberto.pro.br/blog/?p=7).
Bem, há algum tempo tenho procurado uma solução no Google e nada. Hoje resolvi ler a manpage do comando update-grub. Lá está escrito:
After update-grub has been run for the first time, the user is required to edit the generated menu.lst. The user must set the two options update-grub uses. Then re-run the update-grub script to update the menu.lst file using the default’s that have been set.
A seguir, a manpage mostra as opções que devem ser configuradas. Uma delas é a seguinte:
kopt=root=/dev/hda1 ro
Aqui mora o problema. Para solucioná-lo, basta alterar hda1 para sda1 e emitir o comando update-grub novamente. Simples! Nunca mais o GRUB, após uma atualização, irá errar o caminho da partição raiz (a não ser que você troque o HD para outra máquina novamente).
Grande Eriberto!
Recomendo uma leitura nos seguintes artigos:
http://www.linux.com/feature/146951
http://gutocarvalho.net/wordpress/archives/288
Onde poderá aprender uma forma definitiva de solucionar esse tipo de problema, bastando fazer o seguinte, por exemplo:
~$ sudo vol_id /dev/hda1
ID_FS_USAGE=filesystem
ID_FS_TYPE=xfs
ID_FS_VERSION=
ID_FS_UUID=5aa5c014-75d6-43ae-b495-11de95f9700b
ID_FS_UUID_ENC=5aa5c014-75d6-43ae-b495-11de95f9700b
ID_FS_LABEL=
ID_FS_LABEL_ENC=
ID_FS_LABEL_SAFE=
Daí basta usar o valor do ID_FS_UUID tanto no /etc/fstab quanto no /boot/grub/menu.lst, da seguinte forma:
linha do /etc/fstab
UUID=5aa5c014-75d6-43ae-b495-11de95f9700b / ext3 relatime,errors=remount-ro 0 1
linha do /boot/grub/menu.lst
kopt=root=UUID=5aa5c014-75d6-43ae-b495-11de95f9700b ro
Um forte abraço!
Marcelo
Grande Marcelo!
Conheço esse método e o uso de labels também (utilizei isso no meu artigo sobre Debian no pendrive). No entanto, eu queria a solução para o uso dos nomes hda e sda. Mas obrigado pela referência. Grande abraço!