2

Пожалуйста, извините за длину вопроса; это немного сложно объяснить.

У меня два жестких диска SATA в моем HP dc7100CMT, и их размеры составляют 500 ГБ и 160 ГБ. В большем диске у меня Windows 64 Pro 64-битная и Windows 7 Pro 64-битная, в двух разделах соответственно.

На втором диске (160 ГБ) я установил 64-разрядную версию Fedora 20 и отформатировал ее на четыре раздела: загрузочный, данные, подкачки и root (в таком порядке). Я также установил загрузчик GRUB2 в раздел "/boot". Однако, когда я включаю свой компьютер, после очистки сообщений POST, система загружается на первый жесткий диск, как это всегда было раньше. (Загрузчик Windows 7 вызывается и спрашивает меня, хочу ли я загрузить XP или 7 - это поведение должно было измениться после установки Linux.)

Когда я проверяю свой BIOS, у меня нет вариантов смены загрузочного устройства (для нескольких дисков SATA он по умолчанию запускает диск на SATA-0, и это нельзя изменить). Другое ограничение заключается в том, что я не могу изменить ни один из разделов Windows на первом диске (и на диске нет нераспределенного пространства для установки нового раздела).

Это оставляет меня с двумя вариантами:

  1. Установите GRUB2 на мой диск Windows (желательно - если возможно)
  2. Физически изменить порядок дисков, подключенных к материнской плате (очень хочу этого избежать)

У меня вопрос, как я могу попробовать вариант 1 (или что-то подобное)? Если нет, есть ли другой способ?

1 ответ1

4

Вам нужно загрузиться с установочного компакт-диска Fedora и оттуда установить GRUB на диск Windows. Это удалит загрузчик Windows, но вы все равно сможете загрузить Windows через grub.

Когда вы загрузитесь в сеанс Fedora Live, вам нужно будет смонтировать локальные диски и настроить среду chroot . Существует очень хороший ответ о том , как использовать chroot здесь , но основная процедура:

  1. Создайте необходимые каталоги

    sudo mkdir /mnt/boot /mnt/root
    
  2. Смонтируйте локальную систему Linux (измените имена устройств соответственно)

    sudo mount /dev/sdb3 /mnt/       ## the / partition
    sudo mount /dev/sdb1 /mnt/boot   ## the /boot partition
    sudo mount -t proc proc /mnt/proc
    sudo mount -t sysfs sys /mnt/sys
    sudo mount -o bind /dev /mnt/dev
    
  3. Настройте chroot

    sudo chroot /mnt
    

Теперь создайте файл конфигурации Grub. Если вы используете систему на базе Red Hat (например, Fedora), запустите

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Для систем на основе Debian запустите

sudo update-grub

Это всего лишь сценарий оболочки, который запускает приведенную выше команду grub2-mkconfig но также включает в себя set -e для обеспечения безопасности (он немедленно завершится при любых ошибках).

Убедитесь, что вывод этой команды перечисляет обе ваши системы Windows. Там должны быть такие строки, как

Found Windows 7 (loader) on /dev/sda1
Found Windows XP (loader) on /dev/sda2

Если grub правильно видел другие ваши ОС, установите его на свой первый жесткий диск. Для систем на базе Red Hat запустите:

sudo grub2-install /dev/sda

А для Debian:

sudo grub-install /dev/sda

Наконец, выйдите из chroot и перезагрузитесь:

exit
sudo reboot

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .