Differences between revisions 2 and 3
Revision 2 as of 2010-10-23 20:17:34
Size: 14620
Editor: ?skizzhg
Comment:
Revision 3 as of 2010-10-24 12:38:41
Size: 14877
Comment: minor fixes
Deletions are marked like this. Additions are marked like this.
Line 32: Line 32:
La denominazione persistente del device a blocchi è stata resa possibile dall'introduzione di [[udev]] con alcuni vantaggi rispetto a quella basata sul bus.

Nel frattempo che le distribuzioni Linux e udev sono in evoluzione e il rilevamento dell'hardware è sempre più affidabile, ci sono anche una serie di nuovi problemi e modifiche:

 1. avendo più di un controller sata, scsi o ide e l'ordine in cui vengono aggiunti è casuale, questo può portare a nomi di dispositivo come hdX e hdY a cambiare in modo casuale ad ogni avvio; lo stesso vale per sdX e sdY. La denominazione persistente permette di non preoccuparsene più
La denominazione persistente dei device a blocchi è stata resa possibile dall'introduzione di [[udev]] con alcuni vantaggi rispetto a quella basata sul bus.

Nonostante le distribuzioni Linux e udev siano in evoluzione e il rilevamento dell'hardware sia sempre più affidabile, ci sono anche una serie di nuovi problemi e modifiche:

 1. avendo più di un controller sata, scsi o ide e dato che l'ordine in cui vengono aggiunti è casuale, questo può portare a nomi di dispositivo come hdX e hdY che cambiano in modo casuale ad ogni avvio; lo stesso vale per sdX e sdY. La denominazione persistente permette di non preoccuparsene più
Line 38: Line 38:
 1. le macchine con controller sia sata che ide sono oggigiorno comuni, con le modifiche di libata menzionate prima il primo problema che diverrà sempre più frequente è che entrambi verranno identificati come sdX
 1. quando si tratta di udev e multipath, le grosse macchine con CPU veloci e adattatori Fibre Channel, switch FC con carico a latenza variabile e archiviazione di dati, controller SCSI, schede di reta ad alte prestazioni, possono avere problemi di asincronia con un ordine di rilevamento e assegnazione dei nomi dei device in fase di avvio quasi imprevedibile
 1. le macchine con controller sia sata che ide sono oggigiorno comuni, con le modifiche di libata menzionate prima il primo problema diverrà sempre più frequente perché le unità sata e ide saranno entrambe identificate come sdX
 1. Le grosse macchine con molte CPU veloci e adattatori Bus Fibre Channel, switch FC e archiviazione di dati con carico e latenza variabili, controller SCSI, schede di rete ad alte prestazioni, possono avere problemi di asincronia quando gestiscono udev e multipath, con un ordine di rilevamento e assegnazione dei nomi dei device in fase di avvio quasi imprevedibili
