Восстановление GRUB после установки Windows 7? [Дубликат]

56

Я установил Windows 7 после его сбоя, и теперь я не могу загрузить Ubuntu. Разделы Ubuntu все еще существуют. Я попытался использовать Boot-Repair , но это не сработало!

    
задан Nilav 29.11.2011 в 16:26
источник

6 ответов

47

Вы можете повторно установить grub в Master Boot Record, используя LiveCD для вашей дистрибутивной версии,

Это происходит следующим образом:

  • Загрузите LiveCD ⋯, пожалуйста, попробуйте использовать LiveCD, который имеет ту же версию Grub2, что и установленная версия

  • Установите корень установленного Ubuntu at / mnt

  • Изменить корень

  • Обновить grub

  • Установить grub

  • Reboot

Вышеупомянутые шаги: в нижней части документации сообщества Ubuntu для Grub2

После загрузки с liveCD (выберите «Try Ubuntu» на экране открытия)

Затем запустите терминал (тире, ввод-вывод, ...) ...

  • Возможно, будет легче открыть эту веб-страницу во время работы LiveCD. Firefox должен позволить вам сделать это.

Введите терминал sudo fdisk -l - и введите свой пароль, если хотите. Это нижний регистр. Найдите найденные разделы Ubuntu (из моих дисков с другими дисками - здесь):

[email protected]:~$sudo fdisk -l
...
Disk /dev/sde: 300.1 GB, 300089646592 bytes
255 heads, 63 sectors/track, 36483 cylinders, total 586112591 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f5ebeb

Device    Boot      Start         End      Blocks   Id  System
/dev/sde2       138464296   586110975   223823340    5  Extended
/dev/sde3   *        2048   138463231    69230592   83  Linux
/dev/sde5       138464298   313460279    87497991    7  HPFS/NTFS/exFAT
/dev/sde6       313460736   317650943     2095104   82  Linux swap / Solaris
/dev/sde7       317652992   581922815   132134912   83  Linux
/dev/sde8       581924864   586110975     2093056   82  Linux swap / Solaris

Partition table entries are not in disk order

