tgoop.com/linux_srv/573
Create:
Last Update:
Last Update:
UEFI & GRUB
1. ESP (EFI System Partition)
🔺 Формат: FAT32, размер ~100–500 МБ.
🔺 Монтируется как /boot/efi
.
🔺 Содержит файлы загрузчиков:
🔺 /EFI/BOOT/BOOTX64.EFI
(резерв)
🔺 /EFI/дистрибутив/…
(например, /EFI/ubuntu/grubx64.efi
).
2. Разметка GPT и создание ESP
parted /dev/sda mklabel gpt
parted /dev/sda mkpart ESP fat32 1MiB 551MiB
parted /dev/sda set 1 boot on
mkfs.fat -F32 /dev/sda1
🔺 Монтирование:
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
3. Установка GRUB (UEFI)
1. Смонтировать корень и ESP, войти в chroot:
mount /dev/sdaX /mnt # X — раздел /
mount /dev/sda1 /mnt/boot/efi # ESP
for d in dev proc sys; do mount --bind /$d /mnt/$d; done
chroot /mnt /bin/bash
2. Установить пакет GRUB:
🔺 Debian/Ubuntu:
apt install --reinstall grub-efi-amd64
🔺 Arch:
pacman -Sy grub efibootmgr
🔺 RHEL/CentOS:
yum install grub2-efi shim
3. Запустить:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --recheck
grub-mkconfig -o /boot/grub/grub.cfg
🔺 В RHEL/CentOS:
grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub2 --recheck
grub2-mkconfig -o /boot/efi/EFI/grub2/grub.cfg
4. Файл
/etc/default/grub
(минимум)
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_CMDLINE_LINUX="quiet splash"
🔺 После изменений:
update-grub
(Debian/Ubuntu) или grub2-mkconfig -o …
в RHEL.5. Управление записями UEFI (efibootmgr)
* Просмотр:
efibootmgr -v
* Добавить запись:
efibootmgr --create --disk /dev/sda --part 1 \
--label "Linux" --loader "\\EFI\\GRUB\\grubx64.efi"
🔺 Изменить порядок:
efibootmgr --bootorder 0002,0001,0003
🔺 Удалить:
efibootmgr --bootnum 0004 --delete-bootnum
6. Восстановление GRUB
🔺 Загрузиться с Live-USB, смонтировать
/
и ESP, chroot как в пункте 3.🔺 Переустановить GRUB (см. команды выше).
🔺 Убедиться, что в прошивке UEFI выбрана запись “GRUB” как первичная.
7. Советы
🔺 Проверить монтирование ESP:
findmnt /boot/efi
🔺 Проверить содержимое ESP:
ls /boot/efi/EFI
🔺 Secure Boot:
🔺 Установить
shim-signed
и grub-efi-amd64-signed
(Ubuntu).🔺 Проверить статус:
mokutil --sb-state
8. Сборка простого
grub.cfg
set default=0
set timeout=5
menuentry "Linux" {
insmod ext2
set root='hd0,gpt2'
linux /vmlinuz-linux root=/dev/sda2 rw quiet
initrd /initramfs-linux.img
}
🔺
hd0,gpt2
— диск 0, второй GPT-раздел (там /
).🔺 Пути
/vmlinuz-linux
и /initramfs-linux.img
— в /boot
.BY Типичный Сисадмин
Share with your friend now:
tgoop.com/linux_srv/573