Я протестировал двойную загрузку RHEL 7 с Windows Server 2008 R2 (оба в устаревшем режиме) и задокументировал это в этом видео на YouTube. Вот шаги, которые я выполнил:
Шаг 1: Освободите место для установки RHEL 7 в Windows. Обычно я использую Disk Management Utility
чтобы уменьшить один из существующих разделов NTFS. Оставьте пустое пространство нераспределенным.
Шаг 2: Загрузите установочный диск RHEL 7 в устаревшем режиме. (Хотя установочный диск Windows Server 2008 R2 должен поддерживать UEFI, он застревает на полпути после загрузки).
Шаг 3: Начать установку
Шаг 4: Сделайте несколько разделов в свободном пространстве. Я обычно создаю 3 раздела. Один с точкой монтирования '/'
второй с точкой монтирования '/boot'
а третий - раздел swap
. Первое и второе можно объединить в одно в первое. Но это вопрос выбора. Можно также создать другой раздел для точки монтирования '/home'. Пространство, которое я выделяю для раздела подкачки, обычно составляет половину моей физической памяти, так как я не запускаю много программ, требующих памяти.
Шаг 5: продолжить установку
Шаг 6: Загрузитесь в только что установленный RHEL 7. Вы заметите, что не было возможности загружаться в Windows Server 2008 R2. Удивительно, но факт.
Шаг 7: Добавьте пункт меню для Windows в /etc/grub.d/41_custom
. Пример:
cat <<EOF
menuentry "Windows Server 2008 R2" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set=root 5478AE7178AE5192
chainloader +1
}
EOF
Значение для set root=
должно указывать на раздел, который помечен как загрузочный. Чтобы проверить это, выполните команду: fdisk -l
от имени пользователя root. Пример вывода:
Device Boot Start End Blocks Id System
/dev/sda1 * 41943040 167772159 62914560 7 HPFS/NTFS/exFAT
/dev/sda2 167772160 432199679 132213760 7 HPFS/NTFS/exFAT
/dev/sda4 432199680 625141759 96471040 5 Extended
/dev/sda5 448507904 625141759 88316928 83 Linux
/dev/sda6 432201728 436398079 2098176 82 Linux swap / Solaris
Раздел с '*' в столбце 'Boot' является разделом, который должен использоваться в качестве значения для set root=
. 1 в msdos1 соответствует /dev/sda1
Аргументом --set=root
является UUID того же раздела с включенным флагом загрузки. Выясните это, выполнив команду blkid
от имени пользователя root. Пример вывода:
/dev/sda1: LABEL="OS" UUID="5478AE7178AE5192" TYPE="ntfs"
/dev/sda2: LABEL="Data" UUID="54065C15065BF688" TYPE="ntfs"
/dev/sda5: UUID="ba2f07fa-ce2e-4705-ab39-203eb2be0053" TYPE="ext4"
/dev/sda6: UUID="d472a2f9-295e-4536-8273-b7eb489fc9e4" TYPE="swap"
Восстановите конфигурацию grub, используя команду: grub2-mkconfig -o /boot/grub/grub.cfg
Шаг 8: перезагрузка. Готово!