problemas e soluções: uuid

1. Situação

Você instala uma distro GNU/Linux que usa UUID, neste mesmo disco existia um outra distro GNU/Linux, que em algum momento você resolve apagar, formata a particao ou muda o sistema de arquivos dela, depois disto você dá um boot na sua máquina e derepente o carregamento para, pedindo um CTRL+D, você dá  comando, o sistema inicia, mas aquela partição não é montada.

Ai você se pergunta, o que aconteceu?

Bom, primeiro vamos lhe apresentar o UUID (Universal Unique Identfier) que é um padrão de identificação utilizando na construção de softwares, o UUID foi padronizado pela Open Software Foundation como parte de um sistema de computação distribuido.

Antigamente tinhamos entradas no /etc/fstab que faziam referencias como por exemplo:

/dev/hda1
/dev/sda3
/deb/hdd2

Se você tem mais de uma controladora IDE, SATA, SCSI elas são noemadas de forma aleatória, e pode acontecer alguma mudança depois de um boot caso desligue uma das controladoras por exemplo.

Outro fato é que se você tira um HD ATA da controladora IDE0 posição secundária/slave (hdb)  e coloca na controladora IDE1 posição secundária/slave (hdd) no próximo boot seu disco não será montado e você verá um erro. Através do UUID temos a chamada noemação persistente, um dispostivo terá sempre a mesma idenficação, desde que ele não seja reformatado, ou seja se você mudar o disco de posição na controladora, ele ainda será montado, isto tudo graças ao UUID e UDEV, que é um gerenciador de dispositivos sucessor do DEVFS e HOTPLUG, interessante não?

2. Solução

Agora voltando ao cenário, se você formatar uma partição durante esse processo um novo UUID será gerado, isto pode ser checado de 2 formas.

root@defiant:/storage/usuarios/gutocarvalho# ls -la /dev/disk/by-uuid/
total 0
drwxr-xr-x 2 root root 120 2008-07-19 08:32 .
drwxr-xr-x 5 root root 100 2008-07-19 08:32 ..
lrwxrwxrwx 1 root root  10 2008-07-19 08:32 2adaa15b-cdc8-45ea-af3d-793a9c248f4b -> ../../sda4
lrwxrwxrwx 1 root root  10 2008-07-19 08:32 bff5b9f7-9000-4ea7-ae8e-8371f75148f1 -> ../../sda2
lrwxrwxrwx 1 root root  10 2008-07-19 08:32 df1c61bb-f9fa-42ff-8dff-2d482e2a5612 -> ../../sda3
lrwxrwxrwx 1 root root  10 2008-07-19 08:32 f7da0d79-a62d-4b2d-8562-e18e19596c6d -> ../../sda1

ou através do comando vol_id

root@defiant:/storage/usuarios/gutocarvalho# vol_id -u /dev/sda1
f7da0d79-a62d-4b2d-8562-e18e19596c6d

Na minha situação eu tinha uma partição /dev/sda1 que tinha uma outra distro instalada, formatei esta partição, logo o UUID dela mudou, no boot seguinte a partição não foi montada, para resolver eu dei o CTRL+D o processo de inicialização continuou, verifiquei o novo UUID da partição, corrigi no arquivo /etc/FSTAB e partição voltou a ser montada nos novos boots.

Veja um exemplo de linha FSTAB que usa UUID

UID=bff5b9f7-9000-4ea7-ae8e-8371f75148f1 / ext3 relatime,errors=remount-ro 0 1

Veja um exemplo de linha no GRUB que usa UUID

kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=bff5b9f7-9000-4ea7-ae8e-8371f75148f1 ro quiet splash locale=pt_BR

O UUID é uma mão na roda!

Referências:
http://en.wikipedia.org/wiki/Udev
http://en.wikipedia.org/wiki/UUID
http://blog.mypapit.net/2008/04/linux-how-to-get-harddisk-uuid-number.html
http://manual.sidux.com/pt-br/part-uuid-pt-br.htm

2 Responses to “problemas e soluções: uuid”

  1. Luis SantosNo Gravatar Says:

    Aprendi na marra o conceito e o uso do UUID quando precisar mover uma partição root fisicamente. Mas após analisar muito conclui que, em alguns casos, é melhor trabalhar com o LABEL da partições (no /etc/fstab e no grub) que com o UUID. Meu /boot/grub/menu.lst e /etc/fstab montam os volumes pelo label. Com isso posso mudar tranquilamente meu root ou home fisicamente sem me preocupar com o UUID. Basta acertar o label na partição destino.

  2. gutocarvalhoNo Gravatar Says:

    Boa dica Luis,

    ;)

    []’s
    Guto

Leave a Reply

Os comentários postados neste blog serão analisados, inicialmente de forma automática pelo akismet e bad-behavior, caso eles passem ilesos por estes sistemas anti-spam, ainda sim serão analisados em relação a quantidade de links, caso tenham mais de 2 links serão colocados na fila de moderação. Aqui me reservo ao direito de remover comentários ofensivos, off-topics, propagandas, trollagem sem sentido, afinal a responsabilidade do conteúdo do blog, inclusive comentários recai sob o autor. Até hoje não tive problemas com comentários, mas é sempre bom avisar como as coisas funcionam ;)


Bad Behavior bloqueou 343 tentativas nos últimos 7 dias.