Простий спосіб виправити подібні проблеми - це часто завантажуватися з живої системи, монтувати кореневий розділ /mnt
і перейменувати файл.
Якщо у вас немає живої системи або способу її створення, або у вас немає фізичного доступу до системи, але ви можете перезавантажити і отримати меню GRUB, ви можете скористатися редактором GRUB, щоб отримати кореневу оболонку та перейменувати файл.
Перезавантажте або вимкніть живлення, увімкніть, і якщо ви зазвичай не бачите меню GRUB під час завантаження, натисніть Shiftабо, Escщоб перейти до меню GRUB.
Перемістіть курсор вниз до Додаткові параметри для Ubuntu і натисніть enter, а потім натисніть, eщоб змінити параметри завантаження (лише один раз - зміни тут не будуть постійними, тому нам не доведеться прибирати далі).
Ви побачите екран, який виглядає приблизно так 1 :
Перемістіть курсор вниз до рядка, з якого починається, linux
а потім перемістіть курсор до кінця цього рядка або в будь-яке місце серед параметрів завантаження ядра. Будьте впевнені, що ви знаходитесь у правильному рядку та обережно введіть тут, оскільки система може не запуститися без завантаження /etc
.
Додайте текст init=/bin/bash
і натисніть F10для завантаження.
Це запустить систему з оболонкою Bash як init. Ви отримаєте кореневу оболонку, і файлова система змонтується лише для читання. 2 Щоб зробити файлову систему доступною для запису, введіть команду
mount -o remount,rw /
Тепер ви можете перейменувати /etc
(ви можете ls
спочатку перейменувати )
mv /apache2 /etc
Тепер ви можете перезавантажити або завершити завантаження звичайно звідси, змусивши кореневу оболонку замінити себе на звичайну систему init 3 :
exec systemd
Я перевірив цю процедуру на Ubuntu MATE 18.04.
1 Велике спасибі Kulfy за те, що він отримав хороший знімок екрана редактора GRUB від VirtualBox!
2 Хоча PATH неможливо встановити з конфігураційних файлів /etc
у цьому сценарії, Bash автоматично встановить один .
3 Якщо вам exec systemd
не підходить, exec /sbin/init
слід зробити фокус. Якщо ні, readlink -e /sbin/init
слід надати шлях до будь-якої запущеної програми init, яку ви можете потім виконати exec
повним шляхом. Якщо ви не можете продовжити це, просто введіть reboot
.
/mnt
, зробіть перейменування, перезавантажте.