Ist es gut, eine separate Partition für / boot zu erstellen?

77

Ich habe gesehen, dass einige Leute eine separate Partition für erstellt haben /boot. Was ist der Vorteil davon? Auf welche Probleme könnte ich in Zukunft stoßen, wenn ich das tue?


Ausser /homeund /boot, welche Partitionen können auch getrennt werden? Wird es empfohlen?

Am1rr3zA
quelle
1
Mein Ubuntu 8.04 kam von Dell mit einer / boot-Partition. Es war nicht meine Wahl. Bei der Installation von 10.04 fresh wurde nicht versucht, eine zu erstellen.
David Thornley
Als ich versuchte, Arch Linux zum ersten Mal zu installieren, wurde dies dringend empfohlen, und es schlug sogar fehl, wenn ich dies nicht zum ersten Mal tat. Hatte aber noch nie Probleme in anderen Distributionen.
Siehe auch eine Frage zu separaten Partitionen im Allgemeinen und Fragen zu / tmp und / var
sondra.kinsey

Antworten:

46

Dies ist ein Überbleibsel von "ye olde tymes", als Maschinen Probleme hatten, große Festplatten anzusprechen. Die Idee hinter der /bootPartition war, die Partition für jeden Computer, an den das Laufwerk angeschlossen war, immer zugänglich zu machen. Wenn die Maschine an den Start des Laufwerks gelangen könnte (niedrigere Zylindernummern), könnte das System gebootet werden. Von dort aus kann der Linux-Kernel die BIOS-Startbeschränkung umgehen und das Problem umgehen. Da moderne Maschinen diese Einschränkung aufgehoben haben, besteht keine feste Notwendigkeit /bootmehr, getrennt zu arbeiten, es sei denn, Sie benötigen eine zusätzliche Verarbeitung der anderen Partitionen, z. B. Verschlüsselung oder Dateisysteme, die vom Bootloader nicht automatisch erkannt werden.

Technisch gesehen können Sie mit einer einzelnen Partition davonkommen und in Ordnung sein, vorausgesetzt, Sie verwenden keine wirklich wirklich alte Hardware (vor 1998 oder so).

Wenn Sie sich für eine separate Partition entscheiden, achten Sie darauf, dass ausreichend Platz vorhanden ist, z. B. 200 MB Speicherplatz. Das ist mehr als genug für mehrere Kernel-Upgrades (die jedes Mal mehrere Megabyte verbrauchen). Wenn sich / boot zu füllen beginnt, entfernen Sie ältere Kernel, die Sie nicht verwenden, und passen Sie Ihren Bootloader an, um diese Tatsache zu erkennen.

Avery Payne
quelle
2
In Bezug auf die Größe wurde "für Fedora 13 die Standard- / Boot-Partitionsgröße auf 500 MiB erhöht, um diese Probleme in Zukunft zu vermeiden". (von fedoraproject.org/wiki/… )
Cristian Ciupitu
3
500 Millionen? Wie lagern sie dort? Ich habe noch nie 100 Millionen gebraucht, ich benutze gerade 13 Millionen /boot.
Xenoterracid
27
Es gibt immer noch viele moderne Gründe für eine / boot-Partition und alle führen zu "Der Bootloader kann das Root-Dateisystem nicht lesen". Der historische Anwendungsfall ist, wie Sie sagten, die Laufwerke zu groß, aber die modernen Fälle sind Verschlüsselung, neue Dateisysteme (wie ext4), LVM oder esoterische Setups, die von GRUB einfach nicht unterstützt werden.
Mr. Shiny und New 安 安
22
Hat jemand erwähnt, dass GRUB in Dual-Boot-Situationen, wenn das Linux-System nach Windows installiert ist, Startzeilen für Side-by-Side-Systeme bereitstellt? Wenn sich / boot nicht auf der separaten Partition befunden hätte, hätte das Löschen der Linux-Partition den Computer nicht mehr bootfähig gemacht. Wenn sich / boot auf der separaten Partition befindet, hat das Löschen der Linux-Installation (z. B. der Root-Partition) keinen Einfluss auf die Bootfähigkeit des Side-Systems.
mbaitoff
5
Ich hatte eine Überfüllung meiner 100 MB / Boot-Partition mit veralteten Kerneln. Das ist sehr chaotisch, wenn das passiert.
Malfist
39

Ein Grund für das Vorhandensein einer / boot-Partition ist, dass verschlüsselte / -Dateien möglich sind, bei denen der Kernel und initrd von einer unverschlüsselten Partition geladen und dann zum Mounten der verschlüsselten Root-Partition verwendet werden, die das Betriebssystem enthält. Für den allgemeinen Gebrauch sollte es jedoch keine Rolle spielen.

Hinzufügen eines Kommentars von Riccardo Murri :

