Pular para o conteúdo

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).

2 comentários em “Debian: update-grub errando a configuração de partição raiz”

  1. 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

  2. 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!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

três + dez =