Змонтуйте кореневу файлову систему з initramfs


16

Це загальний сценарій. З будь-якої причини initramfs (OpenSUSE, на випадок, якщо це має значення) не вдалося знайти кореневу файлову систему, тому вона потрапляє у рятувальну оболонку. Я прекрасно знаю, який пристрій потрібно встановити. Моє запитання:

Яка правильна процедура монтажу кореневої файлової системи та продовження послідовності завантаження?

Імовірно, у цьому вся суть рятувальної консолі. І все-таки, схоже, ніхто не підтвердив, як ви це робите.

Очевидно, я можу десь змонтувати кореневу файлову систему. Але як зробити це корінь дерева файлової системи? А тепер я продовжую нормальний процес завантаження після цього? (Я думав, що просто вихід із оболонки зробить це ... але це не так.) Що саме вам потрібно встановити, перш ніж продовжувати, і як ви продовжуєте?


2
Я можу помилитися, але я думаю, що коли ви знаходитесь у рятувальній оболонці, ви не можете продовжувати поточне завантаження, ви виправляєте речі, тому наступне завантаження буде успішним
Ерік Реноф

@EricRenouf завантаження повної системи вручну може бути найпростішим способом виправити таку проблему. У минулому у мене були проблеми, коли initramfs не вдалося відкрити мій зашифрований кореневий розділ cryptsetup-luks, і найпростішим виправленням було його вручну завантажити та потім запустити update-initramfs -u. Я абсолютно не міг змусити його працювати, коли щойно chrootперейшов у кореневу файлову систему з рятувальної системи; отримані initramfs завжди були порушені.
Мартін фон Віттіч

Це насправді інітрд, чи інітрамф? (Тільки тому, що файл називається initrd, не означає, що він один: більшість дистрибутивів перейшли на, initramfsале продовжують викликати файл initrd.) Який дистрибутив ви використовуєте (як те, що робить initrd / initramfs, залежить від того, який дистрибутив розміщено туди)?
Жил "ТАК - перестань бути злим"

@Gilles Я впевнений, що це насправді initramfs. Не впевнений, чи насправді це має значення; так чи інакше, у мене є міні-файлова система, і мені потрібно змонтувати реальну файлову систему. (OpenSUSE, якщо це має значення.)
MathematicalOrchid

Відповіді:



2

нормальна процедура

  1. mount / dev / sdX / mnt
  2. виправити проблему на / mnt
  3. перезавантажити

Ви можете захотіти

  1. mount / dev / sdX / mnt
  2. виправити / mnt
  3. umount / mnt
  4. mount / dev / sdX /
  5. закінчити завантаження вручну

Це не рекомендується, вам доведеться робити це під час кожного завантаження. У виробничих умовах ви не можете бути впевнені в ручному завантаженні, виконуючи ті ж дії, що й автоматичний.

Однак в надзвичайних ситуаціях з критичними даними крок 5 зазвичай зводиться до:

  • 5.1 налаштування мережі
  • 5.2 скопіюйте важливий файл у безпечне місце

2
Я вважаю, що "актуальним" питанням оригінального плаката було "Як саме ви робите" 5. закінчити завантаження вручну "?"
user2121874

2

Просто запустіть fsckкоманду без параметрів, initramfsа потім перезавантажте

наприклад: кореневий розділ є sda3

fsck /dev/sda3

Перезавантаження просто перекинуло мене на оболонку grub замість оболонки initramfs. Тепер я все знов зроблю, щоб дістатися до оболонки initramfs
jaam

1

Якщо root=параметр правильний і проблема полягає лише в тому, що необхідний пристрій недоступний (наприклад, через те, що initramfs не вдалося зібрати mdRAID), то достатньо зробити доступ до пристрою вручну, наприклад:

mdadm --assemble ...

Потім перевірте, чи пристрій є, і якщо все виглядає добре, натисніть ctrl+ dабо введіть, exitщоб вийти з оболонки initramfs. Потім initramfs змонтує кореневу файлову систему та продовжить завантажуватися як завжди. Після завантаження системи вам слід виправити основну проблему, наприклад, запустивши update-initramfs -u.

Я ще не знайшов способу сказати initramfs завантажувати інший пристрій, ніж те, що /proc/cmdlineговорить. Може хтось інший має ідею?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.