Es gibt auch historische Gründe für ein separates / boot: In früheren Zeiten konnte das BIOS nur auf einen Teil einer großen Festplatte zugreifen, sodass alle vom Betriebssystem-Bootloader benötigten Dateien in der BIOS-zugänglichen Zone aufbewahrt werden mussten. Daher eine separate / boot-Partition. Dies gilt jedoch nicht mehr

dsp
quelle
1
Nun, der Bootloader kann nur noch auf primäre Partitionen zugreifen. Es kann also nützlich sein, wenn Sie eine ganze Reihe erweiterter Partitionen haben.
Xenoterracide
18

Der Hauptgrund für die großen Unternehmen wie Red Hat und ich denke, dass Suse ein separates / boot verwendet, ist, dass sie standardmäßig LVM verwenden und Grub nicht zum Booten von LVM verwendet werden kann. So einfach ist das.

Wenn Sie also LVM verwenden möchten, und das ist ein Segen, verwenden Sie ein separates / boot. Ich persönlich denke , es ist ein gute Praxis ist sowohl LVM und getrennte Partitionen für eine Vielzahl von Dingen zu verwenden, wie /var, /boot, /homeund /tmpund sogar /usrauf Servern, zum Beispiel , um Ihre Root - Dateisystem oder Datenpartitionen davor zu schützen , voll zu bekommen.

wzzrd
quelle
3
Ein weiterer guter Grund war, dass GRUB nicht ext4 , sondern nur ext3 unterstützte. Wenn Sie also ext4 verwenden wollten, /mussten Sie eine separate /bootPartition haben.
Cristian Ciupitu
Mehrere Leute haben angedeutet, dass GRUB nicht in der Lage wäre, von LVM zu booten. GRUB2 bootet seit ungefähr 1,5 Jahren problemlos von LVM2 auf meinem Heim-PC. Süßeste Sache seit geschnittenem Brot. Oh, und das wird standardmäßig vom (alternativen) Ubiquity-Installationsprogramm unterstützt. Versuchen Sie es
sehe
1
Wie bei / tmp / können Sie dort heutzutage Speicher mit tmpfs bereitstellen. Es ist möglicherweise schneller und auch gesünder für Ihre Festplatten. In jedem Fall sollte / tmp / einen Neustart nicht überstehen.
imz - Ivan Zakharyaschev
1
Grub-Legacy funktioniert nicht und Grub 2 funktionierte nicht, wenn / boot auf einem logischen LVM-Colume bereitgestellt wurde. Unterstützung wurde vor kurzem hinzugefügt. Es sollte nicht schwierig sein, die jeweilige Referenz herauszufinden. Das Gleiche gilt für Software-RAID. Die Unterstützung dafür wurde kürzlich zu Grub 2 hinzugefügt.
Faheem Mitha
@Faheem M .: Also ... sagen Sie, dass es bei Ihnen nicht funktioniert, oder hauptsächlich, dass ich mich schlecht an den Zeitrahmen erinnern muss? Ein sehr schneller Google-Versuch hat diesen Eintrag am 20. November 2006 veröffentlicht. Ich wette, ich hatte den richtigen Zeitrahmen.
sehe
13

Ein letzter, weniger wichtiger Grund ist, dass der PC bootfähig bleiben kann, wenn ein Teil der Festplatte beschädigt ist. Je mehr Partitionen Sie haben, desto einfacher ist es, die fehlerhafte Partition einfach nicht bereitzustellen.

Dies kann manchmal nützlich sein, aber normalerweise gibt es sowieso einen besseren Weg.

EDIT: Ein weiterer Punkt: Unter der Annahme, dass Linux mit LVM ein guter Weg ist, um potenzielle Probleme zu vermeiden, ist es einfach, die Größe von "Partitionen" zu ändern und scheinbar neuen Speicherplatz hinzuzufügen.

tsvallender
quelle
1
Wäre es nicht erforderlich, dass mindestens ein Teil der Partition / unbeschädigt ist? Sicher, das Kernel-Image ist auf / boot, aber die Treiber sind in / lib und das Init oder Sh ist in / bin.
Mr. Shiny und New 安 安
7

Ich denke, das ist mehr eine persönliche Präferenz als alles andere. Könnte sogar eine Best-Practice sein. Meine persönliche Ansicht von / boot ist eher schreibgeschützt. Hin und wieder müssen Sie dort schreiben, um Ihren Kernel zu aktualisieren oder möglicherweise ein anderes Betriebssystem im Grubloader hinzuzufügen. Abgesehen davon ist es nur erforderlich, ... nun, booten. Wenn Sie es also in einem separaten Dateisystem haben, kann dies dazu beitragen, dass es schreibgeschützt ist (dies kann sogar ein Sicherheitsaspekt sein).

Sollte es ein separates Dateisystem sein? Ich denke nicht .. Aber ist es eine schlechte Idee? Nein überhaupt nicht!

Reiche
quelle
7

