Как запустить update-grub с LiveCD?

Хорошо, я сделал глупость. Я пытался очистить свои записи Grub и случайно удалил все ядра Linux из Grub (они все еще на жестком диске). Так что теперь, очевидно, Grub не дает мне никакого способа загрузиться в Ubuntu; Я могу нормально загружаться в Windows, но Ubuntu даже не указан.

Так что я просто хочу запустить «sudo upgrade-grub», чтобы восстановить Ubuntu в списке. Я могу загрузиться с LiveCD, но как мне выполнить эту команду? (Кстати, моя Ubuntu установлена ​​на sda5.)

62
задан 2 June 2012 в 00:38

6 ответов

Так как Вы говорите, что Ваш загрузчик личинки появляется, но меню пусто, я думаю, что Вы не должны переустанавливать личинку, а скорее, как Вы просите, выполняете личинку обновления. Для достижения этого можно использовать Живой CD, смонтировать соответствующие разделы от жесткого диска, chroot в смонтированный каталог, и выполнить личинку обновления, которая должна работать, как будто Вы воздействовали на фактический жесткий диск.

Загрузитесь со своим Живым CD, выбрав "Попытку Ubuntu без установки".

После того как это загружается, откройте терминал (ctrl-alt-t) и смонтируйте Ваш раздел Ubuntu на/mnt. Я предполагаю, что раздел Ubuntu является/dev/sda5, но необходимо определить это сами. Сообщите мне, нуждаетесь ли Вы в помощи, чтобы сделать это:

sudo mount /dev/sda5 /mnt

Затем смонтируйте еще несколько каталогов, которые необходимы:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc

Кроме того, если у Вас есть отдельный раздел начальной загрузки Ubuntu (довольно редкий в эти дни, но он может иметь место):

sudo mount /dev/sdaX /mnt/boot

Как можно сказать, есть ли у Вас раздел начальной загрузки?

После того как Вам смонтировали Ваш раздел Ubuntu, открытый /mnt/etc/fstab. Если Вы видите запись для /boot, отметьте, на какое устройство это указывает (/dev/sda4 возможно?). Это - то, которое необходимо смонтировать.

После того как они смонтированы, сделайте chroot, чтобы начать использовать смонтированный каталог в качестве корневого раздела:

sudo chroot /mnt

Вы получите a #/ подсказка. Первое, что нужно сделать, подтверждают, что Вы используете корректное /boot каталог. Перейдите в /boot/grub и посмотрите на файлы там. Должен быть набор .mod файлов и grub.cfg файла. Если каталог пуст, не продолжайте, потому что это означает, что это не Ваше фактическое boot каталог. Посмотрите выше, чтобы видеть, как определить, необходимо ли смонтировать дополнительное boot каталог.

После того как Вы подтвердили это /boot/ содержит корректные файлы, означая, что это - корректное местоположение, введите:

sudo update-grub

Это должно восстановить Ваш/boot/grub/grub.cfg файл с записями меню.

Затем выйдите из chroot:

exit

В этой точке можно хотеть проверить, что вещи были правильно обновлены. Для этого, cd /mnt/boot/grub и проверьте, что файлы личинки там, должен быть набор .mod файлов и grub.cfg, у последнего должны быть записи для Ваших ядер Ubuntu. Если Вы только видите grub.cfg и никакие .mod файлы, это означает, что это не корректный каталог начальной загрузки, посмотрите выше для того, как смонтировать отдельный раздел начальной загрузки.

Размонтируйте файловые системы:

sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot #Only if you mounted it earlier
sudo umount /mnt/

И затем перезагрузка, надо надеяться, Ваше меню Grub будет восстановлено.

81
ответ дан 2 June 2012 в 00:38

Загрузка с Live CD.

Нажмите Alt + Ctrl + T , чтобы открыть терминал и выполнить следующие команды:

sudo mount /dev/sda5 /mnt

Установить GRUB2 загрузчик:

sudo grub-install --root-directory=/mnt /dev/sda

Это /dev/sda - сам жесткий диск, а не раздел Ubuntu - /dev/sda5.

Размонтируйте раздел Ubuntu и перезагрузите компьютер следующим образом:

sudo umount /dev/sda5 ; sudo reboot

Если у вас установлено более одной ОС, переопределите ОС следующим образом:

sudo update-grub

Вот и все !

0
ответ дан 2 June 2012 в 00:38

Комбинированные инструкции roadmr и Башарата Сиалви можно найти здесь: https://askubuntu.com/a/88432/293759

Инструкции для команд по загрузке цепочек и мультизагрузки Grub2 можно найти в Справке сообщества Wiki .

0
ответ дан 2 June 2012 в 00:38

Спасибо за огромную помощь! Однако, в конце концов, похоже, ничего не получалось, и, поскольку у меня был отдельный раздел / home, я смог переустановить Ubuntu без потери данных. Мне все еще приходится переустанавливать программы и выполнять некоторые настройки, но на данный момент все выглядит хорошо.

0
ответ дан 2 June 2012 в 00:38

Моим решением этой проблемы было:

  1. загрузить supergrub2disk с http://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/
  2. положить его на подвесной http://www.supergrubdisk.org/put-super-grub2-disk-into-an-usb-pendrive-as-an-iso-image- from-windows /
  3. загрузите компьютер с pendrive с supergrub2disk на нем
  4. войдите в свою Ubuntu
  5. получите Boot-Repair для Ubuntu с https: //help.ubuntu.com/community/Boot-Repair

Возможно, это не самое быстрое решение, но для меня оно было самым простым.

0
ответ дан 2 June 2012 в 00:38

Это решение - то же самое как ответ roadmr кроме намного более легкого.

  1. Начальная загрузка в AntiX Живой CD.
  2. Меню> Приложения> Системные Инструменты> Восстановление Начальной загрузки
  3. Выбор 'Восстанавливает Конфигурационный файл GRUB' (эта опция действительно выполняет личинку обновления)
  4. Выбор диск/раздел , где начальная загрузка / находится
  5. Перезагрузка когда его законченный.

В моем особом случае, 'Переустанавливают Загрузчик GRUB', зафиксировал его для меня.. У меня есть установка окон/Linux двойной загрузки. Я использовал Macrium 7 для создания клона диска в файл. Затем восстановите тот файл к новому диску. После того, как я восстановил его к новому диску, это загрузится к черный экран с мерцающим курсором в верхнем левом углу .

1
ответ дан 22 October 2019 в 13:57

Другие вопросы по тегам:

Похожие вопросы: