Вопрос или проблема
Недавно я приобрел Lenovo Ideapad Slim 3 с предустановленной Windows 11. Я решил установить двойную загрузку с Ubuntu 24.04. Установка, похоже, прошла нормально, но когда появляется окно grub и я выбираю Ubuntu, я получаю это:
BusyBox v1.36.1 (Ubuntu 1:1.36.1-6ubuntu3.1) встроенная оболочка (ash)
(initramfs)
Я ввожу ‘exit’ и получаю это:
Сдался, ожидая устройство корневой файловой системы. Общие проблемы:
- Запуск загрузки (cat /proc/cmdline)
--Проверьте rootdelay= (достаточно ли долго система ожидала?)
- Отсутствующие модули (cat /proc/modules: ls /dev)
ALERT! UUID=e5d4b1c7-b00a-41bc-8903-e9693c289d1c не существует
Я понимаю, что система не может найти важный раздел, но не могу понять, как это исправить. В поисках я обнаружил, что у некоторых людей есть подобные проблемы, но ни одно из решений еще не сработало.
Выполненные действия:
- Переустановка Ubuntu
- Отключил безопасную загрузку в UEFI. Вернул возможность запускать memtest из загрузчика grub.
- Предложение Дэвида с UUID=xxx не существует. Переход в оболочку на стандартном (без двойной загрузки) на Lenovo Idea Pad 3
- Вывод списка разделов в командной строке grub показывает все нормально, насколько я вижу.
- Запуск boot-repair дважды. “Успешно” оба раза. Последний отчет здесь: https://paste.ubuntu.com/p/2FJt3HV56f
Я бы отказался от двойной загрузки и просто использовал Ubuntu, но у меня есть подозрение, что я столкнусь с той же проблемой. Если вам нужна дополнительная информация, просто спросите, и я предоставлю.
Я пробовал много других вещей, которые не сработали, но вот что сработало
по рекомендации эксперта по серверу Linux, который помог мне сузить
проблему и решить ее:
- Пересоберите Initramfs с модулями UFS. Наиболее вероятная причина сбоя (initramfs) заключается в том, что модуль ufshcd_pci отсутствует или не загружается
достаточно рано в процессе загрузки. Шаг 1: Убедитесь, что ufshcd_pci
включен в Initramfs
- Загрузитесь с живого USB и смонтируйте ваш корневой раздел:
sudo mount /dev/sdb5 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt ``` 2. Откройте файл конфигурации модуля initramfs-tools:
nano /etc/initramfs-tools/modules ```
- Добавьте следующие строки, чтобы гарантировать, что модули UFS включены:
ufshcd_core ufshcd_pci ``` Это заставляет initramfs включать эти модули во время загрузки. 4. Пересоберите initramfs:
update-initramfs -u -k all ```
- Выйдите из chroot:
exit sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt" ``` Надеюсь, это поможет следующему человеку.
Ответ перемещен из вопроса автора.
Ответ или решение
Решение проблемы с ошибкой "initramfs" при dual boot Ubuntu 24.04 и Windows 11
При установке Ubuntu 24.04 на ноутбук Lenovo Ideapad Slim 3, который уже имел предустановленную Windows 11, вы столкнулись с ошибкой «(initramfs)», где система не может найти корневую файловую систему. Эта ошибка может возникать по ряду причин, и в данной статье мы рассмотрим возможные шаги для её устранения.
Причины возникновения проблемы
Ошибка может возникать по следующим причинам:
- Неверная настройка GRUB: Не все загрузочные параметры могут быть правильно установлены, особенно в контексте UEFI.
- Отсутствие необходимых модулей: Из-за отсутствия необходимых драйверов, таких как
ufshcd_pci
, система может не видеть корневой раздел. - Повреждение файловой системы: Бывает, что файловая система Ubuntu может быть повреждена, и поэтому система не может её найти.
Что вы уже попробовали
- Переустановка Ubuntu.
- Отключение Secure Boot в UEFI.
- Изучение UUID и проверка загрузочных параметров.
- Система успешно запускалась через
boot-repair
, но проблема не была решена.
Предложенное решение
Одним из наиболее распространённых решений этой проблемы является восстановление и настройка initramfs, чтобы включить необходимые модули для работы с устройствами. Давайте рассмотрим шаги, которые помогут вам это сделать.
Шаги по восстановлению initramfs
-
Загрузка с Live USB
- Подключите установочный USB с Ubuntu и выберите загрузку в режиме «Try Ubuntu».
-
Монтирование корневого раздела
- Определите, какой раздел является корневым для вашей установки Ubuntu. Используйте команду
lsblk
для просмотра разделов. - Выполните команды для монтирования:
sudo mount /dev/sdXn /mnt # Замените sdXn на ваш корневой раздел (например, sda5) sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt
- Определите, какой раздел является корневым для вашей установки Ubuntu. Используйте команду
-
Редактирование конфигурационного файла initramfs
- Откройте файл конфигурации для модулей:
nano /etc/initramfs-tools/modules
- Добавьте следующие строки в конец файла:
ufshcd_core ufshcd_pci
- Это гарантирует, что необходимые модули будут включены в процессе загрузки.
- Откройте файл конфигурации для модулей:
-
Перестройка initramfs
- Выполните команду для обновления initramfs:
update-initramfs -u -k all
- Выполните команду для обновления initramfs:
-
Выход из chroot и размонтирование
- Выйдите из среды chroot:
exit sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt
- Выйдите из среды chroot:
-
Перезагрузка
- Перезагрузите систему и проверьте, решена ли проблема. При правильной настройке и выполнении всех шагов система должна загрузиться без ошибок.
Заключение
Устранение ошибки initramfs может показаться сложной задачей, но следуя этому плану, вы можете восстановить доступ к вашей системе Ubuntu и успешно настроить dual boot с Windows 11. Если ошибка сохраняется после выполнения всех шагов, имеет смысл рассмотреть возможность проверки оборудования или файловой системы на наличие других проблем, которые могут требовать более глубокого анализа.