Prostym sposobem na rozwiązanie takich problemów jest często uruchomienie systemu na żywo, zamontowanie partycji głównej, /mnt
a następnie zmiana nazwy pliku.
Jeśli nie masz systemu na żywo lub nie możesz go utworzyć, lub nie masz fizycznego dostępu do systemu, ale możesz zrestartować komputer i uzyskać menu GRUB, możesz użyć edytora GRUB, aby uzyskać powłokę root i zmienić nazwę plik.
Uruchom ponownie lub wyłącz zasilanie, włącz i, jeśli normalnie nie widzisz menu GRUB podczas uruchamiania, naciśnij Shiftlub, Escaby przejść do menu GRUB.
Przesuń kursor w dół do opcji zaawansowanych dla Ubuntu i naciśnij enter, a następnie naciśnij, eaby edytować opcje rozruchu (tylko jeden raz - zmiany tutaj nie będą trwałe, więc nie musimy później sprzątać).
Zobaczysz ekran, który wygląda mniej więcej tak 1 :
Przesuń kursor w dół do linii, która zaczyna się od, linux
a następnie przesuń kursor na koniec tej linii lub w dowolne miejsce wśród parametrów rozruchowych jądra. Upewnij się, że jesteś na właściwej linii i wpisz tutaj ostrożnie, ponieważ system może się nie uruchomić bez instalacji /etc
.
Dodaj tekst init=/bin/bash
i naciśnij, F10aby uruchomić.
To uruchomi system z powłoką Bash jako init. Otrzymasz root root, a system plików zostanie zamontowany tylko do odczytu. 2 Aby system plików był zapisywalny, wprowadź polecenie
mount -o remount,rw /
Teraz możesz zmienić nazwę /etc
(możesz ls
najpierw)
mv /apache2 /etc
Teraz możesz zrestartować komputer lub dokończyć rozruch normalnie z tego miejsca, zastępując powłokę roota zwykłym systemem init 3 :
exec systemd
Przetestowałem tę procedurę na Ubuntu MATE 18.04.
1 Wielkie podziękowania dla Kulfy za uzyskanie dobrej jakości zrzutu ekranu edytora GRUB z VirtualBox!
2 Chociaż /etc
w tym scenariuszu nie można ustawić PATH na podstawie plików konfiguracyjnych , Bash automatycznie ją ustawi .
3 Jeśli exec systemd
to nie działa, exec /sbin/init
powinieneś załatwić sprawę. Jeśli nie, readlink -e /sbin/init
należy podać ścieżkę do dowolnego programu inicjującego, który powinien być uruchomiony, a następnie można podać exec
pełną ścieżkę. Jeśli nie możesz postępować w ten sposób, po prostu wpisz reboot
.
/mnt
, dokonaj zmiany nazwy, uruchom ponownie.