
Это обычный сценарий. По какой-то причине initramfs (OpenSUSE, если это имеет значение) не смог найти корневую файловую систему, поэтому он перебрасывает вас в спасательную оболочку. Хотя я прекрасно знаю, какое устройство нужно смонтировать. Мой вопрос:
Какова правильная процедура монтирования корневой файловой системы и продолжения последовательности загрузки?
Вероятно, это всеточкаспасательной консоли. И все же, похоже, никто не задокументировал, как на самом деле это делается.
Очевидно, я могу смонтировать корневую файловую систему где-нибудь. Но как мне сделать так, чтобыкореньдерева файловой системы? И теперь мне продолжить обычный процесс загрузки после этого? (Я думал, что просто выход из оболочки сделает это... но это не так.) Что именно вам нужно смонтировать, прежде чем продолжить, и как это сделать?
решение1
exec switch_root /mnt/root /sbin/init
решение2
Это зависит от типа проблемы, если проблема заключалась в том, что образ initramfs сам по себе был сломан, то вам нужно будет его перегенерировать (запустить update-initramfs), чтобы исправить ситуацию. Помните, что файловая система initramfs — это файловая система RAM, поэтому, чтобы что-то исправить, вам нужно исправить сжатый образ initramfs и/или исправить корневую файловую систему.
Я использовал следующую процедуру на зашифрованной с помощью LUKS системе Ubuntu, чтобы возобновить загрузку, прерванную из-за плохого crypttab.
Сначала я расшифровал раздел
cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt
Обратите внимание, что device_crypt
это не случайное имя. Оно должно соответствовать имени, которое обычно используется при монтировании вашей системы (partition + _crypt, похоже, является стандартным).
Далее вам необходимо активировать группы томов на этом теперь уже расшифрованном разделе.
vgchange -ay
Теперь вы можете попробовать смонтировать файловые системы /, /boot, proc, swap и т. д. и запустить все таким образом.
Хотя в моем случае все, что мне нужно было сделать, это ввести exit и initramfs увидел логические тома, сидящие там, и с радостью возобновил загрузку. В этот момент было легко исправить повреждение и запуститьupdate-initramfs -u
решение3
Просто запустите fsck
команду без параметров и initramfs
перезагрузите компьютер.
например: корневой раздел — этоsda3
fsck /dev/sda3
решение4
обычная процедура -
- смонтировать /dev/sdX /mnt
- исправить проблему на /mnt
- перезагрузить
Вы можете захотеть
- смонтировать /dev/sdX /mnt
- исправить /mnt
- размонтировать /mnt
- смонтировать /dev/sdX /
- завершить загрузку вручную
Это не рекомендуется, вам придется делать это при каждой загрузке. В производственной среде вы не можете быть уверены, что ручная загрузка будет следовать тем же шагам, что и автоматическая.
Однако в чрезвычайной ситуации с критически важными данными шаг 5 обычно сводится к следующему:
- 5.1 настройка сети
- 5.2 скопировать важный файл в безопасное место