Загрузчик refind

Замена grub на rEFInd

Загрузчик refind

Хочу рассказать о том, как я отказался от загрузчика grub в пользу более современного и удобного rEFInd. Эта запись будет полезна пользователям, которые имеют на своём ПК две (или более) операционные системы, используют режим UEFI и хотят привести всё это дело к человеческому виду.

Во-первых вам нужно понимать, что такое UEFI и как работают загрузчики операционной системы. Во-вторых иметь прямые руки и быть готовым отвечать за последствия их действий.

Так выглядит выбор загружаемой системы на моём ноутбуке.

Я использую HP ProBook 450 G1, на котором у меня было установлено две операционные системы: Windows и elementary OS. У вас могут быть установлены какие-то другие системы, однако всё нижесказанное применимо только к ubuntu-based.

Начнём с того, что Windows всегда ставит свой загрузчик в приоритет. А иногда и вовсе затирает другие загрузчики в efi.

Кроме того, многие ноутбуки по умолчанию не отображают меню выбора загрузки UEFI и грузят сразу же первую запись (то есть Windows).

А чтобы попасть в меню, нужно успеть после включения нажать специальную клавишу (Esc, F9 или что-то ещё). Это не очень удобно и я решил эту проблему благодаря rEFInd.

Шаг первый. В первую очередь вам нужно установить непосредственно rEFInd. На elementary OS или Ubuntu это можно сделать с помощью официального репозитория:

sudo apt-add-repository ppa:rodsmith/refind
sudo apt-get update
sudo apt-get install refind

Если вы используете elementary OS и никогда до этого не добавляли сторонние репозитории, то сперва выполните эту команду:

sudo apt install software-properties-common –no-install-recommendsНа этом всё, rEFInd установлен. Можете проверить это, перезагрузив ПК. Должно появиться меню, похожее на это:

Даже если вы удалите все операционные системы, rEFInd останется на вашем ПК и продолжит свою работу(если не трогать загрузочный efi-раздел). В дальнейшем держать репозиторий rEFInd в системе не обязательно, однако его наличие гарантирует получение обновлений загрузчика.

Шаг второй. Тут можно оставить всё как есть, но мне больше нравится тема rEFInd theme Regular вместо стандартной. Вы видели на первом скриншоте этой записи именно Regular.

Скачайте архив с DeviantArt, а содержимое архива (папку refind-theme-regular) разместите в /boot/efi/EFI/refind/. Это можно сделать с помощью файлового менеджера (обязательны права администратора), либо используя терминал:

sudo cp -r refind-theme-regular /boot/efi/EFI/refind/

Теперь включите тему в конфиг-файле. Откройте файл refind.conf, используя ваш любимый текстовый редактор или nano:

sudo nano /boot/efi/EFI/refind/refind.conf

И добавьте в конец файла строку include refind-theme-regular/theme.conf.