Найдите свою установку Linux (Id = 83, System = Linux0, затем введите

sudo mount /dev/sde3 /mnt

, но используйте ваш раздел вместо /dev/sde3 (мой корневой раздел - sde3, sde7 - мой домашний раздел).

Предполагается, что у вас нет отдельного раздела /boot . Если вы это сделаете, вам также нужно будет установить его, набрав

sudo mount /dev/sd·· /mnt/boot

где sd·· - это раздел, в котором вы установили отдельный загрузочный каталог.

ls /mnt - просто проверьте, правильно ли я прав:

[email protected]:~$ sudo mount /dev/sde3 /mnt
[email protected]:~$ ls /mnt
bin   cdrom  etc   initrd.img      lib         media  opt   root  sbin     srv  tmp  var      vmlinuz.old
boot  dev    home  initrd.img.old  lost+found  mnt    proc  run   selinux  sys  usr  vmlinuz

Вы должны проверить, правильно ли установлена ​​загрузочная директория. Введите ls /mnt/boot , и если он пуст, загрузочный каталог не установлен. Он должен выглядеть примерно так:

[email protected]:~$ ls /boot
abi-2.6.35-30-generic     initrd.img-2.6.35-30-generic  System.map-2.6.35-31-generic
abi-2.6.35-31-generic     initrd.img-2.6.35-31-generic  vmcoreinfo-2.6.35-30-generic
config-2.6.35-30-generic  memtest86+.bin                vmcoreinfo-2.6.35-31-generic
config-2.6.35-31-generic  memtest86+_multiboot.bin      vmlinuz-2.6.35-30-generic
grub                      System.map-2.6.35-30-generic  vmlinuz-2.6.35-31-generic

Тогда:

for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt #change the root
sudo update-grub # now update grub

Пример:

[email protected]:~$ sudo for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
[email protected]:~$ sudo chroot /mnt
[email protected]:~$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.0.0-13-generic
Found initrd image: /boot/initrd.img-3.0.0-13-generic
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sdc1
done

Теперь переустановите grub в MBR. Вам нужно будет знать, с какого диска загружается ваша система, и найти его в списке fdisk -l , которое вы уже сделали. Затем введите sudo grub-install /dev/sd , заменив sd· на диск, с которого вы загрузитесь.

[email protected]:~$ sudo grub-install /dev/sd·

Затем введите Crtl-D для выхода из chroot.

Затем введите в sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done - как одну строку

[email protected]:~$ sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done

Если вы установили отдельный / загрузочный раздел, введите sudo umount /mnt/boot

[email protected]:~$ sudo umount /mnt/boot

Затем введите в sudo umount /mnt

[email protected]:~$ sudo umount /mnt

Затем введите sudo reboot , чтобы перезагрузить систему (не забудьте удалить LiveCD).

[email protected]:~$ sudo reboot

Будем надеяться, что grub будет установлен.

    
ответ дан keepitsimpleengineer 29.11.2011 в 19:07
32

Попробуйте это ...

Чтобы восстановить grub:

  1. Откройте живую версию.
  2. Откройте терминал и запустите sudo fdisk -l , чтобы узнать, где установлена ​​Linux.
  3. Запустите sudo mount /dev/sdaX /mnt , где x - это номер, который вы нашли в слове Linux в
  4. Запустите sudo grub-install --root-directory=/mnt /dev/sda , чтобы установить grub.
  5. Запустите sudo update-grub для обновления grub, и если эта команда не работает, запустите ее после перезагрузки.
  6. Reboot.
ответ дан Black Block 01.12.2011 в 00:09
17

Boot-Repair - простой инструмент для исправления частых проблем с загрузкой, которые могут возникнуть в Ubuntu, например, когда вы не можете загружать Ubuntu после установки Windows или другого дистрибутива Linux или когда вы не можете загружать Windows после установки Ubuntu или когда GRUB больше не отображается, некоторые обновления прерывают GRUB и т. Д.

Примечание: это также можно выполнить с live-CD или live-USB.

Либо добавьте «ppa: yannubuntu / boot-repair» в свои Источники программного обеспечения через Центр программного обеспечения или, ради скорости, добавьте его с помощью нового сеанса терминала:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Boot-Repair может быть установлен & amp; используется с любого сеанса Ubuntu (обычный сеанс или live-CD или live-USB). Пакеты PPA доступны для Ubuntu 10.04, 10.10, 11.04, 11.10, 12.04 и 12.10. источник

    
ответ дан Ringtail 31.03.2012 в 22:39
9

После установки Windows 7 загрузчик Windows переопределил MBR.

Чтобы исправить это, вы можете установить программу «EasyBCD» в Windows

Выполните следующие шаги для восстановления GRUB после установки EasyBCD:

  1. Запустите программу и выберите «ДОБАВИТЬ НОВЫЙ ВХОД» из панели инструментов EasyBCD

  2. Выберите «Linux / BSD» из столбца операционных систем

  3. Выберите GRUB (Legacy) под типом и нажмите значок ADD ENTRY

  4. Выберите YES для приглашения перезагрузки

  5. После перезагрузки GRUB будет отображаться раздел Ubuntu, чтобы вы могли загрузиться в Ubuntu

УДАЧА

Ссылка для скачивания: Ссылка

    
ответ дан Mysterio 29.11.2011 в 16:47
2

Boot-Repair работает:

  • У меня были Windows XP и Ubuntu на моем ПК.
  • Я установил Windows 7, в результате чего появился новый загрузчик без Ubuntu.
  • Я установил Boot-Repair с загрузочным диском и GRUB был обновлен вместе с Windows 7 и Windows XP.
ответ дан Vaibhav Dubey 20.08.2012 в 09:53
1

Один нюанс, чтобы быть осторожным - инструкции говорят, чтобы проверить, есть ли у вас отдельный загрузочный раздел, и если да, то выполните sudo mount / dev / sd ·· / mnt / boot. Я запутался здесь - у меня был загрузочный раздел, который не был моим Linux, это был мой базовый раздел (/ sda0). Поэтому я сделал эту команду и в итоге получил меню grub, которое показывало только мою загрузку Windows. Я перезапустил процедуру без выполнения sudo mount / dev / sd ·· / mnt / boot, и она отлично работала - мое прежнее меню GRUB вернулось со всеми параметрами Linux, а также Windows. Инструкции относятся только к отдельному загрузочному разделу Linux, а не к случаю, когда ваш загрузочный раздел не является Linux.

    
ответ дан Andy Weinstein 22.05.2012 в 23:17