Refind boot manager установка тем



rEFInd

rEFInd is a UEFI boot manager capable of launching EFISTUB kernels. It is a fork of the no-longer-maintained rEFIt and fixes many issues with respect to non-Mac UEFI booting. It is designed to be platform-neutral and to simplify booting multiple operating systems.

Contents

Installation

Installing the rEFInd Boot Manager

rEFInd ships with UEFI drivers that implement read-only support for ReiserFS, Ext2, Ext4, Btrfs, ISO-9660 and HFS+. Additionally rEFInd can access any file system that UEFI itself can, that includes FAT (as mandated by the UEFI specification), HFS+ on Macs and ISO-9660 on some systems.

To use the rEFInd, you must install it to the EFI system partition either using the refind-install script or by copying the files and setting up the boot entry manually.

Installation with refind-install script

The rEFInd package includes the refind-install script to simplify the process of setting rEFInd as your default EFI boot entry. The script has several options for handling differing setups and UEFI implementations. See refind-install(8) or read the comments in the install script for explanations of the various installation options.

For many systems it should be sufficient to simply run:

This will attempt to find and mount your ESP, copy rEFInd files to esp/EFI/refind/ , and use efibootmgr to make rEFInd the default EFI boot application.

Alternatively you can install rEFInd to the default/fallback boot path esp/EFI/BOOT/bootx64.efi . This is helpful for bootable USB flash drives or on systems that have issues with the NVRAM changes made by efibootmgr:

Where /dev/sdXY is your EFI system partition (the block device, not its mountpoint).

After installing rEFInd’s files to the ESP, verify that rEFInd has created refind_linux.conf containing kernel parameters in the same directory as your kernel. Then this will not be created if you used the —usedefault option, run mkrlconf as root to create it.

By default, rEFInd will scan all of your drives (that it has drivers for) and add a boot entry for each EFI bootloader it finds, which should include your kernel (since Arch enables EFISTUB by default). So you may have a bootable system at this point.

Secure Boot

Using PreLoader

See Secure Boot#Set up PreLoader to acquire signed PreLoader.efi and HashTool.efi binaries.

Execute refind-install with the option —preloader /path/to/preloader

Next time you boot with Secure Boot enabled, HashTool will launch and you will need to enroll the hash of rEFInd ( loader.efi ), rEFInd’s drivers (e.g. ext4_x64.efi ) and kernel (e.g. vmlinuz-linux ).

See refind-install(8) for more information.

Using shim
Using hashes

To use only hashes with shim, execute refind-install with the option —shim /path/to/shim

Next time you boot with Secure Boot enabled, MokManager will launch and you will need to enroll the hash of rEFInd ( grubx64.efi ), rEFInd’s drivers (e.g. ext4_x64.efi ) and kernel (e.g. vmlinuz-linux ).

Using Machine Owner Key

To sign rEFInd with a Machine Owner Key (MOK), install sbsigntools .

Execute refind-install with the options —shim /path/to/shim and —localkeys :

refind-install will create the keys for you and sign itself and its drivers. You will need to sign the kernel with the same key, e.g.:

Once in MokManager add refind_local.cer to MoKList. refind_local.cer can be found inside a directory called keys in the rEFInd’s installation directory, e.g. esp/EFI/refind/keys/refind_local.cer .

See refind-install(8) for more information.

Using your own keys

Create directory /etc/refind.d/keys and place Signature Database (db) key and certificates in it. Name the files: refind_local.key (PEM format private key), refind_local.crt (PEM format certificate) and refind_local.cer (DER format certificate).

When running install script add option —localkeys , e.g.:

rEFInd EFI binaries will be signed with the supplied key and certificate.

Manual installation

If the refind-install script does not work for you, rEFInd can be set up manually.

First, copy the executable to the ESP:

If you want to install rEFInd to the default/fallback boot path replace esp/EFI/refind/ with esp/EFI/BOOT/ in the following instructions and copy rEFInd EFI executable to esp/EFI/BOOT/bootx64.efi :

Then use efibootmgr to create a boot entry in the UEFI NVRAM, where /dev/sdX and Y are the device and partition number of your EFI system partition. If you are installing rEFInd to the default/fallback boot path esp/EFI/BOOT/bootx64.efi , you can skip this step.

At this point, you should be able to reboot into rEFInd, but it will not be able to boot your kernel. If your kernel does not reside on your ESP, rEFInd can mount your partitions to find it — provided it has the right drivers.

rEFInd automatically loads all drivers from the subdirectories drivers and drivers_arch (e.g. drivers_x64 ) in its install directory.

Now rEFInd should have a boot entry for your kernel, but it will not pass the correct kernel parameters. Set up #Passing kernel parameters. You should now be able to boot your kernel using rEFInd. If you are still unable to boot or if you want to tweak rEFInd’s settings, many options can be changed with a configuration file:

The sample configuration file is well commented and self-explanatory.

Unless you have set textonly in the configuration file, you should copy rEFInd’s icons to get rid of the ugly placeholders:

You can try out different fonts by copying them and changing the font setting in refind.conf :

Upgrading

Pacman updates the rEFInd files in /usr/share/refind/ and will not copy new files to the ESP for you. If refind-install worked for your original installation of rEFInd, you can rerun it to copy the updated files. The new configuration file will be copied as refind.conf-sample so that you can integrate changes into your existing configuration file using a diff tool. If your rEFInd required #Manual installation, you will need to figure out which files to copy yourself.

Pacman hook

You can automate the update process using a pacman hook:

Where the Exec= may need to be changed to the correct update command for your setup. If you did #Manual installation, you could create your own update script to call with the hook.

Configuration

The rEFInd configuration refind.conf is located in the same directory as the rEFInd EFI application (usually esp/EFI/refind or esp/EFI/BOOT ). The default configuration file contains extensive comments explaining all its options, see Configuring the Boot Manager for more detailed explanations.

Passing kernel parameters

There are two methods for setting the kernel parameters that rEFInd will pass to the kernel.

For kernels automatically detected by rEFInd

For automatically detected kernels you can either specify the kernel parameters explicitly in /boot/refind_linux.conf or rely on rEFInd’s ability to identify the root partition and kernel parameters. See Methods of Booting Linux: For Those With Foresight or Luck: The Easiest Method for more information.

  • rEFInd will automatically choose the Arch Linux icon ( os_arch.png ) for the boot entry when /etc/os-release is on the same partition as the kernel. If your /boot is a separate partition see Configuring the Boot Manager: Setting OS Icons.
  • rEFInd does not support detecting the distribution of unified kernel images. To have a icon for a unified kernel image, copy /usr/share/refind/icons/os_arch.png to esp/EFI/Linux/ and make sure the file names match. E.g., if you have esp/EFI/Linux/Arch-linux.efi , then name the icon— esp/EFI/Linux/Arch-linux.png .

For rEFInd to support the naming scheme of Arch Linux kernels and thus allow matching them with their respective initramfs images, you must uncomment and edit extra_kernel_version_strings option in refind.conf . E.g.:

  • rEFInd only supports detecting one initramfs image per kernel, meaning it will not detect fallback initramfs nor microcode images. They must be specified manually.
  • Without the above extra_kernel_version_strings line, the %v variable in refind_linux.conf will not work for Arch Linux kernels.
Читайте также:  Для чего нужен мастер установки
refind_linux.conf

If rEFInd automatically detects your kernel, you can place a refind_linux.conf file containing the kernel parameters in the same directory as your kernel. You can use /usr/share/refind/refind_linux.conf-sample as a starting point. The first uncommented line of refind_linux.conf will be the default parameters for the kernel. Subsequent lines will create entries in a submenu accessible using + , F2 , or Insert .

Alternatively, try running mkrlconf as root. It will attempt to find your kernel in /boot and automatically generate refind_linux.conf . The script will only set up the most basic kernel parameters, so be sure to check the file it created for correctness.

If you do not specify an initrd= parameter, rEFInd will automatically add it by searching for common RAM disk filenames in the same directory as the kernel. If you need multiple initrd= parameters, you must specify them manually in refind_linux.conf . For example, a microcode passed before the initramfs:

  • initrd path is relative to the root of the file system on which the kernel resides. This could be initrd=\boot\initramfs-%v.img or, if /boot is a separate partition (e.g. the ESP), initrd=initramfs-%v.img .
  • Use backslashes ( \ ) as path separators in the initrd parameter, otherwise the kernel may fail to find the initramfs image(s): EFI stub: ERROR: Failed to open file: /boot/intel-ucode.img .
  • If using Booster generated initramfs images, replace initramfs with booster in the initramfs files name. E.g. initrd=\boot\booster-%v.img .
Without configuration

If you merely install rEFInd onto the ESP and launch it without any further ado (say via UEFI shell or KeyTool, or directly from firmware) you still get a menu to boot from via autodetection, with no configuration required whatsoever.

This works because rEFInd has a fallback mechanism that can:

  • Identify the root partition (for root= parameter ) via the Discoverable Partitions Specification or /etc/fstab .
  • Detect kernel options ( ro or rw ) from GPT partition attributes (using attribute 60 «read-only») or /etc/fstab .

Manual boot stanzas

If your kernel is not autodetected, or if you simply want more control over the options for a menu entry, you can manually create boot entries using stanzas in refind.conf . Ensure that scanfor includes manual or these entries will not appear in rEFInd’s menu. Kernel parameters are set with the options keyword. rEFInd will append the initrd= parameter using the file specified by the initrd keyword in the stanza. If you need additional initrds (e.g. for Microcode), you can specify them in options (and the one specified by the initrd keyword will be added to the end).

Manual boot stanzas are explained in Creating Manual Boot Stanzas.

It is likely that you will need to change volume to match either a filesystem’s LABEL, a PARTLABEL, or a PARTUUID of the partition where the kernel image resides. The PARTUUID needs to be in uppercase. See Persistent block device naming#by-label for examples of assigning a volume label. If volume is not specified it defaults to volume from which rEFInd was launched (typically EFI system partition).

  • loader and initrd paths are relative to the root of volume . If /boot is a separate partition (e.g. the ESP), the loader and initrd paths would be /vmlinuz-linux and /initramfs-linux.img , respectively.
  • Use backslashes ( \ ) as path separators in all quoted initrd parameters, otherwise the kernel may fail to find the initramfs image(s): EFI stub: ERROR: Failed to open file: /boot/initramfs-linux.img .
  • If using Booster generated initramfs images, replace initramfs with booster in the initramfs files name. E.g. initrd /boot/booster-linux.img .

Installation alongside an existing UEFI Windows installation

rEFInd is compatible with the EFI system partition created by a UEFI Windows installation, so there is no need to create or format another FAT32 partition when installing Arch alongside Windows. Simply mount the existing ESP and install rEFInd as usual. By default, rEFInd’s autodetection feature should recognize any existing Windows/recovery bootloaders.

Tools

alt=»Tango-go-next.png» width=»48″ height=»48″/>This article or section is a candidate for moving to Unified Extensible Firmware Interface. alt=»Tango-go-next.png» width=»48″ height=»48″/>

rEFInd supports running various 3rd-party tools. Tools need to be installed separately. Edit showtools in refind.conf to choose which ones to show.

UEFI shell

Copy shellx64.efi to the root of the EFI system partition.

Memtest86

Install memtest86-efi AUR and copy it to esp/EFI/tools/ .

Key management tools

rEFInd can detect Secure Boot key management tools if they are placed in rEFInd’s directory on ESP, esp/ or esp/EFI/tools/ .

HashTool

Follow #Using PreLoader and HashTool.efi will be placed in rEFInd’s directory.

MokManager

Follow #Using shim and MokManager will be placed in rEFInd’s directory.

KeyTool

Place KeyTool EFI binary in esp/ or esp/EFI/tools/ with the name KeyTool.efi or KeyTool-signed.efi .

See Secure Boot#Using KeyTool for instructions on signing KeyTool.efi .

GPT fdisk (gdisk)

Download the gdisk EFI application and copy gdisk_x64.efi to esp/EFI/tools/ .

fwupdate

Install and setup fwupd.

Copy the fwupx64.efi binary and firmware file to esp/EFI/tools/ :

Poweroff or reboot

rEFInd reportedly have poweroff and reboot menu entries built in. Since this list of tools is the most extensive of its kind in this wiki, users of UEFI shell, or other UEFI boot managers, such as systemd-boot, might be interested in powerofforreboot.efi AUR .

Tips and tricks

Using drivers in UEFI shell

alt=»Tango-go-next.png» width=»48″ height=»48″/>This article or section is a candidate for moving to Unified Extensible Firmware Interface#UEFI drivers. alt=»Tango-go-next.png» width=»48″ height=»48″/>

To use rEFInd’s drivers in UEFI shell load them using command load and refresh mapped drives with map -r .

Now you can access your file system from UEFI shell.

Setting efifb resolution

alt=»Tango-view-fullscreen.png» width=»48″ height=»48″/>This article or section needs expansion. alt=»Tango-view-fullscreen.png» width=»48″ height=»48″/>

If the resolution in refind.conf is set to an incorrect value, on all systems except Apple Macs rEFInd will display a list of supported resolutions. For Apple Macs it will silently use the default resolution.

To determine framebuffer resolutions supported by efifb, copy /usr/share/gnu-efi/apps/x86_64/modelist.efi from gnu-efi to the root of ESP. Enter the UEFI shell and run modelist.efi .

Set one in refind.conf . Reboot and check if settings has been applied by running dmesg | grep efifb as root.

Btrfs subvolume support

Auto detection

To allow kernel auto detection on a Btrfs subvolume uncomment and edit also_scan_dirs in refind.conf .

Next add subvol=subvolume to rootflags in refind_linux.conf and then prepend subvolume to the initrd path.

Manual boot stanza

If booting a btrfs subvolume as root, prepend the path to the subvolume to the loader and initrd paths, and amend the options line with rootflags=subvol=root_subvolume . In the example below, root has been mounted as a btrfs subvolume called ‘ROOT’ (e.g. mount -o subvol=ROOT /dev/sdxY /mnt ):

A failure to do so will otherwise result in the following error message: ERROR: Root device mounted successfully, but /sbin/init does not exist.

LoaderDevicePartUUID

Since version 0.13.1, rEFInd supports setting the UEFI variable LoaderDevicePartUUID. Enabling this allows systemd-gpt-auto-generator(8) to automount the EFI system partition without needing to specify it in /etc/fstab . See systemd#GPT partition automounting.

For rEFInd to set LoaderDevicePartUUID , edit refind.conf and uncomment write_systemd_vars true :

You can verify if it is set by checking its value with cat /sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f or by looking at the state of «Boot loader sets ESP partition information» in bootclt output.

Troubleshooting

Apple Macs

mactel-boot AUR is an experimental bless utility for Linux. If that does not work, use bless from within OSX to set rEFInd as the default boot entry:

VirtualBox

VirtualBox before version 6.1 will only boot the default esp/EFI/BOOT/bootx64.efi path, so refind-install needs to be used with at least the —usedefault option. See VirtualBox/Install Arch Linux as a guest#Installation in EFI mode on VirtualBox < 6.1 for more information.

Читайте также:  Установка аргонодуговой сварки start tigline 200 ac dc pulse 3st202ap

Источник

UEFI не запускает загрузчик, если использовать накопитель как внешний.

Имеется sata ssd, который хочу использовать как внешний накопитель. Планирую купить nvme накопитель и перенести Manjaro, оставив на старом накопителе только Windows, это тема отдельного вопроса, сейчас не буду его поднимать. Чтобы это реализовать, купил кейс-адаптер для ssd что-то типа такого, но перед тем как заказывать nvme, хочу проверить его работоспособность.

Установил имеющийся ssd в этот адаптер, включаю систему — грузится Windows. При загрузке открываю boot меню, выбираю Manjaro (ссылается на grub) — грузится Windows. Открываю uefi и проверяю порядок загрузки, Manjaro стоит первым, но опять грузится Windows (выдавая попутно синий экран или пытаясь что-то восстановить, ждать не стал, просто выключал питание).

При этом, когда вернул свой ssd на место, при загрузке сразу открылся Grub. У товарища появилась мысль, что по какой-то причине, когда накопитель используется как внешний, Uefi не видит загрузчики, и начинает загружать то, что находится на первом разделе (видимо, как раз Windows), но в интернете по теме информации не нашли. Хочу понять, почему так происходит? Верна ли эта гипотеза, и если да, то как переместить Grub или, скажем, установить rEFInd на первый раздел, при этом сохранив загрузчик Windows и все ссылки на него в grub / uefi? Разделы диска выглядят так: https://ibb.co/X4M2xJ2

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

Буду рад ссылкам на инструкции, объяснениям, а также советам по переносу системы!

