Установка и настройка ОС на ПЭВМ с (U)EFI BIOS. Использование (U)EFI-загрузчика
1. Перед установкой и настройкой ОС создать на НЖМД таблицу разделов в формате GPT. Поскольку в составе инсталлятора ОС такие утилиты отсутствуют, рекомендуется создавать таблицу с использованием Live CD Parted Magic версии >= 6.6. На нем присутствуют графическая утилита gparted и консольная утилита gdisk, позволяющие выполнить указанные действия. Первой должна быть создана ESP. Размер ESP должен быть приблизительно равен 100 МБ. Отформатировать ESP необходимо в ФС FAT.
П р и м е ч а н и е. В случае, если на ПЭВМ сначала устанавливается ОС Windows 7 с загрузчиком (U)EFI, предварительно создавать раздел ESP нет необходимости, т. к. инсталлятор Windows 7 создаст такой раздел автоматически;
2. Создать USB-накопитель, загружаемый через (U)EFI BIOS. Для этого удалить на USB-накопителе существующую таблицу разделов, создать новый раздел размером приблизительно 100 МБ, установить ему код ef (ESP), отформатировать созданный раздел в ФС FAT, монтировать и создать на нем следующую структуру директорий:
В директорию /EFI/Boot поместить файл bootx64.efi. Файл bootx64.efi предварительно скачать из открытых источников в сети Интернет либо создать при помощи EDK. Оставшееся на USB-накопителе свободное пространство отформатировать в любой необходимой ФС (FAT, FAT32, EXT, NTFS) и использовать для хранения данных.
На этот раздел необходимо скопировать deb-пакеты GRUB2 версии >=1.99-8. Их можно взять либо в открытых репозиториях debian (из Ubuntu не подойдут, поскольку собраны с использованием библиотек, отсутствующих в ОС), либо собрать самостоятельно из открытых исходных кодов. Должны быть следующие пакеты:
grub-common, grub2-common, grub-efi-amd64-bin, grub-efi-amd64;
3. Установка ОС проводится в штатном режиме в соответствии с эксплуатационной документацией, за исключением установки загрузчика. Загрузчик не устанавливать;
4. После завершения установки ОС необходимо перезагрузить ПЭВМ и вновь загрузиться с установочного диска ОС в режиме «Восстановление». В режиме восстановления в окне «Войти в режим восстановления» выбрать раздел, на который была установлена ОС, а затем выбрать «Запуск оболочки в /dev/наименование_раздела». Нажать и в консоли выполнить команду:
5. Выполнить команду, чтобы убедиться, что не установлены пакеты GRUB, кроме fly-admin-grubeditor:
Если какие-то пакеты все же установлены, необходимо их удалить командой:
6. Монтировать раздел с данными USB-накопителя и установить с него все deb пакеты GRUB2. Возможно для этого придется предварительно установить пакеты
gettext и efibootmgr с установочного диска ОС.
7. Создать в корне ФС директорию boot_EFI, монтировать к ней раздел ESP и создать на ней следующую структуру директорий:
П р и м е ч а н и е. Если на ПЭВМ предварительно была установлена ОС Windows 7 с загрузчиком (U)EFI, то создавать на разделе ESP всю структуру директорий нет необходимости, т. к. инсталлятор Windows 7 создал ее в процессе установки. Необходимо только создать директорию /EFI/grub;
В результате выполнения указанной команды в директории /boot_EFI/EFI/grub/ должны появиться модули grub2;
grub-mkimage -o /boot_EFI/EFI/grub/grub.efi -p /EFI/grub -O x86_64-efi acpi ata ata_pthru bitmap bitmap_scale boot cat chain cmp configfile cpio date datetime echo efi_gop elf ext2 extcmd fat fixvideo font fshelp gettext gfxmenu gfxterm gptsync gzio halt help hfs hfsplus jpeg keylayouts keystatus linux loadbios loadenv ls lspci mmap msdospart multiboot2 multiboot normal part_gpt part_msdos parttool png probe read reboot regexp search_fs_file search_fs_uuid search_label search serial terminal terminfo true uhci usb_keyboard usb usbms usbserial_common video_fb videoinfo video
В результате выполнения указанной команды в директории /boot_EFI/EFI/grub/ будет создан файл grub.efi, собранный с поддержкой необходимых модулей.
П р и м е ч а н и е. В данной команде приведен примерный список модулей. При необходимости можно собирать grub.efi с другими модулями, но нельзя использовать модуль at_keyboard, т. к. он может привести к зависанию загрузчика GRUB2;
10. Создать конфигурационный файл grub.cfg. Если на ПЭВМ предварительно была установлена ОС Windows 7 с загрузчиком (U)EFI и необходимо добавить
GRUB2 возможность загружать Windows 7, то в файл /etc/grub.d/40_custom необходимо добавить следующие записи:
menuentry «Windows 7 x86_64 UEFI-GPT» <
search —file —no-floppy —set=root /EFI/Microsoft/Boot/BOOTMGFW.EFI
chainloader /EFI/Microsoft/Boot/BOOTMGFW.EFI
>
В случае, если расположение файла BOOTMGFW.EFI на ESP-разделе отличается от /EFI/Microsoft/Boot/, то необходимо указать корректный путь к нему. Выполнить следующую команду:
grub-mkconfig -o /boot_EFI/EFI/grub/grub.cfg
На некоторых BIOS при перезагрузке ОС возможно некорректное поведение ядра. Для устранения этой проблемы необходимо в файл grub.cfg добавить параметр reboot=a,w в menuentry ’Astra GNU/Linux, with Linux -generic’ и menuentry ’Astra GNU/Linux, with Linux -generic (режим восстановления)’ в секции linux /boot/vmlinuz-generic после параметра root=UUID=номер_UUID .
На некоторых BIOS при загрузке ОС возможно «зависание» ядра. Для устранения этой проблемы необходимо в файл grub.cfg добавить параметр noefi в menuentry ’Astra GNU/Linux, with Linux -generic’ и menuentry ’Astra GNU/Linux, with Linux -generic (режим восстановления)’ в секции linux /boot/vmlinuz-generic после параметра root=UUID=номер_UUID ;
11. Для соответствия спецификации EFI, а также для обеспечения возможности загрузки ОС средствами АПМДЗ необходимо скопировать файл
/boot_EFI/EFI/grub/grub.efi в директорию /boot_EFI/EFI/Boot и переименовать его в bootx64.efi .
П р и м е ч а н и е. Если на ПЭВМ предварительно была установлена ОС Windows 7 с загрузчиком (U)EFI, то файл bootx64.efi уже существует. Рекомендуется переименовать его, например в bootx64_bak.efi;
12. Все подготовительные действия по настройке GRUB2 завершены. Размонтировать ESP-раздел, выйти из оболочки chroot-окружения командой exit и перезагрузить ПЭВМ. Загрузить ПЭВМ с предварительно подготовленного USB-накопителя;
13. Если USB-накопитель подготовлен правильно, то при загрузке с него произойдет запуск UEFI Shell. На экране монитора будет отображена карта разделов. Как
правило, первым разделом fs0 будет указан ESP-раздел. Для перехода на него выполнить команду:
Затем при помощи команды cd перейти в директорию \EFI\grub и запустить на исполнение grub.efi. Если все предыдущие действия выполнены корректно, то появится окно загрузчика GRUB2, в котором выбрать пункт меню ’Astra GNU/Linux, with Linux -generic’ и выполнить загрузку ОС.
П р и м е ч а н и е. Если на ПЭВМ предварительно была установлена ОС Windows 7 с загрузчиком (U)EFI и в GRUB2 добавлена возможность загружать Windows 7, то в меню GRUB2 появится пункт «Windows 7 x86_64 UEFI-GPT», при выборе которого должна произойти загрузка Windows 7;
14. После загрузки ОС убедиться, что ядро загружено с поддержкой EFI-расширений путем проверки наличия директории /sys/firmware/efi. Теперь осталось передать менеджеру загрузки EFI информацию о загружаемых ОС. Для этого использовать утилиту efibootmgr, входящую в состав ОС. Для просмотра существующего порядка загрузки необходимо выполнить команду:
Для добавления записи, вызывающей загрузчик GRUB2, выполнить:
efibootmgr -L «GRUB Boot Manager» -d /dev/sda -p 1 -l \\EFI\\grub\\grub.efi -c -v
где GRUB Boot Manager — название записи, как она будет выглядеть в BIOS, -d /dev/sda — диск, на котором расположен ESP-раздел, -p 1 — номер ESP-раздела (нумерация начинается с 1), -l \\EFI\\grub\\grub.efi — путь к файлу grub.efi относительно корня ESP-раздела. Путь обязательно указывается через \\ . Для добавления записи, вызывающей загрузчик Windows 7, выполнить:
efibootmgr -L «Windows Boot Manager» -d /dev/sda -p 1 -l \\EFI\\Microsoft\\Boot\\BOOTMGFW.EFI -c -v
В случае неправильного добавления записи ее необходимо удалить следующим образом:
– выполнить команду efibootmgr -v и посмотреть номер записи (например, Boot0004*);
– удалить неправильную запись командой:
15. Перезагрузить ПЭВМ, зайти в BIOS и установить в меню загрузки первым пунктом «GRUB Boot Manager».
Установка Astra Linux Smolensk с использованием Linux RAID и UEFI
Выбираем ручной метод разметки
Следующие действия производим для каждого физического диска: Выбираем диски и жмем Enter для создания на нем таблицы разделов.
Выбираем свободное место на диске и жмем enter для создания логического раздела.
Указываем объем 1 ГБ .
В начале свободного места.
Изменяем тип раздела, выбрав поле Использовать как: и нажав Enter.
Устанавливаем значение системный раздел EFI
Выбираем свободное место и нажимаем Enter для создания еще одного логического раздела.
Оставляем размер без изменений, чтобы использовать всю свободную емкость диска.
Изменяем тип раздела, выбрав поле Использовать как: и нажав Enter.
Устанавливаем значение физический том для RAID
Выбираем раздел меню Настройка программного RAID
Необходимо создать новое устройство MD. Выбираем соответсвующий пункт меню.
Указываем тип — RAID1 для создания зеркального тома.
Число активных дисков оставляем без изменений — 2 .
Число резервных разделов оставляем без изменений — 0 .
Выбираем созданные логические тома типа raid
Выбираем свободное место в созданном программном RAID устройстве и нажимаем Enter.
Изменяем тип раздела, выбрав поле Использовать как: и нажав Enter.
Устанавливаем значение физический том для LVM
Выбираем пункт меню Настройка менеджера логических томов LVM
Создаём группу томов
Для создания группы томов используем созданный программный RAID массив /dev/md0
Создаем логический том root. Объем задаём с учетом запаса для непредвиденного расширения, например 150 GB .
Создаем логический том swap. Объем задаём с учетом запаса для непредвиденного расширения, например 64 GB .
Выбираем свободное пространство в логическом томе root и создаем раздел для корневой файловой системы. Файловая система — XFS , точка монтирования — /
Выбираем свободное пространство в логическом томе swap и создаем раздел для файла подкачки.
Настройка разметки дисков на данном этапе завершена. Продолжайте установку ОС, следуя интерфейсу.
Если ОС не загружается — проверьте дату на сервере. Если время откатилось на 2016й год — необходимо загрузиться с установщика, задать актуальную дату, например через консоль alt+F2 , коммандой date -s 2021-07-07 и выполнить чистую установку с нуля.
После установки ОС, необходимо скопировать загрузчик на второй диск и прописать его в качестве варианта загрузки. Выполните следующие действия в консоли.
sudo su dd if=/dev/sda1 of=/dev/sdb1 bs=1M efibootmgr --delete-bootnum -b 0000 efibootmgr --create -d /dev/sdb -p 1 -L "Linux sdb" -l "\efi\astralinuxse\grubx64.efi" efibootmgr --create -d /dev/sda -p 1 -L "Linux sda" -l "\efi\astralinuxse\grubx64.efi"
Проверьте результат перезагрузившись и выбрав пункт меню BIOS — One time boot . В списке устройств доступных для загрузки по UEFI должны отображаться варианты “Linux sdb” и “Linux sda”. Оба режима загрузки должны работать корректно.
Решение проблем
Если что-то идёт не так во время установки — начните сначала с полным удалением всех данных на дисках.