Wenn der Bootloader den Kernel aufruft, wird ihm ein Parameter mit dem Namen übergeben root
. Sobald der Kernel die Initialisierung abgeschlossen hat, wird die angegebene Root-Partition gemountet /
und anschließend aufgerufen /sbin/init
(sofern dies nicht durch andere Parameter überschrieben wurde).
Anschließend init
startet der Prozess den Rest des Systems, indem alle Dienste geladen werden, die für den Start in Ihrem Standard-Runlevel definiert sind.
Abhängig von Ihrer Konfiguration und dem von Ihnen verwendeten Init-System kann es mehrere andere Schritte zwischen den von mir erwähnten geben. Derzeit sind SysVInit (das traditionelle), Upstart und Systemd die beliebtesten Init-Systeme unter Linux. Weitere Informationen zum Startvorgang finden Sie in diesem Wikipedia-Artikel .
Hier ist ein vereinfachtes Beispiel meiner Grub-Konfiguration. Der wichtige Teil, um Ihre Frage zu beantworten, ist in der vorletzten Zeile root=/dev/sda3
:
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-40864544-2d0f-471a-ab67-edd7e4754dae' {
set root='hd0,msdos1'
echo 'Loading Linux 3.12.6-gentoo-c2 ...'
linux /kernel-3.12.6-gentoo-c2 root=/dev/sda3 ro
}
In vielen Konfigurationen wird der Kernel /
im schreibgeschützten Modus bereitgestellt und alle anderen Optionen werden auf die Standardeinstellungen gesetzt. In können /etc/fstab
Sie Dateisystemparameter angeben, die dann angewendet werden, wenn init sie erneut anhängt.
init
Prozess hängt dann die Dinge/etc/fstab
gemäß den dortigen Parametern ein, was normalerweise bedeutet, dass die Root-Partition mit Lese- und Schreibzugriff neu eingebunden wird .Ein Eintrag in
fstab
ist erforderlich, wenn Sie einige nicht standardmäßige Mount-Optionen angeben möchten. Heutzutage mitsystemd
einem korrekten Kernel-Gerät und fstype infstab
sind jedoch unnötig. Sie können den Stammeintrag durch Folgendes ersetzen:und die Einhängeoptionen werden weiterhin von systemd berücksichtigt.
Sie können einen beliebigen falschen Gerätenamen verwenden, z. B.
/dev/sdz1
mit Ausnahme einer falschen UUID. Mit einer falschen UUID wird die Nachricht beim Booten gedruckt:,Failed to start Remount Root and Kernel File Systems
aber das System bootet trotzdem.quelle