Line 47: Line 47:
UUID sta per Universally Unique Identifier ed è un meccanismo per fornire ad ogni '''filesystem''' (non le partizioni) un identificativo univoco, è progettato affinché le collisioni siano '''improbabili'''. Tutti i filesystem Linux (incluso lo swap, '''nonostante non sia assegnato in modo predefinito usando l'installatore debian''') supportano UUID; FAT e NTFS no, ma vengono comunque elencati con un identificatore: UUID sta per Universally Unique Identifier ed è un meccanismo per fornire ad ogni '''filesystem''' (non alle partizioni) un identificativo univoco; è progettato affinché le collisioni siano '''improbabili'''. Tutti i filesystem Linux (incluso lo swap, '''nonostante non ne abbia uno assegnato in modo predefinito usando l'installatore debian''') supportano UUID; FAT e NTFS no, ma vengono comunque elencati in {{{by-uuid}}} con un identificatore univoco:
Line 66: Line 66:
Purtroppo sulle grosse macchine potrebbero accadere delle race condition e '''l'UUID del filesystem potrebbe essere assegnato più volte a device differenti''', Linux potrebbe sceglierne uno (in modo casuale) che trova al momento del rilevamento di udev. Ad esempio potrebbe rilevare lo stesso UUID di /dev/sda1 e /dev/dm-1, quindi grub selezionerebbe /dev/dm-1 mentre /etc/fstab usa /dev/sda1, con la conseguenza di non terminare l'avvio a causa del "dispositivo occupato". Purtroppo sulle grosse macchine potrebbero accadere delle race condition e '''l'UUID del filesystem potrebbe essere assegnato più volte a device differenti''', Linux potrebbe sceglierne uno (in modo casuale) che trova al momento del rilevamento di udev. Ad esempio potrebbe rilevare lo stesso UUID per /dev/sda1 e /dev/dm-1, quindi grub potrebbe selezionare /dev/dm-1 mentre /etc/fstab usa /dev/sda1, con la conseguenza di non terminare l'avvio a causa del "dispositivo occupato".
Line 81: Line 81:
Disattivare in l'attuale swap: Disattivare in modo sicuro l'attuale swap:
Line 105: Line 105:
Quasi ogni tipo di '''filesystem''' può avere un'etichetta, tutte le partizioni che ne hanno una sono elencate nella directory /dev/disk/by-label: Quasi ogni tipo di '''filesystem''' può avere un'etichetta; tutte le partizioni che ne hanno una sono elencate nella directory /dev/disk/by-label:
Line 122: Line 122:
Si possono modificare le etichette dei filesystems con questi comandi:
{{{
* swap: mkswap -L <etichetta> /dev/XXX
Si possono modificare le etichette dei filesystem con questi comandi:
{{{
* swap: Creare un nuovo spazio di swap con: mkswap -L <etichetta> /dev/XXX
Line 129: Line 129:
* fat/vfat: in Linux non c'è nessuno strumento per cambiare etichetta, si usi {{{mkdosfs -n <etichetta> <altre opzioni>}}} durante la creazione del filesystem * fat/vfat: in Linux non c'è nessuno strumento per cambiare etichetta, si usi {{{mkdosfs -n <etichetta> <altre opzioni>}}} durante la creazione del filesystem. Si può anche cambiare l'etichetta di un filesystem esistente usando Windows.
Line 133: Line 133:
Attenzione: le etichette devono essere univoche, sono applicabili allo stesso modo a penne e hard disk USB o firewire; per le partizioni UN*X il sistema con etichetta o UUID è preferibile a quello di /dev/disk/by-*/ . Attenzione: le etichette devono essere univoche, sono applicabili allo stesso modo a penne e hard disk USB o firewire; per le partizioni UN*X la sintassi LABEL=/ UUID= è preferibile a quella con /dev/disk/by-*/ .
Line 137: Line 137:
by-id crea un nome univoco in base al numero seriale '''hardware''', sono destinati a rimanere immutati ad una certa configurazione hardware. by-id crea un nome univoco in base al numero seriale '''hardware'''; questi nomi sono destinati a rimanere immutati per una certa configurazione hardware.
Line 184: Line 184:
by-path crea un nome univoco in base al percorso fisico più corto (secondo sysfs), contengono stringhe che indicano a quale sottosistema appartengono, non sono adatte a risolvere i problemi discussi all'inizio di questo articolo e non verranno approfondite. by-path crea un nome univoco in base al percorso fisico più corto (secondo sysfs), questi nomi contengono stringhe che indicano a quale sottosistema appartengono, non sono adatti a risolvere i problemi discussi all'inizio di questo articolo e non verranno approfonditi.
Line 205: Line 205:
Invece di fornire esplicitamente il device si può indicare il filesystem da montare tramite l'UUID o l'etichetta, scrivendo LABEL=<etichetta> o UUID=<uuid>, ad esempio: Invece di fornire esplicitamente il device si può indicare il filesystem da montare tramite l'UUID o l'etichetta di volume, scrivendo LABEL=<etichetta> o UUID=<uuid>, ad esempio:
Line 217: Line 217:
 1. si utilizza un'immagine mkinitcpio initramfs
 1. si ha udev abilitato in /etc/mkinitcpio.conf
 1. quando l'immagine initramfs è stata generata era installata la versione 101-3, o superiore, di klibc-udev (in qualsiasi versione precedente la denominazione persistente è corrotta); se si sta aggiornando klibc-udev da una versione precedente, rigenerare l'immagine initramfs prima di riavviare.
 1. si deve utilizzare un'immagine mkinitcpio initramfs
 1. si deve avere udev abilitato in /etc/mkinitcpio.conf
 1. quando l'immagine initramfs è stata generata doveva essere installata la versione 101-3, o superiore, di klibc-udev (in qualsiasi versione precedente la denominazione persistente è corrotta); se si sta aggiornando klibc-udev da una versione precedente, rigenerare l'immagine initramfs prima di riavviare.
Line 237: Line 237:
C'è un modo alternativo per usare l'etichetta way to use the label inserita nel filesystem, ad esempio se (come sopra) il filesystem in /dev/sda1 è etichettato come "root", si può fornire questa riga a grub: C'è un modo alternativo per usare l'etichetta inserita nel filesystem, ad esempio se (come sopra) il filesystem in /dev/sda1 è etichettato come "root", si può fornire questa riga a grub:
Line 242: Line 242:
Farne una copia per sicurezza: Farne una copia di backup per sicurezza:
Line 254: Line 254:
Aggiornare menu.lst usando lo stesso script del pacchetto: Aggiornare menu.lst usando lo stesso script usato dai pacchetti kernel:

Translation(s): English - Italiano - Русский

(!) ?Discussion

Rigenerare fstab


Per mostrare una partizione appena creata (ad esempio sda6 o sdb7) che non appare in fstab o si vuole montare, digitare come utente il seguente comando in una console:

 ls -l /dev/disk/by-uuid

Verrà mostrato un output come questo:

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

In questo esempio ad662d33-6934-459c-a128-bdf0393e0f44 è la voce mancante, il passo successivo è inserire l'UUID della partizione in /etc/fstab. Usare un editor di testo (come kate o kwrite) con privilegi di root:

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

(!) Nota: il nome del punto di montaggio (in fstab) deve essere una directory esistente.

Descrizione: UUID, etichettare partizioni e fstab


La denominazione persistente dei device a blocchi è stata resa possibile dall'introduzione di udev con alcuni vantaggi rispetto a quella basata sul bus.

Nonostante le distribuzioni Linux e udev siano in evoluzione e il rilevamento dell'hardware sia sempre più affidabile, ci sono anche una serie di nuovi problemi e modifiche:

  1. avendo più di un controller sata, scsi o ide e dato che l'ordine in cui vengono aggiunti è casuale, questo può portare a nomi di dispositivo come hdX e hdY che cambiano in modo casuale ad ogni avvio; lo stesso vale per sdX e sdY. La denominazione persistente permette di non preoccuparsene più
  2. con l'introduzione della nuova gestione dei pata da parte di libata, tutti i device ide hdX diventeranno in futuro sdX. Anche qui, con la denominazione persistente non si noterà nemmeno
  3. le macchine con controller sia sata che ide sono oggigiorno comuni, con le modifiche di libata menzionate prima il primo problema diverrà sempre più frequente perché le unità sata e ide saranno entrambe identificate come sdX
  4. Le grosse macchine con molte CPU veloci e adattatori Bus Fibre Channel, switch FC e archiviazione di dati con carico e latenza variabili, controller SCSI, schede di rete ad alte prestazioni, possono avere problemi di asincronia quando gestiscono udev e multipath, con un ordine di rilevamento e assegnazione dei nomi dei device in fase di avvio quasi imprevedibili

Ci sono altre ragioni ma queste sono al momento, e nel prossimo futuro, le più critiche; ecco perché Debian incoraggia a modificare la configurazione usando il sistema della denominazione persistente.

I quattro sistemi differenti per la denominazione persistente


Denominazione persistente per UUID

UUID sta per Universally Unique Identifier ed è un meccanismo per fornire ad ogni filesystem (non alle partizioni) un identificativo univoco; è progettato affinché le collisioni siano improbabili. Tutti i filesystem Linux (incluso lo swap, nonostante non ne abbia uno assegnato in modo predefinito usando l'installatore debian) supportano UUID; FAT e NTFS no, ma vengono comunque elencati in by-uuid con un identificatore univoco:

$ /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

Come si può vedere, le partizioni fat e ntfs hanno nomi più corti (sda6 e sdb1), ma sono comunque presenti con un uuid.

Purtroppo sulle grosse macchine potrebbero accadere delle race condition e l'UUID del filesystem potrebbe essere assegnato più volte a device differenti, Linux potrebbe sceglierne uno (in modo casuale) che trova al momento del rilevamento di udev. Ad esempio potrebbe rilevare lo stesso UUID per /dev/sda1 e /dev/dm-1, quindi grub potrebbe selezionare /dev/dm-1 mentre /etc/fstab usa /dev/sda1, con la conseguenza di non terminare l'avvio a causa del "dispositivo occupato".

Come trovare l'UUID del device

~# blkid
/dev/sda1: UUID="87f2b245-6ab3-4021-bf07-d069b4d387a1" TYPE="ext3" 
/dev/sda2: TYPE="swap" 
/dev/sda3: UUID="a6f7a63f-71ac-4361-b49a-39d62b06f18a" TYPE="ext3" 

Si può notare che la partizione di swap non ha un UUID, l'installatore di Debian Lenny usa una versione di partman che non ne attribuisce uno, lo si può ottenere con mkswap.

Come assegnare un UUID alla partizione di swap

Disattivare in modo sicuro l'attuale swap:

~# swapoff /dev/sda2

Ricrearla ottenendo l'UUID, riattivarla e verificare il risultato:

~# mkswap /dev/sda2
Setting up swapspace version 1, size = 1998737 kB
no label, UUID=7cdfeb21-613b-4588-abb5-9d4049854e9a
corp-bsa-exp-nuvem01:~# blkid
/dev/sda1: UUID="87f2b245-6ab3-4021-bf07-d069b4d387a1" TYPE="ext3" 
/dev/sda2: TYPE="swap" UUID="7cdfeb21-613b-4588-abb5-9d4049854e9a" 
/dev/sda3: UUID="a6f7a63f-71ac-4361-b49a-39d62b06f18a" TYPE="ext3" 
~# swapon /dev/sda2
~# free
             total       used       free     shared    buffers     cached
Mem:      33017956     298700   32719256          0      17060     148668
-/+ buffers/cache:     132972   32884984
Swap:      1951888          0    1951888

Denominazione persistente per etichetta

Quasi ogni tipo di filesystem può avere un'etichetta; tutte le partizioni che ne hanno una sono elencate nella directory /dev/disk/by-label:

$ ls -lF /dev/disk/by-label

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

Anche se le etichette possono avere nomi riconoscibili, è necessario prestare la massima attenzione per evitare conflitti.

Si possono modificare le etichette dei filesystem con questi comandi:

* swap: Creare un nuovo spazio di swap con: mkswap -L <etichetta> /dev/XXX
* ext2/ext3: e2label /dev/XXX <etichetta>
* reiserfs: reiserfstune -l <etichetta> /dev/XXX
* jfs: jfs_tune -L <etichetta> /dev/XXX
* xfs: xfs_admin -L <etichetta> /dev/XXX
* fat/vfat: in Linux non c'è nessuno strumento per cambiare etichetta, si usi {{{mkdosfs -n <etichetta> <altre opzioni>

durante la creazione del filesystem. Si può anche cambiare l'etichetta di un filesystem esistente usando Windows.* ntfs: ntfslabel /dev/XXX <etichetta> o modificarla da Windows }}}

Attenzione: le etichette devono essere univoche, sono applicabili allo stesso modo a penne e hard disk USB o firewire; per le partizioni UN*X la sintassi LABEL=/ UUID= è preferibile a quella con /dev/disk/by-*/ .

Denominazione persistente per id

by-id crea un nome univoco in base al numero seriale hardware; questi nomi sono destinati a rimanere immutati per una certa configurazione hardware.

~#  ls -lh /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root 10 2010-10-20 13:52 dm-name-grupo1-lvstripe1 -> ../../dm-8
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath0 -> ../../dm-0
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath1 -> ../../dm-1
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath2 -> ../../dm-2
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath3 -> ../../dm-3
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath4 -> ../../dm-4
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath5 -> ../../dm-5
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath6 -> ../../dm-6
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath7 -> ../../dm-7
lrwxrwxrwx 1 root root 10 2010-10-20 13:52 dm-uuid-LVM-OaDwNcuwdzuuZYAcrbeKNdYsE237BKX2YIEdUN5CsSgeU7WNn5dhtiQPBP9uHU25 -> ../../dm-8
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000c -> ../../dm-0
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000d -> ../../dm-1
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000e -> ../../dm-2
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000f -> ../../dm-3
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000112 -> ../../dm-4
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000113 -> ../../dm-5
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000114 -> ../../dm-6
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000115 -> ../../dm-7
lrwxrwxrwx 1 root root  9 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c -> ../../sda
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part3 -> ../../sda3
lrwxrwxrwx 1 root root  9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000c -> ../../sdr
lrwxrwxrwx 1 root root  9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000d -> ../../sdc
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000e -> ../../sdab
lrwxrwxrwx 1 root root  9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000f -> ../../sdu
lrwxrwxrwx 1 root root  9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000112 -> ../../sdn
lrwxrwxrwx 1 root root  9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000113 -> ../../sdo
lrwxrwxrwx 1 root root  9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000114 -> ../../sdp
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000115 -> ../../sdag
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath0 -> ../../dm-0
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath1 -> ../../dm-1
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath2 -> ../../dm-2
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath3 -> ../../dm-3
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath4 -> ../../dm-4
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath5 -> ../../dm-5
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath6 -> ../../dm-6
lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath7 -> ../../dm-7

Denominazione persistente per percorso

by-path crea un nome univoco in base al percorso fisico più corto (secondo sysfs), questi nomi contengono stringhe che indicano a quale sottosistema appartengono, non sono adatti a risolvere i problemi discussi all'inizio di questo articolo e non verranno approfonditi.

Abilitare la denominazione persistente


Dopo aver scelto quale metodo di denominazione si desidera utilizzare, la si abiliterà per il sistema:

In fstab

Abilitarla in /etc/fstab è semplice, basta sostituire il nome del device nella prima colonna con il nuovo nome persistente. In questo esempio verrà sostituito /dev/sda7 con uno dei seguenti:

/dev/disk/by-label/home

oppure

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

Ripetere l'operazione per tutte le partizioni nel file fstab.

Invece di fornire esplicitamente il device si può indicare il filesystem da montare tramite l'UUID o l'etichetta di volume, scrivendo LABEL=<etichetta> o UUID=<uuid>, ad esempio:

LABEL=Boot

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

Denominazione persistente nel boot manager

Per usare i nomi persistenti nel boot manager, devono essere soddisfatti tutti i seguenti requisiti:

  1. si deve utilizzare un'immagine mkinitcpio initramfs
  2. si deve avere udev abilitato in /etc/mkinitcpio.conf
  3. quando l'immagine initramfs è stata generata doveva essere installata la versione 101-3, o superiore, di klibc-udev (in qualsiasi versione precedente la denominazione persistente è corrotta); se si sta aggiornando klibc-udev da una versione precedente, rigenerare l'immagine initramfs prima di riavviare.

Nell'esempio precedente /dev/sda1 è la partizione di root, nel file menu.lst di grub la linea del kernel appare così:

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

Modificarla in questo modo, a seconda del sistema di denominazione che si preferisce:

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

oppure

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

C'è un modo alternativo per usare l'etichetta inserita nel filesystem, ad esempio se (come sopra) il filesystem in /dev/sda1 è etichettato come "root", si può fornire questa riga a grub:

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

Farne una copia di backup per sicurezza:

~# cp /boot/grub/menu.lst /boot/grub/menu.lst.old1

Usare il percorso /dev/disk/by-id e modificare /boot/grub/menu.lst

## AFM 22oct2010
## kopt=root=/dev/sda3 ro
# kopt=root=/dev/disk/by-id/scsi-360026b9038e754001270c9de079bca7c-part3 ro rootdelay=15 nodmraid

Aggiornare menu.lst usando lo stesso script usato dai pacchetti kernel:

:~# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /vmlinuz-2.6.26-1-amd64
Updating /boot/grub/menu.lst ... done