A Linux (il kernel) non importa quante partizioni di avvio hai. Caricamento del kernel dal disco è il lavoro del bootloader (ad esempio grub
, grub2
, lilo
) e questi strumenti, inoltre, non si preoccupano il numero di posizioni un kernel potrebbe trovarsi. Si preoccupano solo della posizione specifica.
Ad esempio, la mia partizione di avvio è /dev/md1
, che è un mirror RAID mdadm supportato dalle partizioni fisiche /dev/sde1
e /dev/sdf1
. Posso montarli singolarmente se volevo e come tale tecnicamente conta avere due partizioni di avvio, anche se dovrebbero contenere gli stessi dati.
Avere due partizioni per / boot per me è un problema di disponibilità, ma potrebbero ugualmente essere diverse / partizioni di boot. Il prossimo passo è sapere come fa il bootloader? Ecco come:
menuentry 'Linux 3.10.17 (sde) kernel-3.10.17-g' {
root=hd0,1
linux /boot/kernel-3.10.17-g domdadm dolvm root=/dev/md3
initrd /boot/initrd-3.10.17-g
}
menuentry 'Linux 3.10.17 (sdf) kernel-3.10.17-g' {
root=hd1,1
linux /boot/kernel-3.10.17-g domdadm dolvm root=/dev/md3
initrd /boot/initrd-3.10.17-g
}
Questo è un estratto da una grub2
configurazione e noterai che le uniche differenze sono root=hd0,1
e root=hd1,1
che stabiliscono quale partizione di avvio fa riferimento a quella voce.
Ora ti accompagno attraverso uno stivale in modo da poter capire cosa sta succedendo qui.
- Il BIOS legge l'MBR dal volume di avvio e passa al bootloader
- Il bootloader (ad es.
grub2
) È configurato per sapere quale dispositivo e partizione contiene il kernel. Grub2 accede direttamente a questa partizione e carica il kernel in memoria.
- Il tuo bootloader salta quindi nel kernel e il kernel avvia il tuo computer.
Il bootloader non si preoccupa di quante partizioni di avvio hai, si preoccupa solo di dove si trovano e devi comunicarle tali informazioni.
Al kernel non importa quante partizioni di avvio hai, perché non ha mai bisogno di vederle (devi solo averlo disponibile per aggiungere nuovi kernel, per esempio).
/boot
non si riferisce a una directory montata sulla partizione di root?