Reconstruindo a fstab

Para mostrar uma nova partição (digamos hda6 ou sdb7), que não aparece na fstab ou não quer ser montada, abra o terminal e digite o seguinte, como usuário ($):

 ls -l /dev/disk/by-uuid

Você verá uma saída como esta (o negrito é somente para fins de exemplo):

lrwxrwxrwx 1 root root 10 2007-05-27 23:42 348ea9e6-7879-4332-8d7a-915507574a80 -> ../../hda4
lrwxrwxrwx 1 root root 10 2007-05-27 23:42 610aaaeb-a65e-4269-9714-b26a1388a106 -> ../../hda2
lrwxrwxrwx 1 root root 10 2007-05-27 23:42 857c5e63-c9be-4080-b4c2-72d606435051 -> ../../hda5
lrwxrwxrwx 1 root root 10 2007-05-27 23:42 a83b8ede-a9df-4df6-bfc7-02b8b7a5f1f2 -> ../../hda1
lrwxrwxrwx 1 root root 10 2007-05-27 23:42 ad662d33-6934-459c-a128-bdf0393e0f44 -> ../../hda6

Nesse exemplo, ad662d33-6934-459c-a128-bdf0393e0f44 é o item faltante. O próximo passo é colocar os dados UUID dessa partição no arquivo etc/fstab. Para isso, abra-o em um editor de texto (como kate ou kwrite), com privilégios de root:

# <device file system> <mount point>   <type>  <options>       <dump> <pass>
UUID=ad662d33-6934-459c-a128-bdf0393e0f44 /media/hda6 ext3	auto,users,exec	0 2

Outro exemplo:

lrwxrwxrwx 1 root root 10 2007-05-28 13:18 30ebb8eb-8f22-460c-b8dd-59140274829d -> ../../sdb8
lrwxrwxrwx 1 root root 10 2007-05-28 13:18 387d6d4b-4508-4b8e-8ed2-76998f41dae4 -> ../../sdb1
rwxrwxrwx 1 root root 10 2007-05-28 13:18 7014f66f-6cdf-4fe1-83da-9cab7b6fab1a -> ../../sdb5
lrwxrwxrwx 1 root root 10 2007-05-28 13:18 8f042ead-259f-4df0-98ec-3343080396c5 -> ../../sdb6
lrwxrwxrwx 1 root root 10 2007-05-28 13:18 94B0AE63B0AE4B94 -> ../../sda2
lrwxrwxrwx 1 root root 10 2007-05-28 13:18 A61820AA18207B85 -> ../../sda1
lrwxrwxrwx 1 root root 10 2007-05-28 13:18 f28725d6-b7b5-4207-8476-36efe1a903ce -> ../../sdb9
lrwxrwxrwx 1 root root 10 2007-05-28 13:18 f855c263-2521-48d3-8ec9-d2d2b69b6635 -> ../../sda3
rwxrwxrwx 1 root root 10 2007-05-28 13:18 f9aa4027-ecdd-4a86-84e2-df2ef73fe14e -> ../../sdb7

No caso acima, f9aa4027-ecdd-4a86-84e2-df2ef73fe14e é a partição a ser colocada na fstab:

# <device file system> <mount point>   <type>  <options>       <dump> <pass>
UUID=f9aa4027-ecdd-4a86-84e2-df2ef73fe14e /media/sdb7 ext3	auto,users,exec	0 2
Observação: os nomes dos pontos de montagem na fstab devem ser idênticos aos correspondentes diretórios em /media. Esses diretórios são criados pelo sidux durante a instalação e possuem nomes como sda1, sda2, ....,disk0, disk1.
Se você criar outras partições após a instalação do sidux, os pontos de montagem referentes a elas terão de ser criados e adicionados manualmente.

Uma Visão Geral: UUID, rotulando partições e a fstab

A nomeação persistente de dispositivos tornou-se possível com a introdução do 'udev' e possui algumas vantagens sobre o método anterior, baseado no 'bus'.

