Grub2: различия между версиями
Перейти к навигации
Перейти к поиску
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | '''Загрузка с флешки в режиме UEFI''' | ||
+ | * EFI System раздел должен иметь специальный тип | ||
+ | ** для MBR: EF | ||
+ | ** для GPT: 01 | ||
+ | * USB диск не обязательно размечать в GPT, чтобы использовать EFI загрузку | ||
+ | * EFI System раздел поддерживает только FAT12/16/32, exfat не поддерживается | ||
+ | * FAT32, размер файла не может превышать 4ГБ, это проблема если нужно размещать большие ISO образы | ||
+ | * exfat, поддерживает файлы больше 4ГБ и поддерживается в grub2, Windows, MacOS, Linux | ||
+ | * Если нужно грузить флешку с EFI, то можно создать небольшой раздел с FAT16 для EFI загрузки, а второй раздел отформатировать в exfat | ||
+ | |||
+ | '''Установка grub2 в MBR на USB''' | ||
<pre> | <pre> | ||
− | |||
mkdir /mnt/usb | mkdir /mnt/usb | ||
mount /dev/sdXN /mnt/usb | mount /dev/sdXN /mnt/usb | ||
mkdir /mnt/usb/boot | mkdir /mnt/usb/boot | ||
+ | |||
grub2-install --no-floppy --root-directory=/mnt/usb --boot-directory /mnt/usb/boot --target i386-pc /dev/sdX | grub2-install --no-floppy --root-directory=/mnt/usb --boot-directory /mnt/usb/boot --target i386-pc /dev/sdX | ||
# в некторых дистрибутивах команда имеет имя grub-install | # в некторых дистрибутивах команда имеет имя grub-install | ||
+ | </pre> | ||
+ | |||
+ | '''Установка grub2 на USB в EFI раздел''' | ||
+ | <pre> | ||
+ | # не проверено | ||
+ | # выдает предупреждение, что при такой установке необходимо отключать Secure Boot в UEFI(BIOS) | ||
+ | grub2-install --efi-directory /mnt/esp --boot-directory /mnt/usb/boot --target x86_64-efi --removable /dev/sdX1 | ||
+ | |||
+ | # как вариант, создать правильную структуру каталогов и расположить готовые файлы для EFI загрузки grub2, с использованием подписанного посредника shim, чтобы Secure Boot пропускал | ||
+ | # пока только идея, не проверял | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | '''Пример загрузки Kali linux с iso образа LiveCD''' | ||
+ | <pre> | ||
+ | menuentry "Kali Linux Live ISO" --class kali --class linux { | ||
+ | # set root='(hd0,msdos1)' | ||
+ | set isofile="/images/kali-linux-2023.3-live-amd64.iso" | ||
+ | # rmmod tpm | ||
+ | insmod exfat | ||
+ | insmod loopback | ||
+ | insmod iso9660 | ||
+ | loopback loop $isofile | ||
+ | linux (loop)/live/vmlinuz boot=live components quiet splash toram noeject findiso=${isofile} tpm_tis.interrupts=0 | ||
+ | initrd (loop)/live/initrd.img | ||
+ | } | ||
</pre> | </pre> |
Текущая версия на 20:40, 24 октября 2024
Загрузка с флешки в режиме UEFI
- EFI System раздел должен иметь специальный тип
- для MBR: EF
- для GPT: 01
- USB диск не обязательно размечать в GPT, чтобы использовать EFI загрузку
- EFI System раздел поддерживает только FAT12/16/32, exfat не поддерживается
- FAT32, размер файла не может превышать 4ГБ, это проблема если нужно размещать большие ISO образы
- exfat, поддерживает файлы больше 4ГБ и поддерживается в grub2, Windows, MacOS, Linux
- Если нужно грузить флешку с EFI, то можно создать небольшой раздел с FAT16 для EFI загрузки, а второй раздел отформатировать в exfat
Установка grub2 в MBR на USB
mkdir /mnt/usb mount /dev/sdXN /mnt/usb mkdir /mnt/usb/boot grub2-install --no-floppy --root-directory=/mnt/usb --boot-directory /mnt/usb/boot --target i386-pc /dev/sdX # в некторых дистрибутивах команда имеет имя grub-install
Установка grub2 на USB в EFI раздел
# не проверено # выдает предупреждение, что при такой установке необходимо отключать Secure Boot в UEFI(BIOS) grub2-install --efi-directory /mnt/esp --boot-directory /mnt/usb/boot --target x86_64-efi --removable /dev/sdX1 # как вариант, создать правильную структуру каталогов и расположить готовые файлы для EFI загрузки grub2, с использованием подписанного посредника shim, чтобы Secure Boot пропускал # пока только идея, не проверял
Пример загрузки Kali linux с iso образа LiveCD
menuentry "Kali Linux Live ISO" --class kali --class linux { # set root='(hd0,msdos1)' set isofile="/images/kali-linux-2023.3-live-amd64.iso" # rmmod tpm insmod exfat insmod loopback insmod iso9660 loopback loop $isofile linux (loop)/live/vmlinuz boot=live components quiet splash toram noeject findiso=${isofile} tpm_tis.interrupts=0 initrd (loop)/live/initrd.img }