Не работает Arch + rEFInd

Доброго времени суток, уважаемые форумчане! Решил установить arch на gpt диск и отказаться от grub Имеется следующая система разделов

/dev/sdb1 /mnt/efi 512mb FAT32

/dev/sdb2 /mnt 70g

/dev/sdb3 /mnt/home 150g

/dev/sdb4 swap 16g

После установки через arch-chroot командой refind-install ставлю refind, но после перезагрузки refind’a нет, secure boot выключен Куда копать, в чем проблема?

Gentoo + uefi = удовольствие. Как победить загрузчик?

Прогрузить ядро не удалось. После поставил refind и пошёл процесс, но не может найти rootfs.

Выводы: cтандартный конфиг ядра, в котором ничего не менял.

«Boot with minimal options» «ro root=/dev/nvme0n1p2»

Проблема с refind

Не могу обновить систему и удалить пакет refind. Давно уже им не пользуюсь и даже забыл про него, но тут возникла проблема.

Соответственно ошибка обновления системы, хотя в списке обновлений не refind, не refind-efi нет.
В yay в списке пакетов есть только установленный refind, в репах и ауре пакетов refind-efi и refind-theme-maia не обнаружено.

Что делать, как вычистить это дерьмо?

UEFI не видит refind.

Установлена Windows 10. Поставил в efi раздел (созданный виндой) refind. Думаю, отлично, перезагружаюсь и запускается винда, перезагружаюсь еще раз, открываю меню загрузчиков и вижу только флешку с арчем и Windows Loader. Хорошо, использовал efibootmgr, опять же, есть только загрузчик винды и флешка, refind так и не подцепился. Пошарился в биос на предмет настроек, ничего, что могло запретить другие бутлоадеры не нашел (секьюрити бут выключен).

refind не видит ядро

При установки arch, создал /efi и туда смонтировал esp раздел, установил туда refind, ядро лежит в /boot, refind.conf создался значит он нашел ядро. Если все это перенести ну например в /efi/EFI/arch то все работает, а в /boot не видит, хотя он должен его автоматически проверять. Согласно ArchWiki так можно сделать. В чем может быть проблема? esp смонтирован fat32, остальная система в ext4

Установка в UEFI-режиме

Создаю таблицу разделов GPT на чистом харде, после раздел размером в 256M, указываю тип этого раздела EF00 и форматирую в FAT32. Всё, системный раздел EFI готов? Готов. Рядом создаю и форматирую раздел под корень системы, всё это дело монтируется, EFI-раздел просто монтирую в /boot, разворачиваю систему и перехожу к настройке загрузчика: https://wiki.archlinux.org/index.php/REFInd#Manual_installation Не использую efibootmgr (кидаю исполняемый файл refind в путь по умолчанию, называю тоже по умолчанию — bootx64.efi), ведь всё и так должно работать (или я чего-то не понимаю?), но оно почему-то не работает! Если сделать эту загрузочную запись, то да, начинает грузиться, но стоит вынуть батерейку материнской платы на 5 минут, вставить обратно, включить, и всё, запись исчезает и система не грузится. Но ведь Windows грузится, я специально поставил семёрку, сбросил биос этот или уефи, похер, и она загрузилась, ещё и восстановила эту самую загрузочную запись! В чём проблема, что я делаю не так?

Не могу зайти в BIOS нажатием F2

Ноутбук Lenovo IdeaPad 330s 15arr. Стоит Win10 и Arch. После того, как установил rEFInd — обнаружил, что не могу войти ни в Биос ни в бутменю посредством нажатия клавиш (F2 для Биоса, f12 — bootmenu). Аппарат никак не реагирует на это и после логотипа Леново появляется rEFInd. Уже в нем я могу войти в Биос. Но вот если я снесу rEFInd, то не смогу зайти нормально в Биос. Подскажите пожалуйста, как это безобразие исправить. Сам я нубас, и в линухе не особо разбираюсь. Заранее спасибо.

rEFInd в efibootmgr

Ставлю rEFInd на Arch с включенным Secure Boot (и предустановленным Windows)

sda1 (esp раздел) смонтирован в /boot/efi

Подтверждаю установку (хоть и не понимаю, почему компьютер не выглядит, будто Secure Boot включён):

«You’ve specified installing using a shim.efi file, but your computer does not appear to be running in Secure Boot mode. Although installing in this way should work, it’s unnecessarily complex. You may continue, but unless you plan to enable Secure Boot, you should consider stopping and omitting the —shim option. You can read more about this topic at http://www.rodsbooks.com/refind/secureboot.html.

Do you want to proceed with installation (Y/N)?»

После чего в /boot/efi/EFI/Boot появляется refind.conf

После перезагрузки, загрузился Windows. Без каких-либо альтернатив. Подскажите, пожалуйста, что я делаю не так.

Источник

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

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

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

Как установить rEFInd

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. Вам только надо подтвердить это действие:

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

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

После того, как загрузчик установлен надо установить его на первое место в списке загрузчиков UEFI. Для этого можно воспользоваться BIOS или утилитой 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.

Читайте также:  Сколько стоит установка и настройка виндовс

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

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

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

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

4. Удаление Grub

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

sudo apt purge grub

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

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

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

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

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

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

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

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

Выводы

Теперь вы знаете как выполняется установка rEFInd Boot Manager. Как видите, это не намного сложнее чем установить Grub. А каким загрузчиком пользуетесь вы? Напишите в комментариях!

Нет похожих записей

alt=»Creative Commons License» width=»»/>
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Источник

BootDev

Немного ранее мы рассмотрели установку загрузчика rEFInd на флешку и на жесткий диск компьютера под управлением ОС Windows. В этом материале, разберем настройку данного загрузчика.

Что будем грузить!?

В качестве тестового содержимого будут, как и прежде, выступать образы livecd со страницы http://www.bootdev.ru/p/iso.html. А именно Hiren’s BootCD, SystemRescueCd, Dr.Web LiveDisk

Напомню что rEFInd исключительно EFI загрузчик, и хоть в его возможностях заявлена возможность грузить старые версии ОС, надеяться на чудеса не стоит, все зависит от конкретного исполнения CSM (Compatibility Support Module) вашей материнской платы.

Подготовка

На данный момент, у нас уже должна быть флешка с установленным загрузчиком rEFInd (Об этом рассказывалось в предыдущей статье).

Из программ понадобятся 7-Zip архиватор, текстовый редактор Notepad++, программа для просмотра и конвертации изображений XnView, виртуальная машина VirtualBox и BOOTICE.

Настройка фонового изображения

И так, взглянем снова на то, как сейчас выглядит загрузчик с файлом конфигурации по умолчанию. О загрузке с флешки в VirtualBox можно почитать тут.

rEFInd позволяет настраивать внешний вид меню, а именно фоновое изображение и миниатюры пунктов загрузки. Допустимый формат изображений BMP и PNG.

Начнем с фонового изображения. Если выбранная картинка в JPG формате, то конвертируем ее с помощью программы XnView, или любой другой подобной, в PNG формат.

Скопируем подготовленное изображение в папку EFI\boot на флешке.

Внесем необходимые изменения в файл конфигурации загрузчика. Для этого открываем в этой же папке файл refind.conf любым текстовым редактором, в моем случае Notepad++.

Небольшое отступление. Перед тем как продолжить, замечу, что файл конфигурации refind.conf содержит в виде комментариев, строчек начинающихся со знака «#«, достаточно подробное описание с примерами, практически всех параметров загрузчика. Поэтому далее, если данный параметр присутствует, но закомментирован, то я буду использовать таковые путем разкомментирования и внесениея соответсвующих поправок. Либо просто добавлять новое описание вблизи закомментированного.

Выполняем поиск по фразе #banner .

Добавим после найденных закомментированных примеров свое описание, а именно следующий текст banner bg.png .

Параметр banner как вы наверно догадались отвечает за фоновое изображение загрузчика. Сохраним изменения и проверим результат в виртуальной машине.

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

Но, это легко исправить, прописав параметр banner_scale отвечающий за масштабирование фонового изображения. Находим данный параметр аналогичным образом в файле конфигурации, и добавляем рядом с примером, следующий текст banner_scale fillscreen .

Проверяем результат внесенных изменений.

Теперь все как было задумано 😊.

Добавляем содержимое

Перейдем к добавлению указанного ранее содержимого. Изображения соответствующих пунктов загрузки будет рассмотрено вместе с описанием загрузки конкретных элементов. Приступим.

