/dev/
a questo scopo. Storicamente /dev/hda
è stato il disco primario del primo controller IDE e /dev/hdb
il primo secondario, /dev/hdc
e /dev/hdd
erano rispettivamente i dischi primario e secondario del secondo controller IDE, e così via per tutti gli altri. /dev/sda
corrispondeva al primo disco SCSI, /dev/sdb
al secondo, ecc. Questo schema dei nomi è stato unificato con il kernel Linux presentato in Squeeze, e tutti i dischi rigidi (IDE/PATA, SATA, SCSI, USB, IEEE 1394) sono ora rappresentati da /dev/sd*
.
/dev/sda1
è la prima partizione nel primo disco e /dev/sdb3
è la terza partizione nel secondo disco.
/dev/sda5
seguita da /dev/sda6
, ecc.
udev
crea in aggiunta a /dev/sd*
dei collegamenti simbolici con un nome fisso che è possibile usare se si desidera identificare un disco rigido in modo non ambiguo. Questi collegamenti simbolici sono conservati in /dev/disk/by-id
. In una macchina con due dischi fisici, per esempio, si potrebbe trovare questo:
mirexpress:/dev/disk/by-id#ls -l
total 0 lrwxrwxrwx 1 root root 9 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP -> ../../sda lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP-part2 -> ../../sda2 [...] lrwxrwxrwx 1 root root 9 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697 -> ../../sdb lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-part2 -> ../../sdb2 [...] lrwxrwxrwx 1 root root 9 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP -> ../../sda lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part2 -> ../../sda2 [...] lrwxrwxrwx 1 root root 9 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697 -> ../../sdb lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-part2 -> ../../sdb2 [...] lrwxrwxrwx 1 root root 9 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0 -> ../../sdc lrwxrwxrwx 1 root root 10 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 10 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part2 -> ../../sdc2 [...] lrwxrwxrwx 1 root root 9 23 jul. 08:58 wwn-0x5000c50015c4842f -> ../../sda lrwxrwxrwx 1 root root 10 23 jul. 08:58 wwn-0x5000c50015c4842f-part1 -> ../../sda1 [...] mirexpress:/dev/disk/by-id#
lilo
. Dimenticarsi di farlo impedisce al sistema di avviarsi se il vecchio kernel è stato rimosso o sostituito dato che quello nuovo non sarà nella stessa posizione sul disco.
/etc/lilo.conf
: un file semplice per configurazioni standard è presentato nell'esempio che segue.
Esempio 8.3. File di configurazione di LILO
# Il disco dove LILO dev'essere installato. # Indicando il disco e non la partizione. # ordiniamo a LILO di installarsi nell'MBR. boot=/dev/sda # la partizione che contiene Debian root=/dev/sda2 # l'oggetto da caricare in via predefinita default=Linux # la più recente immagine kernel image=/vmlinuz label=Linux initrd=/initrd.img read-only # Vecchio kernel (in caso il nuovo kernel non parta) image=/vmlinuz.old label=LinuxOLD initrd=/initrd.img.old read-only optional # solo per il doppio avvio Linux/Windows other=/dev/sda1 label=Windows
grub-install /dev/sda
.
/boot/grub/grub.cfg
ma questo file (in Debian) viene generato da altri. Va ricordato di non modificarlo a mano, poiché queste modifiche sarebbero perse alla successiva esecuzione di update-grub
(che può avvenire durante l'aggiornamento dei vari pacchetti). Le modifiche più comuni del file /boot/grub/grub.cfg
(per esempio per aggiungere parametri alla linea di comando del kernel o per cambiare la durata di visualizzazione del menu) vengono realizzate tramite variabili in /etc/default/grub
. Per aggiungere voci al menu è possibile creare un file /boot/grub/custom.cfg
o modificare il file /etc/grub.d/50_custom
. Per configurazioni più complesse è possibile modificare i file in /etc/grub.d
o aggiungerne: questi script devono restituire frammenti di configurazione, eventualmente facendo uso di programmi esterni. Questi script sono quelli che aggiornano la lista dei kernel da avviare: 10_linux
prende in considerazione i kernel Linux installati, 20_linux
considera i sistemi virtuali Xen e 30_os-prober
elenca gli altri sistemi operativi (Windows, Mac OSX, Hurd).
grub-install /dev/sda
.
/boot/grub/menu.lst
(si veda l'esempio).
Esempio 8.4. File di configurazione di GRUB
# Avvia automaticamente dopo 30 secondi timeout 30 # Avvia in via predefinita il primo elemento default 0 # Se questo fallisce prova il secondo fallback 1 # Ultimo kernel installato title GNU/Linux root (hd0,1) kernel /vmlinuz root=/dev/sda2 initrd /initrd.img # Vecchio kernel (se il più recente non parte) title GNU/Linux OLD root (hd0,1) kernel /vmlinuz.old root=/dev/sda2 initrd /initrd.img.old # Solo per il doppio avvio Linux/Windows title Microsoft Windows rootnoverify (hd0,0) makeactive chainloader +1
ybin
installa yaboot
e il suo file di configurazione. Sarà necessario eseguire questo comando ogni qual volta /etc/yaboot.conf
viene modificato (viene duplicato sulla partizione di bootstrap e yaboot
sa come trovare la posizione dei kernel sui dischi).
ybin
si deve avere un file /etc/yaboot.conf
valido. Quello che segue è un esempio di configurazione minimale.
Esempio 8.5. File di configurazione di Yaboot
# partizione di bootstrap boot=/dev/sda2 # il disco device=hd: # la partizione Linux partition=3 root=/dev/sda3 # avvia dopo 3 secondi di inattività # (timeout in 30 decimi di secondo) timeout=30 install=/usr/lib/yaboot/yaboot magicboot=/usr/lib/yaboot/ofboot enablecdboot # ultimo kernel installato image=/vmlinux label=linux initrd=/initrd.img read-only # vecchio kernel image=/vmlinux.old label=old initrd=/initrd.img.old read-only # solo per doppio avvio Linux/Mac OSX macosx=/dev/sda5 # bsd=/dev/sdaX and macos=/dev/sdaX # è inoltre possibile