Boot usb uefi: Создание загрузочной флешки (UEFI/GRUB) | AdminPE

Создание защищенного загрузочного USB-накопителя UEFI — Alpine Linux

В этой статье объясняется, как создать загрузочный USB-накопитель UEFI с помощью parted и rEFInd. К сожалению, версия GRUB, поставляемая с ALpine Linux, не работала, а Gummiboot работал только на одной из двух протестированных мной машин. Я отправлю PR для пакета rEFInd и обновлю эти инструкции, чтобы упростить их с учетом времени.

В этом примере мы будем использовать /dev/sdX и $HOME. Это будет отличаться в зависимости от вашей системы. При необходимости замените пути в приведенных ниже примерах.

Создать загрузочный раздел GPT

Установить parted

apk add parted

Создание одного загрузочного раздела UEFI.

Предупреждение: Это удалит все содержимое вашего /dev/sdX. Убедитесь, что вы используете правильное устройство.

parted —script /dev/sdX mklabel gpt
parted —script —align=optimal /dev/sdX mkpart ESP fat32 1 МБ 100%
parted —script /dev/sdX установить 1 загрузку на

Создать файловую систему fat32

Создать систему fat32 с именем `Alpine`.

mkfs.vfat -n ALPINE /dev/sdX1

Скопировать содержимое образа ISO в файловую систему

Можно смонтировать образ iso и скопировать файлы с помощью cp или rsync, а также можно использовать 7z для извлечения содержимого из изо. В этом примере я буду использовать утилиту uniso из пакета alpine-conf.

mount -t vfat /dev/sdX1 /mnt
кд/мнт
uniso < /path/to/alpine-3.8.2-x86_64.iso

Создать ключ MOK

openssl req -new -x509 -newkey rsa:2048 -keyout $HOME/alpine_local.key -out $HOME/alpine_local.crt -nodes -days 3650 -subj «/CN=Alpine Local CA/»
OpenSSL x509-in $HOME/alpine_local.crt -out $HOME/alpine_local.cer -outform DER

Загрузите и установите rEFInd

Загрузите двоичный zip-файл rEFInd с http://www.rodsbooks.com/refind/getting.html . В этом примере мы будем использовать текущую версию rEFInd, refind-bin-0.11.4.zip. При загрузке может быть доступна более новая версия rEFInd.

компакт-диск /mnt/efi/загрузки
распаковать /путь/к/refind-bin-0. 11.4.zip
mv refind-bin-0.11.4/refind/* .
rm -rf refind-bin-0.11.4

Скопируйте подписанную прокладку

Загрузите подписанную прокладку Мэтью Дж. Гарретта с http://www.codon.org.uk/~mjg59/shim-signed/shim-signed-0.2.tgz [ Dead Link ] . В этом примере мы предполагаем, что он хранится в каталоге загрузки ваших пользователей. При необходимости замените пути в приведенном ниже примере.

компакт-диск /mnt/efi/загрузки
gunzip -c /path/to/shim-signed-0.2.tgz | tar x —strip-components=1 —no-same-owner

Установить прокладку и сертификат

cp $HOME/alpine_local.cer /mnt/efi/boot
cp /mnt/efi/boot/refind_x64.efi /mnt/efi/boot/grubx64.efi
cp /mnt/efi/boot/shim.efi /mnt/efi/boot/bootx64.efi

Подпишите загрузчик и ядро ​​своим ключом

sbsign —key $HOME/alpine_local.key —cert $HOME/alpine_local.crt /mnt/efi/boot/grubx64.efi
mv /mnt/efi/boot/grubx64.efi.signed /mnt/efi/boot/grubx64.efi
sbsign —key $HOME/alpine_local. key —cert $HOME/alpine_local.crt /mnt/boot/vmlinuz-vanilla
mv /mnt/boot/vmlinuz-vanilla.signed /mnt/boot/vmlinuz-vanilla

Размонтировать раздел

Наконец размонтировать диск

cd ~ && размонтировать /mnt

Установите ключи и зарегистрируйте хэш

Вставьте USB в целевой ПК и загрузитесь. Когда будет предложено выбрать ключ для регистрации, перейдите к alpine_local.cer и добавьте его. Затем выберите enroll hash, перейдите к efi/boot/grubx64.efi, выберите его и добавьте хеш. Теперь перезагрузитесь и, если повезет, он должен запустить alpine. Этот шаг немного сложнее, чем должен быть из-за того, что бинарный дистрибутив refind уже подписан авторским ключом. После того, как rEFInd упакован, этот шаг должен упроститься.

Reddit — Погрузитесь во что угодно

Хотя в настоящее время я не могу переключиться на Linux, я не тороплюсь, чтобы изучить и попросить разъяснений обо всем, что я могу о Linux и о том, как он работает, так что, когда я смогу переключиться , я уже знаю все, что мне нужно для плавного переключения.

Одна из вещей, о которых мне нужно знать, это загрузка Pop!_OS в режиме UEFI.

Моя установка Windows 10 отформатирована в MBR/Legacy, что мне не нравится, так как MBR уже довольно устарела, и я бы чувствовал себя более комфортно, используя GPT/UEFI ради долгосрочной поддержки и совместимости, поскольку я полагаю, что поддержка BIOS будет вероятно, будет прекращено в будущем из-за того, насколько он стар. Таким образом, поскольку я планирую полностью перейти на Linux и удалить свою установку Windows, я планировал установить Linux в режиме UEFI при переразметке моего загрузочного SSD во время установки. Однако есть некоторые вещи, которые меня беспокоят.

Когда я попробовал Pop!_OS через живую среду моего загрузочного USB (и влюбился в то, насколько гладкий и красивый дистрибутив), я вошел в меню порядка загрузки настроек моей материнской платы, чтобы мой USB-накопитель загружался первым. В конце концов, в этом не было необходимости, поскольку он уже установил себя на самую высокую позицию в порядке загрузки, но я заметил, что в имени его устройства есть префикс «UEFI:». Однако, когда я вошел в живую среду и повозился с ней, я заметил, что менеджер хранилища (или любое другое устройство, позволяющее мне просматривать состояние и разделы моего загрузочного USB и двух моих жестких дисков, я забыл, как это называется) сказал, что на моем USB-накопителе использовался формат раздела MBR, что не только смутило меня, но и заставило меня беспокоиться о том, что он загружается в режиме Legacy, и я, возможно, не смогу установить Pop!_OS как UEFI. Я прошил Попа! ISO на мой USB-накопитель через Rufus, а параметры изменения схемы разделов и целевой системы были недоступны, что не позволяло мне изменить их из MBR и BIOS. Мне сказали, что это нормально, потому что установочный носитель Pop! может быть записан только в режиме DD, и поэтому такие параметры нельзя изменить, но это все равно заставляет меня беспокоиться о том, что я мог установить его неправильно.

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

Читайте также: