[РЕШЕНО] GRUB2. UEFI + Gentoo + Windows 10 на одном HDD. Хочу уточнить, правильно ли я понял?
Здравствуйте! Пытаюсь разобраться с двойной установкой Gentoo + Windows с UEFI и диском с GPT. Есть установленная Win10, которая уже создала свой раздел на /dev/sda2 в формате FAT32. В parted "p" он отображается с Flags = boot, esp. По hendbook нужно сказать parted
(parted)set 2 bios_grub on
Вроде бы, мне нужно будет GRUB2 ставить в раздел /dev/sda2. Я так понял, что он просто допишется в этот раздел при
root #grub-install --efi-directory=/boot/efi
и потом, в UEFI, можно будет выбрать из 2х загрузчиков - видовый и GRUB2. Вот вопрос, нужно ли делать это "set 2 bios_grub on" или нет? Просто я боюсь, что если сделать "set", то Винда потом не загрузится.
Простите, за нубский вопрос, я последний раз gentoo ставил году в 2007 :), тогда всё было проще, было просто MBR и всё. И я не делал двойную загрузку, сносил винду напрочь :) Тогда у меня этих вопросов не возникало :)
- Для комментирования войдите или зарегистрируйтесь
/
1. Дуалбут ненужен!
2. Груб ненужен.
3. GPT скорее полезен.
4.
sys-boot/refind
в помощь.:wq
--
Live free or die
Спасибо большое! Завтра
Спасибо большое! Завтра попробую сделать, как Вы советуете, по модному :) Нашел статью https://geektimes.ru/post/275854/ Сейчас разбираюсь :)
Не нужны никакие грубы и рефайнды
Собственно, для загрузки в UEFI-системах и пресловутый-какой-то-там-рефайнд тоже ни к чему. Вам свистульки, или ехать?
Провозился несколько дней с
Провозился несколько дней с этим UEFI - вроде бы всё, теперь понял про эти новшества, в общих чертах, НО никак не могу заставить этот rEFInd загружать ядро. Подскажите, где копать? Ситуация такая.
/dev/sda2 - ESP
/dev/sda8 - /
/dev/sda6 - /boot
Сделал chroot, установил portage и всё прочее по handbook. Установил rEFInd по этой инструкции
https://wiki.gentoo.org/wiki/Refind
записал rEFInd в NVRAM
и так (по инструкции в вышеприведенной ссылке)
# efibootmgr -c -l '\EFI\refind\refind_x64.efi' -L rEFInd -p 1
и так (http://www.rodsbooks.com/refind/installing.html#linux)
# efibootmgr -c -l \\EFI\\refind\\refind_x64.efi -L rEFInd2
В UEFI пробую по очереди загрузку с помощью этих созданных записей (rEFInd и rEFInd2). Ожидаю, увидеть интерфейс загрузки rEFInd и, то, что будет грузитсья хотя бы Win10. В итоге после перезагрузки попадаю обратно в UEFI(BIOS). Т.е. ничего не загружается (меню от rEFInd не наблюдаю). Что я делаю не так? Подскажите пожалуйста, мне ещё ядро настраивать, потом ещё дрова от nVidia и CUDA, и Theano с CUDA'ой скрещивать, закопался я совсем, на этой загрузке застрял :)
А в UEFI(BIOS) случаем нельзя
А в UEFI(BIOS) случаем нельзя ли выбрать что за систему загружать?
Ну и на всякий случай - а установка и настройка были сделаны загрузившись в UEFI режиме?
Можно. В UEFI я выбираю, что
Можно. В UEFI я выбираю, что загружать, Wind'у или rEFInd. Выбираю, разумеется, rEFInd.
Ну вообще изначально я накосячил при установке rEFInd'а. Я загрузился с minimal CD, который загрузился в режиме legacy, разметил диск по handbook, установил portage, скомпилировал ядро и пр. Потом сделал emerge sys-boot/refind. Только потом смонтировал ESP в /boot/efi (папку efi я создал сам, поскольку у меня её не было), скопировал всё, что было надо по (https://wiki.gentoo.org/wiki/Refind) в соотв места в ESP, да ещё и скрипт запустил refind-install, хотя нужно было что-то одно сделать (или вручную или скрипт). При этом efibootmgr не запускал. Потом после перезагрузки понял, что ничего не грузится, решил запустить efibootmgr. Смонтировал всё обратно, сделал chroot, установил efibootmgr и запустил, он не отработал, поскольку я был в режиме legacy и он не имел доступа к VMRAM. Потом загрузился с SystemRescueCd (на этот раз получилось загрузиться в EFI-режиме) (http://www.system-rescue-cd.org/) опять всё смонтировал и сделал chroot и только потом у меня смог отработать efibootmgr. Т.е. не совсем по инструкции получилось :)
PS У меня материнка ASUS P9X79E_WS (https://www.asus.com/ru/Motherboards/P9X79E_WS/overview/) БИОС обновлял в 2013 - 2016 (точно не помню). Данные из UEFI. Версия BIOS (1704 x64); Дата создания (05/08/2015); Версия EC (MBEC-x79-0606); Версия ME (8.1.10.1286). Хотя внизу экрана написано Version 2.10.1208. Copyright (2013) American и пр.
Тоесть, сам rEFInd
Тоесть, сам rEFInd запускается, можно бродить по его менюшкам но он не находит ОС ?
Нет, как раз rEFInd и не
Нет, как раз rEFInd и не запускается. Начинается загрузка, но до rEFInd (и до его меню) дело так и не доходит. Просто комп грузится, а потом сам попадает в UEFI(bios) (без всякого нажатия Del или F2).
Кстати, тоже самое происходит, если попытаться загрузится с minimal CD, заспанному на флешку. Т.е. если в UEFI поставить флешку единственным устройством для загрузки в режиме uefi, то при загрузке опять попадаешь в UEFI(bios) и так каждый раз, до тех пор пока в ручную в UEFI не выберешь загрузиться с usb(флешка, без uefi). При этом, если записать этот образ (http://www.system-rescue-cd.org/) , то всё ок, грузиться с флешки и в uefi снова не попадает.
Похоже, что я понял в чем
Похоже, что я понял в чем дело, только не знаю, как поправить. Вот вывод команды efibootmgr -v
https://cloud.mail.ru/public/DTt6/N24X6raKS
Получается, что efi запись Microsoft и refinder ссылаются на разные разделы диска - HD(2, GPT, .....) и HD(1, GPT, .....) соответственно. Как можно указать конкретный диск efibootmgr'у при создании записи в NVRAM? Хотелось бы точной подсказки, а то я начитался в интернетах про окирпичивании мат. плат - не хочется лишний раз экспериментировать с NVRAM и efibootmgr :)
refind-install вообще-то
вообще-то есть
ну а про порчу nvram – да, сталкивался с устойчивым косяком на каком-то ноуте гнусмаса. в этом случае как раз-таки рефинд и полезен, ибо при обновлении ядра не надо ничего изменять в nvram.
вот рабочая конфигурация:
# mount /boot/efi
# lsl /boot/efi/EFI/gentoo/ ↑
total 10308
-rwxr-xr-x 1 root root 793 Mar 26 12:40 refind_linux.conf
-rwxr-xr-x 1 root root 5273856 Mar 31 13:58 vmlinuz-4.10_p2-pf-Mar21.efi
-rwxr-xr-x 1 root root 5275040 Apr 4 09:33 vmlinuz-4.10_p3-pf-Apr04.efi
# lsl /boot/efi/EFI/tools ↑ 5m
total 1920
-rwxr-xr-x 1 root root 74834 Mar 22 2016 gptsync_x64.efi
-rwxr-xr-x 1 root root 5020 Mar 26 2016 MemTest86.log
-rwxr-xr-x 1 root root 930136 Mar 22 2016 memtest86_x64.efi
-rwxr-xr-x 1 root root 943552 Mar 27 2016 shell.efi
# lsl /boot/efi/EFI/refind/drivers_x64
total 364
-rwxr-xr-x 1 root root 83584 Nov 2 08:37 btrfs_x64.efi
-rwxr-xr-x 1 root root 67642 Nov 2 08:37 ext2_x64.efi
-rwxr-xr-x 1 root root 68154 Nov 2 08:37 ext4_x64.efi
-rwxr-xr-x 1 root root 67678 Nov 2 08:37 iso9660_x64.efi
-rwxr-xr-x 1 root root 76361 Nov 2 08:37 ntfs_x64.efi
# cat /boot/efi/EFI/gentoo/refind_linux.conf
"Default" "root=PARTUUID=xxxxxxxxx ro rootfstype=btrfs resume=PARTUUID=yyyyyyy enable_mtrr_cleanup mtrr_spare_reg_nr=1"
"-mtrr" "root=PARTUUID=xxxxxxxxx ro rootfstype=btrfs resume=PARTUUID=yyyyyyy"
"Console" "root=PARTUUID=xxxxxxxxx ro rootfstype=btrfs resume=PARTUUID=yyyyyyy quiet nox"
"Console+PM debug" "root=PARTUUID=xxxxxxxxx ro rootfstype=btrfs resume=PARTUUID=yyyyyyy quiet nox no_console_suspend"
"Emergency" "root=PARTUUID=xxxxxxxxx ro rootfstype=btrfs 1"
# GR '^ *[^#]' /boot/efi/EFI/refind/refind.conf ↑
timeout 10
textonly
textmode 2
showtools shell, memtest, windows_recovery, about, reboot, exit, firmware
scanfor internal,external,hdbios,biosexternal,optical,cd
scan_delay 2
dont_scan_dirs ESP:/EFI/boot,EFI/Dell,EFI/memtest86
default_selection "SSD_EFI,vmlinuz"
в refind.conf все menuentry отключены:
Похоже, что тоже сам
Похоже, что тоже сам разобрался :) Эта строчка меня спасла
efibootmgr -c -l \\EFI\\refind\\refind_x64.efi -L rEFIndMULTI -d /dev/sda -p 2
Анархисты не нужны,
ходить только строем, печатая шаг, начинать только с левой ноги! %)
нужен os-prober или как там его, в общем чтоб вин увидел и в конфиг груба добавил. Я делал без efi по старинке как двойную загрузку с вин 7. Тогда и в вин можно выбрать windows/gentoo и в grub тоже windows/gentoo
типа такого. Выглядит страшно, но работает
а grub ставил в /dev/sda насколько помню
Спасибо! Попробую совет
Спасибо! Попробую совет Anarchist'а, уж больно красиво автор статьи https://geektimes.ru/post/275854/ всё рассказал, подробно :) Похоже на более современный вариант. Если не получится, то попробую Ваш вариант. Ещё раз спасибо за помощь.
Всем огромное спасибо,
Всем огромное спасибо, проблема решена! Всё грузится, буду переходить к настройке ядра. Отдельное спасибо, Anarchist'у за наводку на rEFInd - теперь у меня всё красиво и удобно загружается :)