Linux (der Kernel) ist es egal, wie viele Boot-Partitionen Sie haben. Den Kernel von der Festplatte zu laden ist die Aufgabe des Bootloader (zB grub, grub2, lilo) und diese Tools auch über die Anzahl der Stellen ist es egal , ein Kernel befinden könnte. Sie kümmern sich nur um den spezifischen Ort.
Als Beispiel ist meine Boot-Partition /dev/md1ein MDADM-RAID-Spiegel, der von den physischen Partitionen /dev/sde1und unterstützt wird /dev/sdf1. Ich kann diese einzeln mounten, wenn ich wollte, und als solche zählt dies technisch als zwei Boot-Partitionen, obwohl sie die gleichen Daten enthalten sollten.
Zwei Partitionen für / boot für mich zu haben, ist ein Verfügbarkeitsproblem, aber es können auch unterschiedliche / boot-Partitionen sein. Der nächste Schritt ist, woher weiß der Bootloader? Hier ist, wie:
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
}
Dies ist ein Auszug aus einer grub2Konfiguration , und Sie werden bemerken , dass die einzigen Unterschiede sind root=hd0,1und aus root=hd1,1denen sich die Boot - Partition , dass Eintrag Referenzen.
Nun, um Sie durch einen Stiefel zu führen, damit Sie verstehen können, was hier vor sich geht.
- Das BIOS liest den MBR vom Boot-Volume und springt zum Bootloader
- Der Bootloader (z. B.
grub2) ist so konfiguriert, dass er weiß, welches Gerät und welche Partition Ihren Kernel enthält. Grub2 greift direkt auf diese Partition zu und lädt Ihren Kernel in den Speicher.
- Ihr Bootloader springt dann in den Kernel und der Kernel bootet Ihren Computer.
Dem Bootloader ist es egal, wie viele Boot-Partitionen Sie haben, es ist nur wichtig, wo sie sich befinden, und Sie müssen ihm diese Informationen mitteilen.
Dem Kernel ist es egal, wie viele Boot-Partitionen Sie haben, da er sie nie sehen muss (Sie müssen sie nur zur Verfügung haben, um beispielsweise neue Kernel hinzuzufügen).
/bootnicht auf ein Verzeichnis, das auf der Root-Partition gemountet ist?