SystemRescueCD

Открываем скачанный образ, в моем случае systemrescuecd-x86-5.0.2.iso, в архиваторе 7-Zip, и извлекаем в корень флешки файл sysrcd.dat и папку isolinux.

Переименовываем папку isolinux в srcd.

Удаляем из папки srcd все кроме файлов rescue64 и initram.igz.

Добавим пункт меню загрузчика rEFInd. Для этого возвращаемся к редактированию файла конфигурации refind.conf и дописываем в самый конец следующий текст.

Разберем данный текст. Ключевое слово menuentry говорит загрузчику что далее последует описание пункта меню. Отображаемый заголовок пункта описывается после слова menuentry в двойных кавычках.

Далее в фигурных скобках, в так называемом блоке, описываются параметры загрузки текущего пункта. Параметр loader указывает загрузчику какой исполняемый файл нужно грузить, это может быть либо ядро ОС, либо *.efi файл. Параметр initrd предназначен для загрузки файла виртуальной файловой системы располагающейся в оперативной памяти. Параметр options передает дополнительные параметры загрузки ядру ОС, передаваемые параметры обязательно указываются в двойных кавычках.

Параметры загрузки к каждому из livecd можно достать в файлах конфигурации их загрузчиков. К примеру для SystemRescueCD данные параметры были взяты из конфигурационного файла загрузчика isolinux файл isolinux\isolinux.cfg.

Сохраним внесенные изменения и загрузимся с флешки.

Новый пункт появился. Иконка используемая загрузчиком по умолчанию не очень красивая, изменим ее. Закинем для этого изображение иконки в формате PNG в папку EFI\boot. В моем случае это файл SRCD.png.

Добавим в блок описания пункта меню параметр icon предназначенного для указания файла иконки пункта меню. Описание будет следующим icon /EFI/boot/SRCD.png .

Сохраняемся и проверяем результат.

Как видно, на изображении пункта меню присутствует иконка жесткого диска, указывающая на тип носителя. Она перегораживает основное изображение пункта меню. Отключим отображение миниатюр типа носителей. Для этого в конфигурационный файл нужно добавить параметр hideui badges .

Сохраняем конфиг и смотрим на результат.

И последний штрих, увеличим размер отображаемый размер иконки пункта меню. Прописываем для этого следующий параметр big_icon_size 200 .

Сохраняемся и проверяем.

То что нужно 😀. Теперь осталось только проверить работоспособность созданного пункта.

Все работает 😉. Переходим к следующему дистрибутиву.

Dr.Web LiveDisk

Из скачанного образа Dr.Web LiveDisk, на текущий момент это drweb-livedisk-900-cd.iso, извлекаем в корень флешки папки .disk и casper.

Я намерено опустил этап копирования изображения пункта меню, все аналогично предыдущему дистрибутиву.

Добавляем в конец файла конфигурации refind.conf следующий текст.

Приведу скриншот оригинального текста конфигурационного файла загрузчика isolinux данного дистрибутива.

Сохраняем изменения и проверяем результат.

Отлично. Двигаемся дальше.

Hiren’s BootCD

Очень старый livecd, поддержка загрузки в UEFI отсутствует. Но я не просто так включил его в список. Он будет выступать в роли проверки способности загрузчика rEFInd грузить старые ОС.

Распакуем папку HBCD из образа Hiren’s.BootCD.15.2.iso в корень флешки.

Теперь установим в mbr область флешки запись загрузчика grub4dos. Делается это с помошью программы BOOTICE. Данный процесс подробно уже был описан здесь.

Теперь скопируем файл grldr из папки HBCD в корень флешки.

Добавим в файл конфигурации refind.conf параметр scanfor internal,hdbios,external,biosexternal,optical,cd,manual .

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

Так как в виртуальной машине VirtualBox отсутсвует CSM модуль,

остальные снимки результатов будут с реального компьютера (фото монитора).

rEFInd оказался очень удобным. Настройка его проста за счет наличия в самом файле конфигурации подробных описаний и примеров всех настроек. Причем настраивается только самое нужное, остальное он сделает сам. Легкая настройка внешнего вида. И наличие автоматического поиска установленных ОС и EFI приложений очень привлекательны на фоне других загрузчиков.

Источник

Adblock
detector