Рейтинг:2

Посадка в аварийную подсказку systemd после длительного процесса восстановления загрузки. Проблема: Отсутствует FS в файле fstab

флаг de

Я понимаю, что было несколько вопросов от людей, у которых уже были проблемы с загрузкой, но я думаю, что мой случай - довольно частный, поэтому я публикую еще один вопрос в надежде решить некоторые новые проблемы.

Я восстанавливал процесс загрузки виртуальной машины, у которой initramfs (initrd.img и вмлинуз файлы в /ботинок) из ядер, которые больше не были установлены, и пытался загрузиться с них.

Я очень близок к завершению, но он продолжает перезагружаться в системадх аварийный режим (где написано: )

Вы находитесь в аварийном режиме. После входа введите «journalctl -xb» для просмотра системных журналов, «systemctl reboot» для перезагрузки, «systemctl default» или «exit» для загрузки в режим по умолчанию.
Дайте пароль root для обслуживания
(или нажмите Control-D, чтобы продолжить):

Я загрузился с живого компакт-диска, смонтировал 3 соответствующих раздела в /млн, привязан к /млн:

смонтировать /dev/sda3 /mnt
смонтировать /dev/sda2 /mnt/boot
смонтировать /dev/sda1 /mnt/boot/efi
для i in proc dev dev/pts sys tmp run; смонтировать --bind /$i /mnt/$i; сделано
chroot/мнт

Сделал мой ремонт и перезагрузил.

Теперь мой фстаб не монтирует мои разделы. Я думал, что это правильно настроено - UUID копируются прямо из черный | grep /dev/sda. Я не думал, что чего-то не хватает.

Вот ошибки, которые я вижу прямо перед тем, как перейти к подсказке аварийного режима:

[FAILED] Не удалось смонтировать /boot
Подробности смотрите в 'systemctl status boot.mount'.
[DEPEND] Ошибка зависимости для локальных файловых систем
[DEPEND] Сбой зависимости для отключения автоматических обновлений
[DEPEND] Ошибка зависимости для /boot/efi

Так что, конечно, я посмотрел на systemctl статус boot.mount, но он активен (зеленый) и говорит, что он загружен, хотя мой /ботинок папка пуста, если я не смонтирую вручную /dev/sda2.

Кажется очень странным. Почему бы загрузочное крепление скажи, что он загружается /ботинок раздел, если это явно не так?

Organic Marble avatar
флаг us
Мне понравилось читать это, но, чтобы соответствовать формату этого сайта, это должно быть вопросы и ответы. Большая часть этого больше похожа на ответ. Можно ответить на свой вопрос; рассмотрите возможность редактирования, чтобы сделать это вопросами и ответами.
Artur Meinild avatar
флаг vn
Привет.Возможно, вам повезет больше, если вы сможете уточнить, на какую именно проблему вам нужен ответ. Текста много, и мне трудно понять, какие части имеют отношение к вашей конкретной проблеме.
AveryFreeman avatar
флаг de
Привет, да, это было своего рода точкой. Сначала нет, но потом я исправил проблему, пока задавал вопрос. Я постараюсь немного сократить его.
Organic Marble avatar
флаг us
Закрытое голосование отозвано.
Рейтинг:2
флаг de

Так что я действительно понял проблему, когда писал вопрос. Как вы можете видеть из того, что я написал в начале, это был очень долгий процесс (я работал над этим около 2 дней, прежде чем дошел до того, что захотел попросить о помощи).

Если вы посмотрите в самый конец вопроса, я получил это сообщение от dmesg в процессе загрузки:

[FAILED] Не удалось смонтировать /boot
Подробности смотрите в 'systemctl status boot.mount'.

Так что, конечно, я пытался systemctl статус boot.mount чтобы увидеть, что он сказал, но он сказал загрузочное крепление активен (зеленый), он загружен и работает правильно, хотя /ботинок был пуст, если я не смонтировал его вручную /dev/sda2 (что прямо противоположно тому, что я ожидал).