Als Antwort auf den Teil der Frage, welche Probleme dies verursachen könnte: Wie bei jeder Partitionierung besteht immer das Risiko, dass Sie mehr Speicherplatz benötigen, als Sie ursprünglich zugewiesen haben. Während dies im Fall von unwahrscheinlich ist /boot, gab es kürzlich ein Problem mit dem Pre-Upgrade in Fedora, das durch kleine /bootGrößen verursacht wurde .

Kai
quelle
1

In Bezug auf den zweiten Teil der Frage kann es nützlich sein, alles, was von der aktuellen Verteilung unabhängig ist, in getrennten Partitionen zu platzieren. Dadurch, dass auch zusätzlicher Speicherplatz auf dem Laufwerk verfügbar bleibt, kann bei Bedarf in Zukunft entweder eine andere Distribution installiert oder die aktuelle neu installiert werden, wobei der Zugriff auf alle Elemente freigegeben wird, die auf beiden angezeigt werden sollen.

Obviuos Kandidaten für separate Partitionen sind dann / usr / local und / home sowie / root. Ich persönlich finde es effizienter, benutzerdefinierte Partitionen zu erstellen, sie an einem beliebigen Mountpoint wie / part / data zu mounten und dann mit Symlinks fortzufahren, wie in:

sudo ln -sf /part/data/joe /home/joe
sudo ln -sf /part/data/root /root
sudo ln -sf /part/data/usr-local /usr/local
Dalker
quelle
1

Ein weiterer Grund, der meines Erachtens nicht erwähnt wird, ist, dass Sie den Dateisystemtyp und die von Ihnen bevorzugten Konfigurationen verwenden können, /bootdie mit Sicherheit nicht mit denen übereinstimmen, in denen er als Teil von verwendet wird /. Funktionen wie Journaling, Prüfsummen usw. sind für nicht hilfreich. /bootSie können das Booten beschleunigen, indem Sie sie deaktivieren oder ein einfacheres Dateisystem (wie z ext2. B. ) verwenden.

Sakisk
quelle
Es fällt mir schwer zu glauben, dass Journaling und Prüfsummen das Booten spürbar verlangsamen. Hast du harte Zahlen?
Ignis
Es sind leider keine Zahlen verfügbar. Sie können experimentieren, wenn Sie möchten. Für manche Leute ist es sogar bemerkbar, wenn es +5 Sekunden langsamer ist.
Sakisk
Bedeuten Sie, dass es Ihrer Erfahrung nach 5 Sekunden langsamer war?
Ignis
1
Nein. Als ich das letzte Mal AFAIR gemacht habe, habe ich ext2 verwendet.
Sakisk
1

Ich fand es etwas schwieriger, von der Grub-Eingabeaufforderung aus zu booten, wenn eine separate / boot-Partition verwendet wurde.

Es schien, dass der Kernel auf / boot war, aber das initramfs auf / (separate Partition).

Es war also nicht klar, welche Partition im Grub-Menü verwendet werden sollte.

Bei all den potenziellen Vorteilen einer separaten / Boot-Partition besteht auch die Gefahr, dass mehr als gewöhnlich Fehler behoben werden müssen, falls etwas Schlimmes passiert (dh grub-install ausführen, ohne danach update-grub auszuführen: S).

Alecz
quelle
Fedora verwendet /boot, zum Teil aus der Vergangenheit, grubnicht alle möglichen Dateisysteme. Und meine vmlinuzund initrdsind beide in /boot, installiert aus dem Vanillekern von Git ...
vonbrand
-1

Lassen Sie mich hier nur einige meiner Erfahrungen schreiben:

Nun, in meinem Fall habe ich RAID 1 (1 GB nur für / boot) und RAID 5 für den Rest des Festplattenspeichers.

Ich benutze Grub 2 von Debian Squeeze und es ist in Ordnung. Grub 2 hat diese Einschränkung nicht mehr wie Grub 1.

Heutzutage spielt es keine Rolle mehr. Dies wurde benötigt, wenn Sie Grub-Version 1 hatten, die nicht wusste, wie man von RAID5 bootet, aber wie man von RAID 1 bootet. Und das ist der Grund dafür.

In meinem Fall benutze ich es nur für den Fall, ich könnte es brauchen, wenn etwas Schlimmes passiert. Denn nicht jedes Mal, wenn Sie neues LIVE-Debian oder Ubuntu in der Tasche haben.

Auch wenn etwas Schlimmes passiert, mache ich ein Backup von / boot. Einmal hat es meine Installation schon gespeichert.

Ich verwende Linux SW RAID 1 mit 3 Festplatten und RAID 5 mit denselben Festplatten. Die ersten 1 GB verwende ich für RAID 1.

Wenn Sie jedoch LILO oder GRUB Version 1.98 -> 2 verwenden, müssen Sie keine separate / boot-Partition haben.

Mirra
quelle