Enquanto as distribuições Linux e o udev evoluem e a detecção de hardware tem se tornado mais confiável, há um novo número de problemas e mudanças:
1) Se você tiver mais de um controlador de discos SATA/SCSI ou IDE, eles são adicionados em ordem aleatória. Isso pode resultar em nomes como hdX e hdY fazendo rodízio a cada boot. O mesmo vale para sdX e sdY. A nomeação persistente permite que você nunca mais se preocupe com isso.
2) Com a introdução do suporte à nova biblioteca libata pata, todos os seus dispositivos IDE 'hdX' tornar-se-ão 'sdX' num futuro próximo. Por causa da nomeação persisitente, você nem vai notar.
3) Máquinas com controladores tanto IDE quanto SATA são bastante comuns hoje em dia. Com as mudanças na libata mencionadas acima, o primeiro problema tornar-se-á ainda mais comum, porque tanto os HDs de um como do outro serão chamados de sdX.

O padrão do sidux, ao ser instalado, é usar UUID na fstab

Há outros motivos, mas esses são os principais hoje e no futuro próximo. Porisso, o sidux encoraja-o a usar a persistência em suas configurações.

Os quatro diferentes esquemas de nomeação persistente:

1. Pelo UUID

UUID significa Universally Unique Identifier (Identificador Único Universal) e é um mecanismo para dar a cada sistema de arquivos um identificador único. Ele foi planejado para que colisões sejam improváveis. Todos os sistemas de arquivos Linux, inclusive a swap, aceitam UUID. Já NTFS e FAT não aceitam; porém, ainda assim, elas são listadas na fstab no formato UUID, ou seja "by-uuid", com um identificador único, caracteristicamente com menos caracteres:

$ /bin/ls -lF /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Oct 16 10:27 2d781b26-0285-421a-b9d0-d4a0d3b55680 -> ../../sda1
lrwxrwxrwx 1 root root 10 Oct 16 10:27 31f8eb0d-612b-4805-835e-0e6d8b8c5591 -> ../../sda7
lrwxrwxrwx 1 root root 10 Oct 16 10:27 3FC2-3DDB -> ../../sda6
lrwxrwxrwx 1 root root 10 Oct 16 10:27 5090093f-e023-4a93-b2b6-8a9568dd23dc -> ../../sda2
lrwxrwxrwx 1 root root 10 Oct 16 10:27 912c7844-5430-4eea-b55c-e23f8959a8ee -> ../../sda5
lrwxrwxrwx 1 root root 10 Oct 16 10:27 B0DC1977DC193954 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Oct 16 10:27 bae98338-ec29-4beb-aacf-107e44599b2e -> ../../sdb2

Como você pode ver, as partições FAT e NTFS (rótulos fat e windows acima) possuem nomes menores, mas mesmo assim estão na fstab. A vantagem de usar o método UUID é que, ao contrário do sistema de rotulação anterior, é muito menos provável que aconteçam colisões; a desvantagem é que os identificadores são mais difíceis de serem memorizados.

2. Pelo rótulo (LABEL)

Praticamente todo tipo de sistema de arquivos pode ter um rótulo. Todas as suas partições que possuem um são listadas no diretório /dev/disk/by-label directory:

$ ls -lF /dev/disk/by-label
total 0
lrwxrwxrwx 1 root root 10 Oct 16 10:27 data -> ../../sdb2
lrwxrwxrwx 1 root root 10 Oct 16 10:27 data2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Oct 16 10:27 fat -> ../../sda6
lrwxrwxrwx 1 root root 10 Oct 16 10:27 home -> ../../sda7
lrwxrwxrwx 1 root root 10 Oct 16 10:27 root -> ../../sda1
lrwxrwxrwx 1 root root 10 Oct 16 10:27 swap -> ../../sda5
lrwxrwxrwx 1 root root 10 Oct 16 10:27 windows -> ../../sdb1

Você pode mudar os rótulos usando estes comandos:

