Antworten:
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.
Ein Eintrag in fstab
ist erforderlich, wenn Sie einige nicht standardmäßige Mount-Optionen angeben möchten. Heutzutage mit systemd
einem korrekten Kernel-Gerät und fstype in fstab
sind jedoch unnötig. Sie können den Stammeintrag durch Folgendes ersetzen:
#UUID=8f74237d-b689-4beb-9d1f-f60b426c9969 / ext4 rw,relatime,data=ordered 0 1
dummy / auto rw,relatime,data=ordered,debug 0 1
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.
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 .