Пост для новичков, о том как сделать красивый dualboot windows и archlinux (и других ОС) через efi без grub и лишних заморочек.
Фото для привлечения внимания:
Сразу оговорюсь.
Предполагается, что вы уже поставили windows и archlinux, понимаете как размечать диски и что куда монтировать и осталось вам только разобраться с загрузчиком. Если нет, то рекомендую посмотреть для начала вот это видео.
Я пробовал различные варианты, как описано тут, тут и тут и прочие выкрутасы с efibootmgr. Пытался добавлять опции прямо в «BIOSе» — ничего хорошего у меня не получилось, то рут раздел не находит то ещё что-то. Да и сам подход к переключению систем (жать Esc при включении ПК для выбора системы) меня не очень радовал.
Провозившись весь выходной, нашёл для себя простое и элегантное решение — пакет refind-efi (ArchWiki).
Если коротко, — достаточно установить этот пакет (pacman -S refind-efi) и выполнить refind-install, — всё.
В /boot/efi/EFI/ будет создан каталог refind и в опции загрузки добавлен новый пунк «rEFInd boot manager ».
Теперь подробнее
Для начала сверим конфигурации.
В моём случае это:
- Windows 8.1
- Arch Linux x86_64 Kernel Release: 3.14.4-1-ARCH
Вывод lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 300M 0 part
├─sda2 8:2 0 100M 0 part /boot/efi
├─sda3 8:3 0 128M 0 part
├─sda4 8:4 0 59.1G 0 part
├─sda5 8:5 0 9G 0 part /
└─sda6 8:6 0 50G 0 part /home
fdisk /dev/sda
Device Start End Size Type
/dev/sda1 2048 616447 300M Windows recovery environment
/dev/sda2 616448 821247 100M EFI System
/dev/sda3 821248 1083391 128M Microsoft reserved
/dev/sda4 1083392 125036543 59.1G Microsoft basic data
/dev/sda5 125036544 143910911 9G Linux filesystem
/dev/sda6 143910912 248768511 50G Linux filesystem
Раздел с типом «EFI System» созданный инсталятором windows, монтируем в /boot/efi/ ( /mnt/boot/efi/ ведь мы загрузились с liveiso верно?)
mkdir -p /mnt/boot/efi
mount /dev/sdaX /mnt/boot/efi
где X это номер вашего EFI раздела ( например mount /dev/sda2 /mnt/boot/efi ).
Далее перейдя в уже установленный arch ( arch-chroot /mnt/ ) устанавливаем сам refind:
pacman -S refind-efi
Если вдруг такой пакет не найден, поищите в yaourt:
yaourt refind
1 extra/refind-efi 0.7.9-1 [installed]
Rod Smith's fork of rEFIt UEFI Boot Manager - built with Tianocore UDK libs
refind-install
и если не было ошибок
reboot
После перезагрузки можно поставить в «биосе» в настройках приоритета загрузки «rEFInd boot manager » на первое место.
И не забудьте отключить «Secure Boot».
Profit! :)
В каталоге /boot/efi/EFI создана дирректория refind. В ней есть refind.conf в котором можно установить время отображения списка ОС и настроить внешний вид.
Refind сам находит установленные ОС и определяет параметры их загрузки. Так же мне очень понравилось что если вставлена загрузочная флешка или диск они тоже появляются их в списке.
Мне понравилась тема Next-Theme, положил её в /boot/efi/EFI/refind/next-theme и прописал в конфиге:
icons_dir next-theme/icons
banner next-theme/background_1200.png
Конфиг хорошо документирован и вопросов вызывать не должен.
Буду благодарен за замечания и дополнения.
Автор: kellas