Гость
Зарегистрироваться
Войти
Simant
Статьи
Новости
Где я?
Блог

© Дарислав



Моя музыка:
  • Группа ЧТД


  • Скачать

    Яндекс.Метрика
    Яндекс цитирования



    Gave up waiting for root device после обновления Ubuntu

    Привет всем! Настигла меня недавно сия трабла в таком виде, что решения в инете не нашлось. Суть траблы в том, что InitRAM не может найти рутовый хард. После загрузчика получаем такую вот колбасу:

    Gave up waiting for root device. Common problems:
    - Boot args (cat /proc/cmdline)
    - Check rootdelay= (did the system wait long enough?)
    - Check root= (did the system wait for the right device?)
    - Missing modules (cat /proc/modules; ls /dev)
    ALERT! /dev/disk/by-uuid/*** does not exist. Dropping to a shell!

    В интернетах предлагается куча версий решения этой проблемы от банального exit через пару минут до масштабных правок конфы GRUB и даже настроек BIOS.

    Все, кто попадал в эту ситуацию, вероятно уже столкнулись с тем, что ни одно решение из предложенных не спасает, если проблема возникла из-за обновления Ubuntu (kubuntu, edubuntu etc) до следующей версии. Когда-то давно с версией 9.04 я и морочиться не стал, переустановил с нуля и забыл. Но в этот раз мне стало жалко систему и времени на повторную настройку, так как слить /home и /etc некуда, нет места.

    Долгие пляски с бубном вокруг компа и гугла привели меня (совершенно случайно) к мысли, что надо бы обновить ядро. Каково же было мое удивление, когда обнаружилось, что ядро от 13.04 вообще не установлено! То есть, обновлялка поставила новый GRUB, заточеный под новое ядро, а про само ядро почему-то забыла.

    Кому-то хватит и этого, чтобы уже начать действовать и поставить ядро. Для всех остальных, пишу дальше. Берем liveCD с любым Ubuntu, грузимся с него, и лезем в консоль. Затем монтируем наш системный раздел и все необходимое для chroot (ну и сам chroot):

    # mkdir /mnt/hd # mount /dev/disk/by-uuid/*** /mnt/hd # mount --bind /dev /mnt/hd/dev # mount --bind /run /mnt/hd/run # mount --bind /sys /mnt/hd/sys # mount --bind /proc /mnt/hd/proc # chroot /mnt/hd

    Не забываем таже, что все выш описанное должно быть выполнено от имени пользовател root, иначе ничего не получится. Для Ubuntu с установочных дисков это не проблема. Просто пишем "sudo bash" и радуемся.

    Далее лично я пользуюсь aptitude. В нем проще найти список ядер и установить нужные (хотя, возможно, я просто чего-то не знаю про apt). Мои действия в aptitude можно записать одной командой:

    # apt-get install linux-image-3.8.0-28-generic

    После этого трабла исчезает, как будто ее и не было никогда. С оговоркой на актуальную версию ядра для конкретной версии ubuntu.

    Дата публикации: 2013-07-30 17:37:54

    © 2007-2024, Simant