Итак, я обновил Ubuntu до последней версии Kernel. Но после обновления и после перезагрузки Ubuntu все, что я получаю, это GRUB. Как мне снова загрузить Ubuntu, когда у меня есть только GRUB?
Я установил Ubuntu с помощью wubi.
Спасибо огромное за помощь
Если вы получили приглашение grub
, а система и ядро все еще установлены в разделе, вы можете «вручную» загрузить систему - т.е. без помощи работающего grub. CFG. Это также работает с grub run из live media. Для этого grub включает элементарную команду ine, которую можно использовать для поиска раздела и загрузки системы.
find /vmlinuz
Это должно дать вам раздел вроде (hd0,0). Вы также можете использовать команду ls
, чтобы просмотреть раздел и посмотреть, какие ядра доступны. Команда search
работает аналогично. Вы также можете использовать завершение вкладки .
set root=(hd0,1)
Конечно, замените идентификатор раздела на то, что find
показал вам.
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
Выберите образ ядра и образ initrd, пару, которую всегда нужно использовать вместе. К счастью, Ubuntu создает пару символических ссылок в корневом каталоге, которые указывают на рабочий образ и initrd. Обратите внимание, что вам нужно заменить /dev/sda1
на представление раздела в схеме, используемой ядром Linux. Грубо говоря, (hd0,1)
соответствует /dev/sda1
; (hd0,2) corresponds to
/ dev / sda2 ;
(hd1,1) соответствует /dev/sdb1
.
boot
Это загружает выбранное ядро из выбранного раздела. После того, как вам удалось загрузить систему, вы можете использовать ее для восстановления grub, как подробно описано, например, здесь .
Выше было сделано предположение, что Ubuntu устанавливается регулярно, то есть в отдельный раздел. При написании вы использовали Wubi, что означает, что вы установили его в большой файл в разделе Windows (NTFS), используя технику, называемую «Lupine». Я не вижу причин, почему это не могло работать в принципе, хотя процесс более сложный. Вот содержимое grub.cfg
, основанного на установке Wubi:
insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set be300f9c300f5ab3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk
initrd /boot/initrd.img
Вам нужно будет адаптировать его к вашему конкретному случаю. В этом фрагменте, взятом из установки 10.10, команда search
находит корневой раздел, используя UUID или идентификатор файловой системы, о которых вы, вероятно, не знаете; вместо этого вы можете использовать --file --set /ubuntu/disks/root.disk
(здесь - официальная документация). Эта конфигурация grub создает виртуальный диск - «устройство обратной связи» - называемое loop0
, которое представляет содержимое «файла раздела», /ubuntu/disks/root.disk
в вашем разделе NTFS. Немного проб и ошибок вы сможете сделать эту работу.