Нужно мне на ноутбуке HP Pro 450 G0 поставить второй системой Linux Debian 64 bit. Вот как я пробовал это сделать.
1. Согласно рекомендациям, выставил настройки в BIOS(EFI?):
Secure Boot
disable
Boot Mode
UEFI Hybrid with CSM
Примечение: У HP на ноутбуках свой собственный загадочный то ли BIOS то ли EFI, поэтому я пишу про него как BIOS(EFI?).
2. Через загрузочный CD c LinuxMint 17.3 и gparted очистил диск и создан на нем таблицу разделов GPT
3. Установил Windows 7 64 bit с флешки, сделанной под режим инсталляции UEFI BOOT USB. При ее установке инсталлятором было создано 4 раздела:
Number Start End Size File system Name Flags
1 1049kB 106MB 105MB fat32 EFI system partition boot, esp
2 106MB 240MB 134MB Microsoft reserved partition msftres
3 240MB 105GB 105GB ntfs Basic data partition msftdata
4 105GB 315GB 210GB ntfs Basic data partition msftdata
где:
Раздел 3 - это диск C,
раздел 4 - это диск D.
4. Создал еще 4 раздела для Debian:
Number Start End Size File system Name Flags
...
5 315GB 315GB 537MB fat32 msftdata
6 315GB 420GB 105GB ext4
7 420GB 733GB 313GB ext4
8 733GB 750GB 16,8GB linux-swap(v1)
где:
Раздел 5 - для GRUB2, думал что понадобится, причем как сказано в интернетах, он должен быть обязательно FAT16/32, иначе BIOS(EFI?) его не увидит
Разделы 6 и 7 - это корень и home соответственно
5. В момент инсталляции Debian установить Grub2 в раздел 5 не получилось, потому что инсталлятор требовал чтоб файловая система была ext2 или выше. Пришлось пропустить этот шаг в надежде установить Grub2 позже.
6. Через загрузочный CD c LinuxMint 17.3 попробовал установить Grub2 в раздел 5. При выполнении команды была какая-то ошибка (к сожалению не записал), поэтому пришлось добавить флаг --force:
grub-install --force /dev/sda5
вроде grub поставился, но еще не конфигурировался. Я надеялся на то, что хотя бы проверю, что могу из BIOS(EFI?) загрузиться в консоль этого Grub2 а дальше уже сам Debian Linux как-нибудь запущу.
В результате этих действий имею:
- В BIOS(EFI?) выбран режим «UEFI Hubrid with CSM», о чем сказано ранее.
- В BIOS(EFI?) нигде нет списка сохраненных в NVRAM образов EFI.
- Загрузка Windows 7 работает при выборе пунктов OS booting или HD booting.
- Загрузка Windows 7 НЕ работает если выбрать EFI booting и указать в качестве загрузки файл /efi/boot/bootx64.efi с раздела 1. Причем не работает и в режиме «UEFI Hubrid with CSM» и в режиме «UEFI Native without CSM».
- Загрузиться в Grub на разделе 5 или в Debian Linux на разделе 6 из BIOS(EFI?) нет никакой возможности ни в каком режиме.
Тогда я сделал загрузочный CD c Super Grub 2.02 s 10 beta 5. Я могу с него грузиться в режимах «UEFI Hubrid with CSM» и в «UEFI Native without CSM». В обоих случаях этот GRUB находит Debian Linux и позволяет в него загрузиться. Он так же находит Grub на разделе 5, и позволяет загрузиться в его консоль. Кроме того, он находит EFI-файлы и партиции Windows 7, но ни с одного такого варианта Windows загрузиться не может.
Если загрузиться в режиме «UEFI Native without CSM» с этого Super Grub Disk в установленный Debian, то можно запустить команду:
# efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
No BootOrder is set; firmware will attempt recovery
В общем, нигде никаких образов EFI не хранится. Видимо, их надо как-то хитро засовывать в BIOS(EFI?), правда непонятно как их потом выбирать для загрузки.
В общем, у меня сейчас стоит задача: каким-либо образом, неважно каким, но желательно чтоб попроще, иметь возможность запускать и Windows и Debian. Сейчас я могу запускаться так:
- Windows - из BIOS(EFI?) путем выбора OS Booting/HD Booting
- Linux - из SubrGrubDisk, который физически вставлен в CD-привод, путем выбора загрузки c CD-Rom.
Но это очень неудобно все время таскать с собой CD-Rom, который может в любое время перестать читаться, да и вообще это не правильно.
Вопрос: как в 2018 году таки сделать нормальный дуалбут для двух операционных систем Windows и Linux?