Сдался, ожидая устройство корневой файловой системы – ошибка initramfs – Какова исправление?

Вопрос или проблема

После того как, казалось, успешной установки Linux, я получил эту ошибку при попытке загрузки.

Сдался, дожидаясь устройства корневой файловой системы.
Распространенные проблемы:
Boot Args ( cat /proc/cmdline )
Проверьте rootdelay=( ждал ли система достаточно долго )
Отсутствующие модули ( cat/proc/modules; ls /dev )
UUID = XXXXXXXX - XXXX - XXXX - XXXX - XXXXXXXXXXXX не существует

// подтверждено, что это совпадает и является UUID выше
c00a3975-a1f2-4f8f-b390-a209c6b3aabe ( по gparted ) /dev/sdb5, ext4

Часть, которая мне кажется странной, это то, что работающая версия Ubuntu 22.04 с моего USB-накопителя работает отлично. Но когда я устанавливаю её и пытаюсь запустить, возникает эта ошибка.

initramfs похоже способна обнаружить мой SSD. Что также странно, потому что в живой версии я вижу его как на ладони в Gparted и даже смог подтвердить, что в initramfs был правильный UUID.

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

Я уже убедился, что Windows не шифрует диск – я отключил bitlocker, отключил TPM, отключил быструю загрузку. Это были другие случайные решения, которые я нашел в интернете.

Мой вопрос таков: какой хороший подход к устранению неполадок, чтобы решить эту проблему? Каков следующий шаг в этом подходе.

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

Что меня смущает, так это то, что я думал, что основная цель запуска живой версии перед установкой – это удостовериться, что все работает. Она работает в живом режиме, но фактическая установка на мой SSD не работает.

Ближайшее решение, которое я нашел, это этот пост здесь, но это было для UFS дисков, а у меня NVMe.

Ответ или решение

Решение проблемы "Gave up waiting for the root file system device" в режиме initramfs при установке Linux

Введение

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

Шаг 1: Анализ сообщения об ошибке

Сообщение об ошибке "Gave up waiting for the root file system device" указывает на то, что системы не удалось получить доступ к заданному устройству для загрузки. Ваша команда cat /proc/cmdline может помочь определить, правильно ли передаются аргументы загрузки.

Общие причины:

  • Некорректные аргументы загрузки: Проверьте root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX и убедитесь, что UUID соответствует тому, что вы видите в gparted.
  • Нехватка времени ожидания: Проверьте, установлен ли параметр rootdelay=, и увеличьте его значение. Например, попробуйте rootdelay=30.
  • Отсутствие необходимых модулей для NVMe: Используйте команду lsmod во время режима initramfs, чтобы проверить, загружены ли все необходимые модули. Появление NVMe устройств требует, чтобы соответствующий модуль (например, nvme) находился в инициализации.

Шаг 2: Проверка конфигурации загрузчика

2.1 Переменные среды GRUB

Откройте файл /etc/default/grub в любом текстовом редакторе и добавьте или измените строку:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rootdelay=30"

Затем выполните:

sudo update-grub

Это обновит конфигурацию загрузчика GRUB.

2.2 Переинициализация initramfs

Выполните в терминале команды для переинициализации initramfs:

sudo update-initramfs -u

Шаг 3: Проверка конфигурации жесткого диска

Иногда системы могут неправильно распознать корневую файловую систему из-за конфигурации разделов.

  • Проверка файловой системы: Загрузитесь с Live-USB и проверьте файловую систему вашего корневого раздела с помощью команды:
sudo fsck /dev/sdb5

Замените /dev/sdb5 на ваш соответствующий раздел.

  • Переподключение драйвера NVMe: В некоторых случаях, переподключение NVMe-устройства в BIOS может решить проблему. Проверьте, что он правильно сконфигурирован и включен.

Шаг 4: Завершение и тестирование

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

  • Изменить BIOS на Legacy Mode: Иногда проблемы с совместимостью могут возникнуть из-за UEFI. Попробуйте загрузить систему в режиме совместимости (Legacy).
  • Переустановка GRUB: Если GRUB все еще вызывает проблемы, переустановите его:
sudo grub-install /dev/sda
sudo update-grub

Заключение

Решение ошибки "Gave up waiting for the root file system device" может потребовать нескольких итераций и тестирования различных подходов. Хотя, как вы уже заметили, некоторые простые настройки, такие как отключение BitLocker, работают в большинстве случаев, реальная проблема может быть связана с конфигурацией загрузчика или драйверами.

Каждый шаг следует выполнять с осторожностью, а альтернативный вариант — обратиться к документации сообщества и техническим форумам для получения дополнительной информации и поддержки.

Оцените материал
Добавить комментарий

Капча загружается...