Was ist die Verwendung von / boot (lvm-basiert) bei der Partitionierung?

19

Als separate /homePartition hilft bei der einfachen Neuinstallation / Upgrade. Hilft das /bootDualbooten mit Windows? Ich meine, ist es nützlich für normale Desktop- / Notebook-Benutzer oder ist es eine fortgeschrittene Technik, die auf Servern bereitgestellt werden muss?

saiki4116
quelle

Antworten:

24

[Die Informationen in dieser Antwort zu GRUB2 und LVM sind größtenteils auf Jan 's Bemühungen zurückzuführen. Ursprünglich war diese Antwort ein schwerwiegender Fehler, und Jan verdient Anerkennung für die Verbesserungen, die ich vorgenommen habe. -Eliah]

Wenn Sie LVM nicht verwenden, ist eine separate /bootPartition in erster Linie nützlich, um sicherzustellen, dass die zum Booten erforderlichen Dateien nah genug am Anfang des Laufwerks sind, wenn sich die /Partition selbst nicht am Anfang des Laufwerks befindet. Beispielsweise möchten Sie Ihre Linux-Swap-Partition möglicherweise sehr nahe am Anfang des Laufwerks platzieren, da auf einigen Laufwerken möglicherweise schneller auf Daten am Anfang des Laufwerks zugegriffen werden kann. Dann könnten Sie eine kleine /bootPartition haben, gefolgt von Ihrer Linux-Swap-Partition, gefolgt von der /Partition (gefolgt von anderen separaten Partitionen, wenn Sie sie haben, wie zum Beispiel /home).

Seit geraumer Zeit ist dies weitgehend unnötig, da Sie mit neueren BIOS-Versionen normalerweise ein System starten können, dessen Startdateien sich in einer Partition befinden, die weit vom Anfang der Festplatte entfernt ist. Dies hat jedoch nur einen geringen Nachteil (es sei denn, Sie machen es /bootso klein, dass es voll wird - es sollte wahrscheinlich etwa 250 MiB sein), und so viele Leute, die manuell partitionieren, tun dies immer noch.

Ältere Bootloader wie LILO selbst hatten Einschränkungen, die separate /bootPartitionen hilfreich machten , wie Jan betont .

Bei Verwendung von LVM, wenn Ihre /Partition auf der LVM ist, verwendet es notwendig zu sein , eine separate zu haben /bootPartition. In einer solchen Konfiguration ist die /bootPartition keine Partition des LVM, sondern eine Partition auf der Festplatte, bevor der LVM gestartet wird. Dies liegt daran, dass Bootloader keine Dateien von einem LVM lesen konnten. Sie könnten also niemals Ihr System auf dem LVM booten, wenn es keine separate /bootPartition hätte (siehe dies und das für Details).

Die Fähigkeit, Dateien von einer LVM zu lesen, wurde mit GRUB2 hinzugefügt , was bedeutet, dass alle neueren Versionen von Ubuntu (Ubuntu 9.10 Karmic Koala und höher) über diese verfügen . Mit der richtigen Konfiguration können Sie also Ihr gesamtes Ubuntu-System in einem LVM ohne separate / Boot-Partition haben. Auf dieser Seite finden Sie Details zur Konfiguration. (Tatsächlich ist Ubuntu 8.04 LTS Server die einzige derzeit unterstützte Ubuntu-Version, die GRUB anstelle von GRUB2 verwendet. Jede andere Nicht-EoL-Version - 10.04 LTS, 10.10, 11.04 und 11.10 - verwendet GRUB2.)

Wenn Sie LVM verwenden, aber nicht für Ihr Ubuntu-Systemlaufwerk, nur für ein Speicherlaufwerk oder für einen Teil Ihres Systems (vielleicht für /home), aber nicht /, /bootist keine separate Partition erforderlich, selbst wenn Sie eine alte ( Pre-GRUB2) System.

Zusammenfassend ist eine separate /bootPartition für Systeme, die LVM nicht verwenden, weitgehend eine persönliche Angelegenheit, wohingegen ein älteres System, das auf einem LVM installiert ist, möglicherweise eine solche benötigt.

Eliah Kagan
quelle
3
Dies ist richtig, jedoch etwas veraltet. Neuere Versionen von grub2 können von einem LVM-Volume lesen / booten. wiki.archlinux.org/index.php/GRUB2#LVM (Link zu Arch Wiki, nicht sicher , welche Version von Ubuntu eine aktuellen genug Version gräbt versenden würde.)
Jan
@Jan Danke für die Info - Ich habe meine Antwort bearbeitet, um dies wiederzugeben. Wenn Sie weitere Verbesserungen vorschlagen können, kommentieren Sie diese bitte weiter oder, falls Sie dies vorziehen, können Sie meine Antwort gerne selbst bearbeiten.
Eliah Kagan
@Jan Bezüglich der Versionen von Ubuntu, die neu genug sind, um GRUB für LVM zu entfernen / boot ... laut gnu.org/software/grub/manual/grub.html#Changes-from-GRUB-Legacy sieht es wie alle aus Versionen von GRUB2 sind dazu in der Lage. Das würde also jede neuere Version von Ubuntu einschließen. Ich werde meinen Beitrag erneut bearbeiten, um dies zu berücksichtigen.
Eliah Kagan
Frage: Ist dies relevant, wenn alle Ihre Festplatten SSDs sind? In diesem Fall gibt es keinen idealen Ort (Anfang des Laufwerks) zum Speichern einer Boot- oder Swap-Partition, da das Laufwerk keine Festplatten hat.
user447607
8

/boot existiert aus technischen und historischen Gründen.

Der Bootloader (grub oder lilo) muss auf seine eigenen Dateien, den Linux-Kernel und die initiale Ramdisk zugreifen können. Diese Dateien werden in platziert /boot.

Die frühe Version von lilo konnte nur auf eine Untergruppe der Festplatte zugreifen, verstand nur eine begrenzte Anzahl von Dateisystemen (praktisch nur ext2) und erforderte, dass sich das Dateisystem auf einer primären oder logischen Partition befand (dh kein md RAID oder LVM). Daher wurde es üblich, eine kleine /bootPartition zu haben .

Moderne Versionen von grub sind viel flexibler und daher wird in vielen Fällen keine separate Partition /bootmehr benötigt.

Für das Dual-Booten von Linux und Windows /bootist dies irrelevant (obwohl ich gerne den Bootsektor der Boot-Partition für den Bootloader verwende.) Beim Dual-Booten verschiedener Linux-Installationen ist es jedoch üblich, diese gemeinsam zu nutzen /boot.

Jan
quelle
-1

Sie können auch eine einzelne / boot-Partition verwenden, wenn Sie mehrere Distributionen installieren (sowie eine einzelne Swap-Partition). Keine dieser Distributionen besitzt 100% der / boot-Informationen, sodass sich / boot nicht in einer Partition einer einzelnen Distribution befinden sollte.

Joao Cordeiro
quelle
2
Ich stimme nicht zu. Eine /bootfür mehrere Distributionen zu haben, würde Probleme beim Aktualisieren von Kerneln oder GRUB verursachen.
Melebius