Поэтому я начал думать, что что-то не так с сервисом. я отключил загрузочное крепление хотя это сказал он работал правильно:

systemctl отключить --now boot.mount

Я попытался снова включить его, но получил ошибку:

systemctl включить --now boot.mount
Не удалось включить модуль: модуль /run/systemd/generator/boot.mount является временным или сгенерирован

Хорошо, это имеет смысл, он запускается в процессе загрузки и не может быть вызван с помощью пользовательской команды. Поэтому я попытался перемонтировать все устройства с помощью:

гора -а

И увидел, что была ошибка в /etc/fstab файл:

ошибка: rw,relatime не является допустимой файловой системой

(Или что-то в этом роде).

Суть в том, что если бы я не попытался смонтировать файловую систему вручную, я бы никогда не получил такой отзыв. Сообщение об ошибке от гора -а один получает, когда фстаб содержит неправильный синтаксис, невероятно полезен. Гораздо полезнее, чем:

[FAILED] Не удалось смонтировать /boot
Подробности смотрите в 'systemctl status boot.mount'.

... а затем видим "работающий" модуль systemd для загрузочное крепление когда /ботинок не монтируется (хотя сделал доставьте меня в нужное место в конце концов).

Поэтому я отредактировал фстаб и ввел информацию о файловой системе для /ботинок раздел, который не удалось смонтировать, затем я перезапустил гора -а (который по сути делает то же самое, что и загрузочное крепление) и получил положительный ответ.

Теперь два раздела нормально монтируются после перезагрузки, и все хорошо в стране хрена и мармелада.

Если это не решит какую-либо из ваших проблем, вот несколько дополнительных заметок о процессе, через который я прошел, прежде чем перейти к пункту выше, где я искал помощь (не стесняйтесь прекращать чтение после того, как вы доберетесь до вашей проблемы):

Первоначальная проблема, с которой я столкнулся два дня назад, заключалась в том, что система пыталась загрузиться с ядер, которых больше нет в системе. Итак, после загрузки с live CD я удалил /ботинок содержимое папки (где все initrd файлы находятся).

Я подумал, что просто воссоздал бы initramfs с использованием обновление-initramfs -c -k все из текущих ядер, которые я установил, но потом я узнал, что не могу пересоздать конфигурация или же Система.карта файлы с депмод в одиночестве. Это оказалось немного более хлопотным, чем я рассчитывал.

Я обнаружил, что самый простой способ повторно сгенерировать или получить все эти файлы — это:

  1. удалить все содержимое /ботинок,
  2. удалить любой linux-образ, linux-заголовок и linux-модули файлы, которые я не собирался использовать,
  3. удалить все остаточные каталоги в /USR/библиотека/модули, а потом
  4. переустановить linux-образ, linux-модули и linux-заголовки файлы, которые я намеревался использовать (самые последние общие две версии)

Примечание. Повторная установка этих трех типов файлов Все одновременно как мне удалось получить /boot/система.карта и /загрузка/конфигурация файлы обратно - до этого только переустановка linux-образ файлы этого не делал. Возможно, они включены в модули (модули имели бы смысл) или заголовки пакеты, но это то, что сработало для меня.

  1. Потом я побежал обновление-личность после повторной установки этих файлов и подтверждения /ботинок был заполнен правильно.
  2. я тоже побежал загрузочная установка и /etc/kernel/postinst.d/zz-udpate-systemd-boot, так что я бы системная загрузка установлен как запасной вариант.

В какой-то момент после перезагрузки мне пришлось заново настраивать система.цель к многопользовательская.цель вместо графический.таргет, вероятно, из-за наличия chrooted со всеми этими монтированиями на графическом live CD для запуска ремонт обуви программа пару дней назад, которая требует графики (и я верю /dev/pts /tmp и /бег были обязаны получить дисплей: 0.0 работать):

systemctl set-default multi-user.target

Хорошо, это об этом. Надеюсь, это поможет кому-то.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.