Простой способ решения подобных проблем - это загрузка с работающей системы, монтирование корневого раздела /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
Теперь вы можете перезагрузиться или завершить обычную загрузку отсюда, заменив корневую оболочку на обычную систему инициализации 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
следует указать путь к какой-либо программе инициализации, которую вы можете затем указать exec
с помощью полного пути. Если вы не можете пойти по этому пути, просто введите reboot
.
/mnt
, выполните переименование, перезагрузите компьютер.