В этом конфиг-файле вы также можете настроить время ожидания. По умолчанию это 20 секунд, я уменьшил это значение до 5 секунд. Таймаут меняется в начале файла (строка #13). Можете перезагрузиться и проверить результат. Если вы сделали всё правильно, вы увидите новую тему оформления.

elementary OS поставляется с собственными значками для UEFI-загрузчиков, которые перекрывают значки из сторонних тем. Если вы видите странный и некрасивый значок elementary, то удалите файлы .VolumeIcon.icns и .VolumeIcon.png из корневой директории системы.

Шаг третий. rEFInd умеет как загружать grub, так и загружать ядро напрямую, минуя grub. В результате вы можете видеть в меню загрузки сразу несколько значков одной ОС.

Я решил эту проблему радикальным методом: я просто удалил grub со всеми его остатками. Не вижу в нём смысла, если rEFInd и сам умеет загружать ядро Linux.

Если вы собираетесь последовать моему примеру, то сначала убедитесь, что система действительно корректно загружается без grub.

Если всё хорошо, то сначала удалите все пакеты, связанные с grub:

sudo apt purge grub-efi-amd64 grub-efi-amd64-signed grub-common grub-efi-amd64-bin grub-common grub2-common shim-signed mokutil os-prober secureboot-db shim Также можно удалить директории /boot/grub и /boot/efi/EFI/ubuntu. После этих действий нужно обязательно установить пакет-пустышку grub-3.0, скачав его с сайта rEFInd. Если вы не сделаете этого, то при каждом обновлении ядра grub будет снова устанавливаться в систему.

Шаг четвёртый. Теперь нужно сделать так, чтобы rEFInd был в приоритете загрузки. Этот вопрос решается индивидуально для каждой железки, возможно у вас и так по умолчанию грузится rEFInd и ничего делать не нужно. На моём HP ProBook я сделал это в настройках биоса, в которых нужно было указать свой путь до загрузчика efi:

Извиняюсь за хреновое качество.

На этом всё, можете наслаждаться новым загрузчиком.

“,”author”:”Maxim Taranov”,”date_published”:”2017-07-25T16:22:24.219Z”,”lead_image_url”:”https://miro.medium.com/max/1200/1*83EmipV9qKYtP-J3aIbDDw.jpeg”,”dek”:null,”next_page_url”:null,”url”:”https://medium.com/@png2378/%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0-grub-%D0%BD%D0%B0-refind-6520ae8b97bf”,”domain”:”medium.com”,”excerpt”:”Хочу рассказать о том, как я отказался от загрузчика grub в пользу более современного и удобного rEFInd. Эта запись будет полезна…”,”word_count”:613,”direction”:”ltr”,”total_pages”:1,”rendered_pages”:1}

Источник: https://medium.com/@png2378/%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0-grub-%D0%BD%D0%B0-refind-6520ae8b97bf

The rEFInd Boot Manager

Загрузчик refind

by Roderick W. Smith, rodsmith@rodsbooks.com

Originally written: 3/14/2012; last Web page update:11/15/2020, referencing rEFInd 0.12.0

This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!

Donate $1.00Donate $2.50Donate $5.00Donate $10.00Donate $20.00Donate another value

Introduction

This page describes rEFInd, my fork of the rEFIt boot manager for computers the Extensible Firmware Interface (EFI) and Unified EFI (UEFI). rEFIt, rEFInd is a boot manager, meaning that it presents a menu of options to the user when the computer first starts up, as shown below.

rEFInd is not a boot loader, which is a program that loads an OS kernel and hands off control to it. (Since version 3.3.0, the Linux kernel has included a built-in boot loader, though, so this distinction is rather artificial these days, at least for Linux.

) Many popular boot managers, such as the Grand Unified Bootloader (GRUB), are also boot loaders, which can blur the distinction in many users' minds. All EFI-capable OSes include boot loaders, so this limitation isn't a problem. If you're using Linux, you should be aware that several EFI boot loaders are available, so choosing between them can be a challenge.

In fact, the Linux kernel can function as an EFI boot loader for itself, which gives rEFInd characteristics similar to a boot loader for Linux. See my Web page on this topic for more information.

In theory, EFI implementations should provide boot managers. Unfortunately, in practice these boot managers are often so poor as to be useless.

The worst I've personally encountered is on Gigabyte's Hybrid EFI, which provides you with no boot options whatsoever, beyond choosing the boot device (hard disk vs. optical disc, for instance). I've heard of others that are just as bad.

For this reason, a good EFI boot manager—either standalone or as part of a boot loader—is a practical necessity for multi-booting on an EFI computer. That's where rEFInd comes into play.

I decided to fork the earlier rEFIt project because, although rEFIt is a useful program, it suffers from several important limitations, such as poor control over the boot loader detection process and an ability to display at most a handful of boot loader entries on its main screen. Christoph Pfisterer, rEFIt's author, stopped updating rEFIt with version 0.14, which was released in March of 2010. Since I forked rEFIt to rEFInd, Christoph has begun pointing rEFIt users to rEFInd as a successor project.

As already noted, rEFInd is a boot manager for EFI and UEFI computers. (I use “EFI” to refer to either version unless the distinction is important.) You're ly to benefit from it on computers that boot multiple OSes, such as two or more of Linux, macOS, and Windows.

You will not find rEFInd useful on older BIOS-based computers or on systems with other types of firmware, such as older PowerPC-based Macs. Prior to mid-2011, few computers outside of Intel-based Macs used EFI; but starting in 2011, computer manufacturers began adopting UEFI in droves, so most computers bought since then use EFI.

Even so, many modern PCs support both EFI-style booting and BIOS-style booting, the latter via a BIOS compatibility mode that's known as the Compatibility Support Module (CSM). Thus, you may be using BIOS-style booting on an EFI-based computer. My page on the CSM describes how it works and why it can create problems in more detail.

If you're unsure which boot method your computer uses, check the first of the subsections, What's Your Boot Mode.

Subsequent sections of this document are on separate pages. Be aware that you probably don't need to read them all; just skip to the sections that interest you:

Note: I consider rEFInd to be beta-quality software! That said, rEFInd is a usable program in its current form on many systems. If you have problems, feel free to drop me a line.

  • Informational Web pages
    • The EFI Boot Process describes, in broad strokes, how EFI systems boot.
    • The EFI System Partition and the Default Boot Behavior covers the EFI boot process in more technical terms and in greater detail, as well as how Fedora's fallback.efi program works.
    • A Linux kernel mailing list thread describing the new EFI stub loader that was introduced in the Linux 3.3 kernel series.
    • The Arch Linux UEFI wiki page has a great deal of information on UEFI and Linux.
    • My own EFI Boot Loaders for Linux page provides information on installing and configuring several common Linux EFI boot loaders and boot managers.
    • My Linux on UEFI: A Quick Installation Guide page provides helpful tips on how to install Linux on EFI-based systems.
    • Phoenix Technologies maintains a wiki on EFI topics, including information on many EFI system calls useful to programmers.
    • Matthew J. Garrett, the developer of the shim boot loader to manage Secure Boot, maintains a blog in which he often writes about EFI issues.
    • Adam Williamson has written a good summary of what EFI is and how it works.
    • J. A. Watson has a review of rEFInd on an HP laptop on ZDNet. He had serious problems because of the HP's UEFI bugs, but finally got it to work.
    • James Jesudason has a tutorial on installing Ubuntu 13.04 beta on a Macbook Retina Pro on this blog page. I'd recommend using a Linux filesystem driver to read the kernel directly from a Linux filesystem rather than copy the kernel to the OS X partition as in the tutorial, but either method will work.
    • The Windows MBR2GPT utility, part of Windows 10 Creator's Update, can convert a Windows computer that boots in BIOS mode from an MBR disk to one that boots in EFI mode from a GPT disk. Note that I've never used this tool, and I have no idea how it would cope with a multi-boot configuration.
    • If you're interested in developing EFI software yourself, my Programming for EFI can help you get started.
    • This page describes how to set up a multi-boot of five Linux distributions and Windows using rEFInd. The method described was sub-optimal in a few ways (such as re-installing rEFInd in each distribution rather than using refind-mkdefault to adjust the boot order), but it does work.
  • Additional programs
  • Communications
    • The rEFInd discussion forum on Sourceforge provides a way to discuss rEFInd with other users or with me.
    • You can e-mail me with queries or bug reports.
    • This thread on MacRumors details efforts to boot Windows 7 and Windows 8 in EFI mode, rather than using Boot Camp, on 64-bit Macs. It can be done with some models, but is difficult, particularly for Windows 7. Be aware that the thread is long and has many false leads.

copyright © 2012–2020 by Roderick W. Smith

This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

If you have problems with or comments about this Web page, please e-mail me at rodsmith@rodsbooks.com. Thanks.

Return to my main Web page.

Источник: https://www.rodsbooks.com/refind/

Установка rEFInd в Linux

Загрузчик refind

rEFInd – это новый загрузчик операционных систем с современным красивым интерфейсом для UEFI. Он может работать только с UEFI, но позволяет загружать как Grub, Windows, так и ядро Linux напрямую. Это значит, что вы можете полностью отказаться от Grub и ускорить загрузку вашей системы.

В сегодняшней статье мы рассмотрим как выполняется установка rEFInd в Linux на примере дистрибутива Ubuntu. Несмотря на то, что инструкция ориентирована на этот дистрибутив, скорее всего она будет работать и в других основанных на Debian системах. Обратите внимание, что загрузчик можно установить только в системе с поддержкой UEFI.

1. Установка загрузчика

Этого загрузчика нет в официальных репозиториях, поэтому для его установки придется использовать PPA. Добавьте PPA в систему:

sudo apt-add-repository ppa:rodsmith/refind
sudo apt update

Затем установите загрузчик:

sudo apt install refind

Установить rEFInd намного проще по сравнению с Grub, потому что в Grub сначала надо установить сам пакет загрузчика, а затем установить его в загрузочную запись, раздел grub_bios или на раздел ESP.

Загрузчик rEFInd же поддерживает только установку на ESP раздел, поэтому он во время установки автоматически копирует туда свои файлы. То есть файлы загрузчика будут скопированы в каталог /boot/efi/EFI.

Вам только надо подтвердить это действие:

Если вы на этом этапе нажали нет, то потом вам надо будет дополнительно выполнить такую команду для установки:

sudo refind-install

2. Приоритет загрузки

После того, как загрузчик установлен надо установить его на первое место в списке загрузчиков UEFI. Для этого можно воспользоваться BIOS или утилитой efibootmgr. Для просмотра текущего списка загрузчиков и их приоритета выполните:

efibootmgr

В данном случае rEFInd получил номер 7 (007) и уже находится на первом месте. Если это не так, очередность загрузки можно поменять с помощью опции -o. Например:

efibootmgr -o 7,6,0,1,2,3,4,5

Теперь по умолчанию будет загружаться rEFInd. Выглядит он вот так:

Как установить загрузчик вы теперь знаете, давайте теперь разберемся как выполняется настройка rEFInd.

3. Скрытие лишних пунктов

Здесь есть одна проблема, одна и та же операционная система выводится несколько раз в меню, потому что выводится пункт для загрузчика Grub и непосредственно для ядра.

Вы можете полностью удалить Grub чтобы его не было, но перед этим убедитесь что всё работает. Я рекомендую оставить Grub на всякий случай, но пункты с ним из меню скрыть. Для этого откройте файл /boot/efi/EFI/refind/refind.

conf и найдите там директиву dont_scan_dirs. В конец её значения надо добавить папку с Grub на разделе ESP.

Посмотреть все папки можно командой:

ls /boot/efi/EFI

Например, в данном случае это папка EFI/ubuntu:

sudo vi /boot/efi/EFI/refind/refind.conf

dont_scan_dirs ESP:/EFI/boot,EFI/Dell,EFI/memtest86,EFI/ubuntu

Сохраните изменения и перезагрузите компьютер. Дополнительного пункта с Grub больше не будет. Для того чтобы убрать дополнительные опции загрузки вроде Fallback Loader и другие следует добавить в эту переменную также папку EFI/BOOT.

4. Удаление Grub

Если вы все же решились полностью удалить Grub из системы, то сначала выполните команду:

sudo apt purge grub

Удалите папку с файлами Grub на разделе ESP:

sudo rm -Rf /boot/efi/EFI/ubuntu

Затем загрузите пакет-заглушку с официального сайта rEFInd:

wget http://www.rodsbooks.com/refind/grub-pc_3.0-1_all.deb

И установите его:

sudo dpkg -i grub-pc_3.0-1_all.deb

Иначе после обновления системы Ubuntu может устанавливать Grub обратно.

5. Тема оформления

Если вам не нравится тема оформления загрузчика по умолчанию, то другие темы можно найти на DeviantArt.

Загрузите например rEFInd-chalkboard. Затем распакуйте архив темы и папку из этого архива скопируйте в папку /boot/efi/EFI/refind:

sudo mkdir /boot/efi/EFI/refind/themes
sudo cp -R ~/Downloads/refind_chalkboard_by_aliciatransmuted_dclswzw/rEFInd-chalkboard /boot/efi/EFI/refind/themes

Затем надо активировать тему. Для этого откройте файл /boot/efi/EFI/refind/refind.conf и добавьте в конец строчку импорта файла настроек темы. Например:

sudo vi /boot/efi/EFI/refind/refind.conf

include themes/rEFInd-chalkboard/theme.conf

Обратите внимание, что тему обязательно скидывать именно в папку themes иначе она работать не будет. После этого можно перезагрузить компьютер:

Выводы

Источник: https://losst.ru/ustanovka-refind-v-linux

Установка rEFInd

Загрузчик refind
Сегодня мы разберемся с загрузчиком rEFInd. А точнее с вопросом, как его устанавливать в качестве основного загрузчика на жесткий диск компьютера, и на флешку.
Немного о главных возможностях.

Поддержка графического и текстового режима меню.

Возможность установки собственных изображений для иконок меню и фонового изображения. Работа с файловыми системами ISO-9660, NTFS, HFS+, ext4fs, и Btrfs. Загрузка других EFI загрузчиков и приложений. Загрузка BIOS загрузчиков. Авто-определение имеющихся EFI и BIOS загрузчиков.

Возможность повторного сканирования устройств (если к примеру подключили новое устройство).

Перед началом всех манипуляций с установкой, скачаем последнюю версию загрузчика. Достать его можно по этой ссылке. На момент написания этого текста, последней была версия 0.10.4. Необходимый нам архив называется refind-bin-0.10.4.zip.
Если же, нужен EFI Shell в меню, то скачиваем архив refind-cd-0.10.4.zip с livecd версией загрузчика. Оба данных архива содержат все необходимые файлы для установки. Разница в лишь в том, что если использовать livecd версию, то мы получаем EFI Shell и экономим время необходимое на создание папок и переименование файлов загрузчика.
Так как rEFInd загрузчик для UEFI BIOS, это означает что раздел флешки, на котором он будет располагаться, должен быть отформатирован в файловую систему FAT (12,16,32), либо так, как описано в статье “Загрузка в UEFI режиме с NTFS раздела”. Во втором случае загрузчик будет загружаться с NTFS раздела.

Пример форматирования раздела.

И так, флешка отформатирована. Неважно каким способом, главное что в итоге она с пустым файловым разделом.
Создадим в корне флешки папку EFI, а внутри нее папку boot.
Извлечем содержимое папки refind архива refind-bin-0.10.4.zip в директорию EFI\boot на флешке.
Переименуем файлы refind_aa64.efi, refind_x64.efi, refind_ia32.efi в bootaa64.efi, bootx64.efi, bootia32.efi соответственно.
Так же переименуем файл refind.conf-sample в refind.conf.
Если в загрузочном меню необходимо наличие EFI Shell, то необходимо извлечь файлы shellia32.efi и shellx64.efi из livecd версии в корень флешки.
Установка загрузчика rEFInd на флешку на этом завершена. Проверим флешку загрузив ее в виртуальной машине VirtualBox. Так выглядит меню если загрузчик не нашел установленных ОС на дисках компьютера. Если к виртуальной машине подключить жесткий диск с установленными ОС Windows и Linux Ubuntu, а потом снова попробовать загрузиться с подготовленной флешки, результат будет следующим.
Теперь перейдем к установке rEFInd на жесткий диск компьютера в качестве основного загрузчика.
Рассмотрим установку загрузчика rEFInd из ОС Windows. Специально для этого я установил операционные системы Windows 8.1 и Ubuntu 16.10 на виртуальную машину, для последующей демонстрации мульти-загрузки. По умолчанию основной загрузчик Windows Boot Manager (BOOTMGR),

Первым делом, распаковываем скачанный архив с дистрибутивом rEFInd в удобное для вас место. В моем случае я это был рабочий стол.

Подключим ESP (EFI System Partition) раздел. Воспользуемся для этого DISKPART'ом. Запускаем для этого командную строку WIN+X  > Командная строка (администратор) пишем diskpart и нажимаем ENTER.
Выведем список дисков командой list disk чтобы определить номер нужного диска.
Как можно наблюдать диск в списке один с нулевым номером. Укажем что все дальнейшие действия нужно проводить с ним. Выполняем для этого команду select disk 0.
Отобразим список разделов выбранного диска командой list partition, чтобы узнать номер ESP раздела.
Определить ESP раздел можно по его маленькому размеру и “системному” типу. Как видно он расположен под вторым номером. Выберем его для дальнейших манипуляций командой select partition 2.
Подключим раздел к системе присвоив ему букву диска. Буква может быть любой незанятой системой. Выполним команду assign letter=S. После успешного выполнения команды, проводнике можно увидеть подключенный диск. Но, к сожалению, получить доступ к нему через проводник не получится.
Чтобы увидеть содержимое диска S: нужно обладать правами администратора. То есть, если к примеру запустить Far Manager от имени администратора, то он сможет войти на данный раздел. Или же с помощью командной строки запущенной от имени администратора, так же можно попасть в данный раздел.
Дальнейшие действия я буду проводить в командной строке, с Far Manager все слишком просто.

Переименуем файл refind.conf-sample в папке refind распакованного дистрибутива в refind.conf.

Скопируем путь до папки refind.
Теперь нам нужно скопировать папку refind в S:\EFI. Выполним для этого команду xcopy C:\Users\USER\Desktop\refind-bin-0.10.4\refind S:\EFI\refind\ /E используя при этом скопированный ранее путь.

Убедимся что все скопировано как надо командой dir S:\EFI\refind.
И последнее, укажем загрузчику Windows что нужно по умолчанию загружать rEFInd. Делается это командой bcdedit /set {bootmgr} path “\EFI\refind\refind_x64.efi”. Перезагрузимся и проверим результат.

Установка rEFInd закончена.
rEFInd очень прост в установке. Обладает красивым меню, удобным авто-определением загрузочных устройств, отсутствием необходимости начальной конфигурации (все работает “с коробки”). Сегодня мы рассмотрели установку на флешку, и  компьютер с ОС Windows. В следующей статье мы займемся конфигурационным файлом загрузчика. Разберем его как можно подробнее. И конечно же попробуем заявленную возможность загрузки старых ОС. “,”author”:”Автор: BootDev”,”date_published”:”2021-01-13T23:08:00.000Z”,”lead_image_url”:”https://2.bp.blogspot.com/-J_Pv_rCJ1p0/WI5fLA05K0I/AAAAAAAACRs/nKxiFq1SrXI1agMq_6O7VWxG2rVCmI06QCLcB/w1200-h630-p-k-no-nu/src_2017_01_30_002.jpg”,”dek”:null,”next_page_url”:null,”url”:”https://www.bootdev.ru/2017/02/Ustanoa-rEFInd.html”,”domain”:”www.bootdev.ru”,”excerpt”:”Установка загрузчика rEFInd. Установка rEFInd на флешку. Установка rEFInd из Windows.”,”word_count”:729,”direction”:”ltr”,”total_pages”:1,”rendered_pages”:1}

Источник: https://www.bootdev.ru/2017/02/Ustanovka-rEFInd.html

Дуалбут Gentoo Linux и Microsoft Windows на машине с UEFI с помощью rEFInd

Загрузчик refind

В Gentoo Handbook в главе про настройку загрузчика нам предлагается несколько вариантов:

  • GRUB2
    Привычный всем GRUB первой версии со временем заменили на вторую. Новая версия была создана на базе проекта PUPA. Может работать как в обычном режиме BIOS, так и в режиме EFI.
  • LILO
    Устаревший загрузчик, который уже почти нигде не используется. Не поддерживает EFI.
  • Ядро как загрузчик
    Ядро Linux позволяет собрать его с поддержкой EFI Stub, давая возможность загружаться сразу в него, минуя сторонние загрузчики. Естественно, этот вариант не подразумевает загрузки в Microsoft Windows (если, конечно, это не будет делаться через меню загрузки BIOS/EFI, что требует дополнительных действий от пользователя, чтобы выбрать другую ОС).

Однако, это не все доступные варианты. В качестве альтернативы можно также использовать нативные загрузчики EFI — например, rEFInd. Об этом и пойдёт речь в посте.

Предисловие *

Во-первых, по традиции хочу напомнить, что в этом посте некоторые действия (например, монтирование раздела в Linux) требуют прав root. Однако, в приведённых примерах я не буду указывать команду sudo.

Также, стоит отметить, что в данном примере есть некоторые допущения: Secure Boot выключен; /boot  находится на отдельном разделе; жёсткий диск имеет таблицу разделов GPT, Microsoft Windows была установлена до Gentoo Linux и раздел EFI уже существует, с ядром не используется initrd, и некоторые другие маловажные моменты. Всё абсолютно неважно если понять принцип работы, который довольно прост.

Кроме того, важно понимать, что данные принципы будут работать для любого дистрибутива с небольшими изменениями.

Установка *

Первой половиной действий необходимых для организации загрузки в режиме EFI будет установка загрузчика. Его дистрибутив можно взять на сайте проекта. Там нам будет необходимо взять последнюю версию по ссылке «A binary zip file».

Linux *

Для начала распакуем архив с загрузчиком.

$ unzip refind-bin-0.9.0.zip

В архиве мы увидим скрипты для установки, инструкции, лицензию и прочее. Так как мы будем устанавливать загрузчик вручную, нас интересует только папка refind. В ней мы найдём сам загрузчик (refind_ia32.efi refind_x64.efi), директории драйверов (drivers_ia32 drivers_x64), пример конфига (refind.conf-sample) и директории утилит (tools_ia32 tools_x64).

$ cd refind-bin-0.9.0 $ ls refind drivers_ia32 drivers_x64 icons refind.conf-sample refind_ia32.efi refind_x64.efi tools_ia32 tools_x64

Так как у нас архитектура amd64, часто так же называемая x64, можно сразу удалить лишнее.

$ rm -rf refind/{drivers_ia32,refind_ia32.efi,tools_ia32}

При желании, вы можете также удалить лишние иконки операционных систем в директории refind/icons.

Теперь нам нужно смонтировать раздел EFI. Большая часть дальнейших действий требует прав root, поэтому можно заранее сделать sudo -i.

EFI раздел определить довольно просто: чаще всего он имеет размер 100 мегабайт и тип/код раздела равен EF00.

# mount /boot # mkdir /boot/efi # gdisk -l /dev/sda Number Start (sector) End (sector) Size Code Name 1 2048 598015 291.0 MiB 2700 Basic data partition 2 598016 614399 8.0 MiB EF02 —————————————————————————– 3 614400 817151 99.0 MiB EF00 EFI system partition —————————————————————————– 4 817152 1079295 128.0 MiB 0C01 Microsoft reserved … 5 1079296 327837695 155.8 GiB 0700 6 327837696 328759295 450.0 MiB 2700 7 328759296 330330111 767.0 MiB 0700 Basic data partition 8 330330112 937699327 289.6 GiB 0700 Basic data partition # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 447.1G 0 disk ├─sda1 8:1 0 291M 0 part ├─sda2 8:2 0 8M 0 part —————————————————————— ├─sda3 8:3 0 99M 0 part —————————————————————— ├─sda4 8:4 0 128M 0 part ├─sda5 8:5 0 155.8G 0 part /media/windows ├─sda6 8:6 0 450M 0 part ├─sda7 8:7 0 767M 0 part /boot └─sda8 8:8 0 289.6G 0 part / # mount /dev/sda3 /boot/efi # ls /boot/efi EFI Temp

Скопируем загрузчик на наш раздел EFI.

# cp -r /home/skobkin/tmp/refind-bin-0.9.0/refind /boot/efi/EFI/

Windows *

Для начала, заранее распакуйте куда-нибудь архив с rEFInd. Например, пусть это будет C:\tmp\refind-bin-0.9.0\ .

Работа с diskpart

В большинстве случаев, Windows будет препятствовать монтированию раздела EFI, поэтому наиболее простым вариантом будет использование современного аналога «безопасного режима с командной строкой».

Попасть в него можно выбрав в меню завершения работы перезагрузку зажимая в этот момент клавишу Shift, затем выбрав «Troubleshooting» («Диагностика») → «Advanced options» («Дополнительные параметры») → «Command prompt» («Командная строка»).

Перед нами откроется командная строка, в которой нам будет необходимо произвести аналогичные компированию в Linux действия с поправкой на операционную систему.

Сначала смонтируем раздел с помощью утилиты diskpart. У неё довольно интуитивно понятный текстовый интерфейс с командной строкой, где нам важно знать, что есть общие команды list (вывод списка) и select (выбор элемента) для таких сущностей как disk (физический диск) и partition (раздел). Пример монтирования диска:
diskpart

Далее, в командной строке утилиты:

list disk select disk 0 list partition select partition 2 assign letter=u

Мы выбрали второй раздел на первом диске и назначили для него букву U. Теперь, если учесть, что заранее распакованный rEFInd лежит по вышеуказанному адресу, мы копируем его следующей командой:

cp C:\tmp\refind-bin-0.9.0\refind U:\EFI\

Настройка (Windows и Linux) *

Теперь скопируем конфиг.

# cd /boot/efi/EFI/refind # cp refind.conf-sample refind.conf

И отредактируем его. Как вы можете заметить, конфиг очень неплохо документирован, поэтому я предлагаю ознакомиться с настройками вместо того чтобы просто копировать указанный пример.

# refind.conf timeout 3 resolution 1024 768 showtools shell,memtest,gdisk,windows_recovery,about,reboot,shutdown,firmware scanfor manual default_selection “Gentoo Linux” menuentry “Gentoo Linux” { icon /EFI/refind/icons/os_gentoo.png ostype Linux volume boot loader /vmlinuz-4.1.6-gentoo-skobkin options “root=/dev/sda8 ro” } menuentry “Windows 10 Pro” { loader \EFI\Microsoft\Boot\bootmgfw.efi }

Описание настроек можно найти здесь. Для самой простой конфигурации нам важны лишь несколько из них:

  • volume boot
    Указывает на раздел, где находится ядро. Для того, чтобы указание в таком виде работало, у раздела должна стоять метка.
  • loader /vmlinuz-4.1.6-gentoo-skobkin
    Путь к файлу ядра относительно корня вышеуказанного раздела. Если опция volume  не будет указана — от корня раздела EFI.
  • options «root=/dev/sda8 ro»
    Путь к разделу, где находится корень файловой системы. В зависимости от того, встроен ли в ядре initrd, может появиться возможно указывать раздел по UUID и метке.

Активация *

Теперь, для того, чтобы EFI мог запускать наш загрузчик, нам нужно добавить его в хранилище конфигураций загрузчиков. Это можно сделать несколькими способами.

bcdedit *

Данный вариант не требует стороннего ПО и выполняется как и монтирование раздела EFI в Windows в командной строке «Troubleshooting»/»Диагностики» (см. копирование в Windows). Там мы выполняем две команды. Первая создаёт запись о загрузчике, а вторая задаёт его название.

bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi bcdedit /set {bootmgr} description “rEFInd boot manager”

Easy UEFI *

В качестве очень простой альтернативы bcdedit можно использовать утилиту Easy UEFI, которая позволяет прямо в загруженной ОС Windows менять параметры загрузчиков. Вам будет необходимо создать запись для rEFInd, выбрать раздел EFI и указать путь к загрузчику.

Создание записи о загрузчике rEFInd

Первая загрузка *

Теперь, когда вы закончили, остаётся проверить, находится ли «rEFInd boot manager» на первом месте в приоритетах загрузки в меню BIOS (EFI) и если это не так — исправить. Если вы всё сделали правильно — загрузчик запустится и предложит вам выбрать ОС для загрузки.

Ссылки *

Источник: https://skobk.in/2015/08/gentoo-linux-dual-boot-using-refind/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.