Eine einfache Möglichkeit, solche Probleme zu beheben, besteht häufig darin, von einem Live-System zu booten, die Root-Partition /mnt
anzuhängen und die Datei dann umzubenennen.
Wenn Sie kein Live-System haben oder keine Möglichkeit haben, eines zu erstellen, oder keinen physischen Zugriff auf das System haben, aber neu starten und das GRUB-Menü aufrufen können, können Sie mit dem GRUB-Editor eine Root-Shell abrufen und umbenennen die Datei.
Starten Sie das Gerät neu oder schalten Sie es aus, und schalten Sie es ein. Wenn Sie das GRUB-Menü beim Booten normalerweise nicht sehen, drücken Sie Shiftoder Esc, um zum GRUB-Menü zu gelangen.
Bewegen Sie den Cursor nach unten zu Advanced Options for Ubuntu und drücken Sie enterund dann e, um die Startoptionen zu bearbeiten (nur einmal - Änderungen hier sind nicht dauerhaft, sodass wir danach nicht aufräumen müssen).
Sie sehen einen Bildschirm, der ungefähr so aussieht 1 :
Bewegen Sie den Cursor nach unten zu der Zeile, die mit beginnt, linux
und bewegen Sie den Cursor dann an das Ende dieser Zeile oder an eine beliebige Stelle unter den dortigen Kernel-Boot-Parametern. Stellen Sie sicher, dass Sie sich in der richtigen Zeile befinden, und geben Sie dies sorgfältig ein, da das System möglicherweise nicht gestartet werden kann, wenn es nicht vorhanden ist /etc
.
Fügen Sie den Text hinzu init=/bin/bash
und drücken Sie, um F10zu starten.
Dies startet das System mit einer Bash-Shell als Init. Sie erhalten eine Root-Shell und das Dateisystem ist schreibgeschützt. 2 Geben Sie den Befehl ein, um das Dateisystem beschreibbar zu machen
mount -o remount,rw /
Jetzt können Sie umbenennen /etc
(möchten Sie vielleicht ls
zuerst)
mv /apache2 /etc
Jetzt können Sie den Computer neu starten oder den Start normal abschließen, indem Sie die Root-Shell durch das normale Init-System 3 ersetzen lassen :
exec systemd
Ich habe dieses Verfahren auf Ubuntu MATE 18.04 getestet.
1 Vielen Dank an Kulfy für den Erhalt eines qualitativ hochwertigen Screenshots des GRUB-Editors von VirtualBox!
2 Obwohl PATH /etc
in diesem Szenario nicht über die Konfigurationsdateien festgelegt werden kann , legt Bash automatisch einen fest .
3 Wenn exec systemd
es bei Ihnen nicht funktioniert, exec /sbin/init
sollten Sie den Trick machen. Wenn nicht, readlink -e /sbin/init
sollte der Pfad zu dem Init-Programm angegeben werden, das ausgeführt werden soll, das Sie dann exec
mit seinem vollständigen Pfad verwenden können. Wenn Sie so nicht vorgehen können, geben Sie einfach ein reboot
.
/mnt
, benennen Sie es um und starten Sie es neu.