Reparieren von /etc/fstab-Fehlern mit dem Notfallmodus (Emergency Mode)
In diesem Schritt lernen Sie, wie Sie Fehler in der Datei /etc/fstab
diagnostizieren und reparieren. Diese Datei ist für den Bootvorgang von entscheidender Bedeutung, da sie dem System mitteilt, welche Dateisysteme es einbinden und wo es sie einbinden soll. Ein falscher Eintrag in /etc/fstab
kann verhindern, dass das System bootet, und es in den Emergency Mode
zwingen.
Der Notfallmodus bietet die minimalstmögliche Umgebung für die Systemreparatur. Im Gegensatz zum Rettungsmodus versucht er nicht, die meisten Dateisysteme einzubinden oder viele Dienste zu starten. Entscheidend ist, dass das Root-Dateisystem (/
) im Read-Only-Modus (ro
) eingebunden wird, um weitere Schäden zu verhindern.
Obwohl wir in diesem Lab keinen echten Bootfehler auslösen können, können wir den Prozess des Auffindens und Behebens eines /etc/fstab
-Fehlers simulieren.
Fügen wir zunächst absichtlich einen fehlerhaften Eintrag zu /etc/fstab
hinzu. Wir verwenden den Befehl echo
mit sudo
, um eine Zeile anzuhängen, die sich auf ein nicht vorhandenes Gerät bezieht.
echo '/dev/nonexistent /data xfs defaults 0 0' | sudo tee -a /etc/fstab
Betrachten wir nun den Inhalt von /etc/fstab
, um zu bestätigen, dass unsere fehlerhafte Zeile hinzugefügt wurde.
cat /etc/fstab
Sie sollten die falsche Zeile am Ende der Datei sehen.
#
## /etc/fstab
## Created by anaconda on <date>
#
## Accessible filesystems, by reference, are maintained under '/dev/disk/'.
## See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
## After editing this file, run 'systemctl daemon-reload' to update systemd
## units generated from this file.
#
/dev/vda4 / xfs defaults 0 0
/dev/vda2 /boot xfs defaults 0 0
/dev/vda1 /boot/efi vfat umask=0077,shortname=winnt 0 0
/dev/vda3 swap swap defaults 0 0
/dev/nonexistent /data xfs defaults 0 0
Als Nächstes simulieren wir den Diagnoseschritt. Der Befehl mount -a
versucht, alle in /etc/fstab
aufgeführten Dateisysteme einzubinden, die noch nicht eingebunden sind. Da unser Eintrag ungültig ist, schlägt dieser Befehl fehl.
sudo mount -a
Der Befehl erzeugt einen Fehler, der eindeutig darauf hinweist, dass der Mountpoint /data
nicht existiert. Dies ähnelt dem Fehler, den Sie während eines fehlgeschlagenen Bootvorgangs sehen würden.
mount: /data: mount point does not exist.
Simulieren wir nun den Reparaturprozess. In einer realen Notfall-Shell besteht der erste Schritt darin, das Root-Dateisystem im Read-Write-Modus neu einzubinden, um Änderungen zu ermöglichen.
sudo mount -o remount,rw /
Da das Dateisystem jetzt beschreibbar ist, können Sie /etc/fstab
bearbeiten, um den Fehler zu beheben. Verwenden Sie den Editor nano
, um die Datei zu öffnen.
sudo nano /etc/fstab
Verwenden Sie im nano
-Editor die Pfeiltasten, um zur fehlerhaften Zeile (/dev/nonexistent /data xfs defaults 0 0
) zu navigieren und sie zu löschen. Sie können die gesamte Zeile löschen, indem Sie Strg+k drücken. Nachdem die Zeile entfernt wurde, speichern Sie die Datei, indem Sie Strg+x, dann y und schließlich Enter drücken.
Um die Korrektur zu bestätigen, führen Sie sudo mount -a
erneut aus.
sudo mount -a
Diesmal sollte der Befehl ohne Ausgabe ausgeführt werden, was darauf hindeutet, dass alle gültigen Einträge in /etc/fstab
korrekt eingebunden sind. Sie haben die Datei erfolgreich repariert.