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

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

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

Поскольку вы говорите, что ваш загрузчик grub отображается, но меню пустое, я думаю, вам не нужно переустанавливать grub, а скорее, как вы просите, запустите update-grub. Для достижения этой цели вы можете использовать Live CD, смонтировать соответствующие разделы с вашего жесткого диска, выполнить chroot в смонтированный каталог и запустить update-grub, который должен работать так, как если бы вы работали на реальном жестком диске.

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

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

sudo mount /dev/sda5 /mnt

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

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

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

sudo mount /dev/sdaX /mnt/boot

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

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

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

sudo chroot /mnt

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

Как только вы подтвердите, что /boot/ содержит правильные файлы, что означает, что он является правильное местоположение, введите:

sudo update-grub

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

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

exit

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

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

sudo umount /mnt/devsudo umount /mnt/syssudo umount /mnt/procsudo umount /mnt/boot #Only if you mounted it earliersudo umount /mnt/

А затем перезагрузитесь, надеюсь, ваше меню Grub будет восстановлено.

Загрузитесь с живого компакт-диска.

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

sudo mount /dev/sda5 /mnt

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

sudo grub-install --корневой каталог=/mnt /dev/sda

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

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

sudo umount /dev/sda5 ; перезагрузка sudo

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

обновление sudo-grub

Вот и все!

Это решение точно такое же, как и ответ roadmr, за исключением того, что оно намного проще.

  1. Загрузитесь на компакт-диск antiX Live CD.
  2. >>>Меню приложений Системные инструменты для восстановления загрузки
  3. Выберите "Восстановить файл конфигурации GRUB" (этот параметр запускает update-grub)
  4. Выберите диск/раздел где находится /boot
  5. Перезагрузитесь, когда все закончится.

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

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

  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. загрузите компьютер с флешки с supergrub2disk на нем
  4. войдите в свой Ubuntu
  5. получите восстановление загрузки для Ubuntu из https://help.ubuntu.com/community/Boot-Repair

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

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

Инструкции для команд chainloader и multiboot Grub2 находятся по адресу Вики-справка сообщества.

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

Это работает отлично…сделал это всего 2 дня назад- <data:blog.pageTitle/>

в этом потоке хочу указать на то, что в 12.10 команда update-grub не работает с grub < 2.0 ?! - Я сам в прошлые выходные испортил свою установку 12.10 (pear OS 7.0.1) с помощью grub-install, а затем update -grub не работал - пришлось выполнить восстановление с помощью supergrub-CD…

Ссылка @Nirmik мертва :(.