* swap: Crie uma nova partição swap com: mkswap -L <rótulo> /dev/XXX
* ext2/ext3: e2label /dev/XXX <rótulo>
* reiserfs: reiserfstune -l <rótulo> /dev/XXX
* jfs: jfs_tune -L <rótulo> /dev/XXX
* xfs: xfs_admin -L <rótulo> /dev/XXX
* fat/vfat: Ainda não há aplicativo que faça isso no Linux...
mas quando criar o sistema de arquivos, use mkdosfs -n <rótulo> <outras opções>. 
Você também pode mudar o rótulo no Windows.
* ntfs: ntfslabel /dev/XXX <rótulo< ou mude pelo Windows. 

Tenha cuidado: Para que isso funcione corretamente, os rótulos têm de ser únicos! Isso vale ao mesmo tempo para dispositivos USB/firewire, como pendrives, e para discos rígidos. A sintaxe LABEL=/ UUID= é preferível sobre /dev/disk/by-*/ para partições UN*X.

3. Pelo id

'by-id' cria um nome único baseado no número serial do hardware.

4. Pelo path

'by-path' cria um nome único baseado na rota física mais curta (de acordo com o sysfs). Tanto "by-id" quanto "by-path" contêm strings que indicam a qual subsistema eles pertencem e assim não estão habilitados para resolver os problemas mencionados no início deste tópico. Não trataremos mais deles aqui.

Como ativar a nomeação persistente

Tendo escolhido o método de nomeação que você deseja usar, vamos agora ativar a persistência em seu sistema:

Na fstab

Habilitar persistência no arquivo /etc/fstab é fácil; simplesmente substitua o nome do dispositivo na primeira coluna pelo nome persistente. No exemplo abaixo, vamos substituir /dev/sda7 por um dos seguintes:

/dev/disk/by-label/home ou
/dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591 

Faça deste mesmo jeito para todas as partições em sua fstab.

Ao invés de citar o dispositivo explicitamente, pode-se indicar o sistema de arquivos a ser montado por UUID ou pelo seu rótulo do volume, escrevendo LABEL=<rótulo> ou UUID=<uuid>. Por exemplo:

LABEL=Boot

ou

UUID=3e6be9de-8139-11d1-9106-a43f08d823a6

Persistência no Gerenciador de Boot

Para usar nomes persistentes no gerenciador de boot, são necessários todos estes pré-requisitos:
1) estar utilizando uma imagem mkinitcpio initramfs
2) ter udev ativado em /etc/mkinitcpio.conf
3) quando a imagem initramfs é gerada, a versão 101-3 ou superior da klibc-udev é instalada (persistência em quaisquer das versões anteriores não funciona). Se você estiver atualizando a klibc-udev a partir de uma versão anterior e quiser usar nomeação persistente, gere novamente a imagem do initramfs antes de reinicializar seu computador.

No exemplo acima, /dev/sda1 é a partição root. No arquivo /boot/grub/menu.lst, a linha referente ao kernel é parecida com esta:

kernel /boot/vmlinuz26 root=/dev/hda1 vga=0x318 ro

Dependendo do esquema de nomeação que você preferir, mude-a para uma das seguintes:

kernel /boot/vmlinuz26 root=/dev/disk/by-label/root vga=0x318 ro

ou

kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/2d781b26-0285-421a-b9d0-d4a0d3b55680 vga=0x318 ro

Há uma maneira alternativa de usar o rótulo incorporado ao sistema de arquivos. Por exemplo, se o sistema de arquivos em /dev/hda1 for rotulado "root", a linha no arquivo 'menu.lst' fica assim:

 kernel /boot/vmlinuz26 root=LABEL=root vga=0x318 ro

Fonte: wiki.archlinux.org que usou marc.theaimsgroup.com. O conteúdo de wiki.archlinux.org é disponibilizado sob a GNU Free Documentation License 1.2 e foi re-editado para o Manual do sidux.

Mais sobre rotulação ('labelling') pode ser encontrado em lissot.net

Content last revised UTC 30/12/2007 1300hrs