Поиск подходящего диска: руководство по поиску загрузочного файла EFI с помощью GRUB

Когда дело доходит до управления процессом загрузки вашего компьютера, сценарии GRUB (Grand Unified Bootloader) могут оказаться невероятно полезными. В этой статье мы рассмотрим различные способы поиска диска, содержащего загрузочный файл EFI, с помощью простого сценария GRUB. Итак, приступим!

Метод 1: использование команды «поиск»
Один из способов найти диск, содержащий загрузочный файл EFI, — использовать команду «поиск» в GRUB. Эта команда позволяет нам искать файл или каталог на указанном диске. Вот пример скрипта:

search --set=root --file /EFI/BOOT/BOOTX

В этом сценарии «поиск» ищет файл «BOOTX» в каталоге «/EFI/BOOT» и устанавливает корневую переменную на диск, на котором он находится. Затем вы можете использовать переменную «root» в последующих командах для выполнения операций на этом диске.

Метод 2: перебор дисков
Другой подход — перебрать все доступные диски и проверить, существует ли загрузочный файл EFI на каждом диске. Вот пример сценария, иллюстрирующего этот метод:

set root=(hd0)
set efi_path=/EFI/BOOT/BOOTX
while [ -z "$root" ]; do
    if search --file $efi_path; then
        break
    fi
    partnext root
done

В этом сценарии мы начинаем с первого диска (hd0) и устанавливаем для переменной efi_path путь к загрузочному файлу EFI. Затем мы перебираем все разделы на каждом диске с помощью команды «partnext», пока не найдем диск, содержащий загрузочный файл EFI.

Метод 3: использование UUID
Вместо того, чтобы полагаться на перечисление дисков, мы можем использовать универсально уникальные идентификаторы (UUID) дисков для поиска загрузочного файла EFI. Этот метод гарантирует, что даже если порядок дисков изменится, правильный диск все равно будет определен. Вот пример скрипта:

search --set=root --fs-uuid <disk_uuid> --file /EFI/BOOT/BOOTX

Замените «» на UUID диска, который вы хотите найти. Команда «поиск» найдет диск с указанным UUID и соответствующим образом установит корневую переменную.

В этой статье мы рассмотрели три различных метода поиска диска, содержащего загрузочный файл EFI, с помощью сценариев GRUB. Используя команду «поиск», перебирая диски или используя UUID, вы можете найти нужный диск и обеспечить плавный процесс загрузки вашего компьютера. Поэкспериментируйте с этими методами, чтобы найти тот, который лучше всего подходит для вашей конкретной ситуации.