Как правильно настроить Grub для четырехзагрузочной загрузки Windows, Mac OS X, Linux и FreeBSD?


8

Grub сошел с ума от меня. Моя четырехъядерная система работала до тех пор, пока я не обновил Ubuntu до 12.04. Так как Ubuntu переписал материал Grub, мне пришлось восстанавливать его с помощью моих записей Mac OS X и FreeBSD. После этого, попытка загрузки Mac OS X выдала мне ошибку «не удалось открыть файл», а FreeBSD выдала ошибку «нет такого раздела». Windows и Ubuntu работали нормально.

Поэтому я снова попытался восстановить, потому что решил, что что-то пошло не так в процессе установки. Тогда только Ubuntu загрузится. Попытка загрузки Windows выдала бы мне ошибку «аргумент не указан».

Я попытался восстановить Grub еще раз, так как каждый раз получал разные результаты. На этот раз Ubuntu больше не появлялся в меню Grub, и ошибки для других ОС были такими же.

Поэтому я загрузился на Live CD с Ubuntu 12.04 и запустил Boot-Repair с рекомендуемыми настройками. Теперь Grub полностью пропущен, и Windows загружается.

Я абсолютно не знаю, что происходит или почему я получаю разные результаты каждый раз, когда переустанавливаю Grub. Вот как настроены мои разделы:

  • sda1 - накопитель,
  • sdb1 - Windows,
  • SDB2 - Mac OS X,
  • sdb3 - FreeBSD,
  • sdb4 - расширенный,
  • sdb5 - Ubuntu,
  • sdb6 - общее хранилище,
  • sdb7 - общее хранилище,

Вот мой файл grub.cfg : grub.cfg

Ответы:


1

Хорошо, похоже, что ваша установка GRUB была испорчена, а затем Boot Repair перезаписал ее Windows MBR.

Загрузитесь с Ubuntu 12.04 LiveCD и переустановите Grub2 из терминала. Я предполагаю, что вы не обновляете более старую версию Ubuntu, поставляемую с Grub Legacy. В любом случае вам нужен Grub2, который поставляется с Ubuntu по умолчанию.

Это команды, которые вы хотите выполнить, заменив / dev / sdAX разделом, на котором установлена ​​Ubuntu (который выглядит как / dev / sdb5 - вы можете проверить это с помощью 'sudo fdisk -l'):

sudo su
mkdir /mnt/root

mount -t ext4 /dev/sdaX /mnt/root
mount -t proc none /mnt/root/proc
mount -o bind /dev /mnt/root/dev
mount -o bind /sys /mnt/root/sys

chroot /mnt/root /bin/bash

sudo grub-install /dev/sda
sudo update-grub

По сути, он загружает необходимые файлы из Ubuntu, а затем использует их, чтобы найти все ваши операционные системы и настроить файл grub.cfg.

Еще немного информации об установке Grub2 здесь .


0

Вот как я бы это настроил:

1: Установите PLoP в MBR. (ссылка внизу)

2. Настройте PLoP и добавьте 4 загрузочных раздела:

A: Загрузите компьютер

б: выберите «Настройка»

c: Выберите «Профили»

d: выберите первую запись

e: изменить имя на Windows или что-то

f: установите «Показать в меню загрузки» на «да». Сделайте это для всех записей, которые вы меняете!

g: введите разделы, и когда курсор находится на «HDB1», нажмите клавишу «B» на клавиатуре

h: нажмите «ESC» для выхода, а затем нажмите «Y» и «Enter»

я: Сделайте это для следующих 3 записей, вот список разделов для каждой записи:

A: HDB1, нажмите «B» (Windows)

B: HDB2, нажмите «B» (Mac OSX)

C: HDB3, нажмите «B» (FreeBSD)

D: HDB4, нажмите «B» и нажимайте «L», пока не появится «L1» (Ubuntu)

j: Теперь вы закончили настройку PLoP. Если вы хотите настроить дополнительные параметры, обратитесь к веб-сайту.

3: Загрузите Ubuntu и FreeBSD, если можете, и update-grub. Если вы не можете загрузить ни один из них, запишите SG2D или аналогичный и установите grub на / dev / sdb3 и / dev / sdb5

4: Теперь у вас должна быть работающая система Quad-boot. Congrats! Если нет, прокомментируйте ту часть, с которой у вас были проблемы, и я постараюсь помочь.

Ссылки: PLoP: http://www.plop.at/ SG2D: http://www.supergrubdisk.org/super-grub2-disk/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.