Вопрос или проблема
Я только что установил Ubuntu 12.10 для двойной загрузки с Windows 8, но всякий раз, когда я выбираю Ubuntu из меню grub, он всегда зависает с этой ошибкой и не загружается:
Сдался, ожидая корневое устройство. Общие проблемы:
- Аргументы загрузки (cat /proc/cmdline)
- Проверьте rootdelay= (достаточно ли долго система ждала?)
- Проверьте root= (ожидала ли система правильное устройство?)
- Отсутствующие модули (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/920903aa-762f-40d2-8126-87f4b0e6f975 не существует. Переход к оболочке!
BusyBox v1.19.3 (Ubuntu 1:1.10.3-7ubuntu1.1) встроенная оболочка (ash)
Введите 'help' для списка встроенных команд.
(initramfs)
Я пытался воспользоваться boot-repair
, но это не помогло, вот лог, который был сгенерирован.
У меня была такая же проблема. Дело в том, что я долго не включал ноутбук, и когда я его включил, он показал то же сообщение. Похоже, что некоторые конфигурации изменились (вероятно, на настройки по умолчанию) после длительного отключения устройства.
Я решил эту проблему, следуя этой ссылке на Stack Exchange:
“Ошибка initramfs” при загрузке ТОЛЬКО на Dell XPS 13 (нормально загружается на другом компьютере)
Решение такое:
- Перезагрузить.
- Нажать F12 и зайти в настройки BIOS.
- Конфигурация системы → Операции SATA
- Сменить RAID на AHCI
Если вы установили Ubuntu Desktop на раздел/жесткий диск, который является частью массива RAID, или на зашифрованный диск, или на Windows ME, это, скорее всего, приведет к неудаче при загрузке. Установка Ubuntu Desktop на один из этих источников не поддерживается.
Если вы уже установили Ubuntu Desktop на один из вышеперечисленных источников, и он не загружается:
- Удалите Ubuntu.
- Установите Ubuntu на жесткий диск или раздел, который не является частью массива RAID, не зашифрован и не на Windows ME, и он должен нормально загрузиться.
У меня также возникла та же проблема, но я смог ее решить, используя следующую ссылку
http://blog.wittchen.biz.pl/ubuntu-system-boot-problem/
Попытка #1
Сначала я попытался изменить rootdelay, как сказано в сообщении об ошибке. Я открыл файл /etc/default/grub
Нашел там следующую строку:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
и изменил ее на:
GRUB_CMDLINE_LINUX_DEFAULT=”rootdelay=90 quiet splash”
rootdelay увеличился, но, к сожалению, это не решило проблему в моем случае.
Попытка #2
Я отредактировал файл /etc/fstab. Я выполнил следующую команду в терминале: sudo gedit /etc/fstab и отредактировал файл fstab в gedit. Вначале мой файл выглядел так:
# /etc/fstab: статическая информация о файловой системе.
#
# Используйте 'blkid', чтобы напечатать универсальный уникальный идентификатор для
# устройства; это может быть использовано с UUID= как более надежный способ именовать устройства,
# который работает даже если диски добавляются и удаляются. См. fstab(5).
#
# <файловая система> <точка монтирования> <тип> <опции> <даун> <проход>
# / был на /dev/sda1 во время установки
UUID=96889309-5f73-4688-8354-e64cd1bb158f / ext4 errors=remount-ro 0 1
# swap был на /dev/sda5 во время установки
UUID=480cc3f7-a39d-4d0f-93d5-49fc8df1a392 none swap sw 0 0
Затем я закомментировал одну строку и добавил другую, описывающую устройство диска /dev/sda1. Теперь мой файл выглядит следующим образом:
# /etc/fstab: статическая информация о файловой системе.
#
# Используйте 'blkid', чтобы напечатать универсальный уникальный идентификатор для
# устройства; это может быть использовано с UUID= как более надежный способ именовать устройства,
# который работает даже если диски добавляются и удаляются. См. fstab(5).
#
# <файловая система> <точка монтирования> <тип> <опции> <даун> <проход>
# / был на /dev/sda1 во время установки
UUID=/dev/sda1 / ext4 errors=remount-ro 0 1
# UUID=96889309-5f73-4688-8354-e64cd1bb158f / ext4 errors=remount-ro 0 1
# swap был на /dev/sda5 во время установки
UUID=480cc3f7-a39d-4d0f-93d5-49fc8df1a392 none swap sw 0 0
Проблема все еще существовала, поэтому я попробовал еще одну попытку решить ее.
Попытка #3
Я открыл терминал и набрал следующую команду:
sudo grub-install /dev/sda
а затем я ввел другую команду для обновления grub:
sudo update-grub
После всего этого я перезагрузил компьютер, и, наконец, ошибка исчезла, и проблема была решена!
У меня была такая же проблема, когда я устанавливал патчи для всей системы, включая ядро. К сожалению, пакет был поврежден, что привело к частичному обновлению ядра и его исправлению.
Я переживал по поводу проблемы, так как на сервере почты также находились данные.
Я погуглил и попробовал все возможные варианты, такие как:
1. Загрузка с живого CD
2. Выполнение fsck для корневого раздела и /boot
3. grub-install на /dev/sda (что является корневой файловой системой по умолчанию)
4. Проверка fstab
И следующее решение сделало меня счастливым, так как сервер загрузился.
–> обратите внимание, в моем случае загрузка монтирована на /boot, что является /dev/sda3, в то время как /dev/sda1
/ файловая система.
Простое решение для исправления проблемы (но нужно учитывать все модули, установленные на уровне ядра)
-
скопировать /boot с другого сервера, полное /boot, исключая grub.cfg, на внешний флеш-накопитель
-
загрузиться с живого CD
-
узнать корневую файловую систему с помощью следующей команды
fdisk -l /dev/sda -
смонтировать / файловую систему на /mnt
mount /dev/sdXY /mnt -
создать каталог для монтирования внешних данных
mkdir -p /mnt/pd -
смонтировать данные флеш-накопителя на /mnt/pd
-
теперь пришло время внести изменения в корневую файловую систему с помощью команды chroot (будьте осторожны при внесении изменений)
-
chroot /mnt
-
теперь копировать все /mnt/pd/boot/ в /mnt
-
exit
-
теперь размонтируем /mnt/pd
-
создайте новую папку mkdir -p /mnt/test
-
смонтируйте /boot на /mnt/test
mount /dev/sdXY /mnt/test
-
теперь /boot смонтирован на /mnt/test/
-
снова сделайте chroot /mnt
-
переименовать все файлы, которые содержат /mnt/test/
-
теперь скопировать /mnt/boot (который мы скопировали с pd) в /mnt/test/
-
убедитесь, что вы используете оригинальный grub.cfg /mnt/test/boot/grub/grub.cfg
-
exit
-
reboot
-
вы успешно загрузитесь на сервер без каких-либо проблем.
Я столкнулся с той же проблемой, только без строки ошибки
- Проверьте root= (ожидала ли система правильное устройство?)
я просто использовал систему Ubuntu вчера и столкнулся с этой проблемой сегодня утром. Ноутбук с двойной системой (Ubuntu и Win), и загрузчик мог позволить мне выбрать, какую систему использовать. Поэтому я попытался выбрать другое ядро Linux, чтобы избежать этой проблемы.
Ядро, версия которого не сработала:
6.8.0-40-generic
.
После смены версии ядра с вышеуказанной на 6.5.0-44-generic
, ноутбук заработал 🙂
Вчера я запускал обновления, которые не завершились должным образом, и я полагаю, что это вызвало проблему, с которой я столкнулся (и победил) сегодня.
-
Перейдите в меню GRUB
-
Выберите “Дополнительные параметры для Ubuntu”
-
Выберите более раннюю версию с режимом восстановления
-
Из списка выберите “dpkg”
Подождите немного—это займет некоторое время, и могут появиться подсказки. Вам будет предложено выбрать версию файла конфигурации.
Когда вы закончите, вы должны иметь возможность получить доступ к вашему рабочему столу. Затем выполните команду sudo dpgk --configure -a
.
Теперь вы можете снова обновить вашу Ubuntu.
Я просто начал беспорядочно набирать текст… попробуйте:
(initramfs) blkid
(initramfs) blockdev --rereadpt /dev/sda
(initramfs) blkid
(initramfs) exit
Это, по крайней мере, поможет вам добраться до рабочего стола, где вы можете начать устранять вашу проблему, которая, вероятно, вызвана проприетарным драйвером или чем-то подобным
После многочисленных попыток я, наконец, справился:
Я загрузился с USB, чтобы исправить проблему, где я обнаружил, что update-grub завершился с ошибкой “не удалось найти канонический путь в cow…”
Затем я долго пытался и нашел это:
https://askubuntu.com/a/772892/925082
где я следовал второму способу, заменив его sda5 на мой sdb6 в качестве корня
Ответ или решение
При возникновении ошибки "Gave up waiting for root device" в Ubuntu, как правило, это связано с проблемами обнаружения корневого устройства (root device) во время загрузки. Ваша проблема может возникнуть по нескольким причинам, включая неправильные настройки в файле GRUB или несуществующий UUID устройства. Вот подробный подход к решению данной проблемы:
Шаги для устранения ошибки "Gave up waiting for root device"
-
Проверка BIOS/UEFI:
- Перезагрузите компьютер и нажмите клавишу
F12
(или другую, в зависимости от вашего устройства) для доступа к BIOS/UEFI. - Откройте настройки конфигурации системы и проверьте раздел, связанный с операциями SATA. Убедитесь, что режим работы SATA установлен на AHCI, а не на RAID. Это часто решает подобные ошибки.
- Перезагрузите компьютер и нажмите клавишу
-
Использование Live USB:
- Загрузитесь с Live USB/DVD с Ubuntu.
- Откройте терминал и выполните команду для проверки состояния вашего корневого раздела:
sudo fdisk -l
- Найдите ваш корневой раздел (например, /dev/sda1).
-
Проверка файловой системы:
- Запустите
fsck
для проверки целостности файловой системы:sudo fsck /dev/sdXY
- Замените
sdXY
на ваш фактический корневой раздел.
- Запустите
-
Исправление UUID:
- Если ошибка указывает на отсутствие UUID, проверьте файл
/etc/fstab
на наличие правильных UUID для ваших разделов. Это можно сделать с помощью команд:ls -l /dev/disk/by-uuid/
- Если UUID, указанный в
/etc/fstab
, не соответствует тому, что находитblkid
, измените запись в/etc/fstab
на правильный UUID.
- Если ошибка указывает на отсутствие UUID, проверьте файл
-
Обновление GRUB:
- Установите GRUB на ваш основной диск:
sudo grub-install /dev/sda
- Обновите конфигурацию GRUB:
sudo update-grub
- Установите GRUB на ваш основной диск:
-
Изменение параметров загрузки в GRUB:
- Откройте файл
/etc/default/grub
:sudo gedit /etc/default/grub
- Найдите строку:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
- Измените ее на:
GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=90 quiet splash"
- Сохраните изменения и затем выполните команду
sudo update-grub
.
- Откройте файл
-
Проверка загрузки с других ядер:
- В меню GRUB выберите "Дополнительные параметры Ubuntu" и попробуйте загрузиться с другого ядра, например, с более старой версии.
-
Переустановка или откат обновлений:
- Если вы сделали обновления перед возникновением проблемы, попробуйте восстановить последние обновления:
- Загрузитесь в режиме восстановления (Recovery Mode) и выберите опцию для восстановления пакетов.
- Если вы сделали обновления перед возникновением проблемы, попробуйте восстановить последние обновления:
-
Кроме того, вы можете попробовать выполнить команды на уровне initramfs:
- Если вы попали в initramfs, попробуйте выполнить:
blkid blockdev --rereadpt /dev/sda
- После этого введите
exit
, чтобы попытаться продолжить загрузку.
- Если вы попали в initramfs, попробуйте выполнить:
Заключение
Если вышеперечисленные шаги не помогли, возможно, стоит рассмотреть возможность полной переустановки Ubuntu на корректно настроенном разделе без RAID и защиты. Также рекомендуется сохранять резервные копии важных данных перед выполнением любых операций по восстановлению. Если вам нужна дальнейшая помощь, не стесняйтесь обратиться к сообществу Ubuntu или специализированным форумам.