Как удалось сделать флешку в Linux-е с UEFI и UniversalAMDFormBrowser
Наверняка Вы знакомы с загрузочными флэшками usb. Тех самых, с которых устанавливали Windows, или же запускали UniversalAMDFormBrowser. Речь пойдет как раз о usb с типом EFI. Эти флэшки вставляются в выключенный компьютер. При включении, они загружаются через Boot Menu. На ноутбуках это меню может быть доступно по кнопкам «F12» ИЛИ «F10».
В Windows же есть программа Rufus для форматирования таких флэшек, а что насчёт Linux-а? Для Linux-а же, как всегда, придётся читать дольше, чтобы найти что-то стоящее.
Что нужно в Linux-e? (lsblk, df -hT, fdisk & dosfstools)
Для форматирования флэшки потребуются две утилиты — fdisk
и mksf.fat
. Последняя утилита входит в пакет dosfstools
, который может быть и не предустановлен.
Так что проверяем, что в Linux-е есть указанные инструменты. Если нет, то ставим их через менеджер пакетов »sudo apt-get install --install-recommends dosfstools».
Что касается флэшки, можете взять флэшку минимального размера на 8 GB. Важно, флэшка после форматирования очистится, поэтому убедитесь, что флэшка действительно пустая и рабочая.
Сначала fdisk затем mkfs — создаём раздел EFI.
Выполняем по шагам в строгой последовательности, как указано здесь https://wirenboard.com/wiki/index.php? title=Formatting_Flash_Drive&mobileaction=toggle_view_desktop
В качестве типа раздела, вместо «b». Вам надо подставить «uefi» или же его код в GPT (EF00). Узнать код для EFI Вы можете с помощью команды «L» (list).
Более подробно об этом написано на ArchWiki (большая информация на Арче висит, и не удивительно, ибо этот дистрибутив Linux-а тот ещё конструктор).
https://wiki.archlinux.org/title/Fdisk#Partition_type
Если же говорить кратко, то ниже дана выжимка как это сделать.
1) Через lsblk
или df -hT
фиксируем текущие имена устройств.
2) Втыкаем флэшку.
3) Находим её имя через lsblk
или же через df -hT
Имя файла устройства будет по умолчанию »/dev/sda», если у Вас не подключено никакой другой флэшки по usb. Мышь и клавиатура, которая подключается по usb могут иметь другие имена файлов, не пересекающиеся с «sda».
4) Вызываем fdisk
sudo fdisk /dev/sda
5) Проверяем разделы на флэшке. Обычно будет один раздел.
Command (m for help): p
6) Необходимо удалить все текущие разделы и создать новый раздел. Удаляем разделы. Если у Вас один раздел, то он будет удалён автоматически. Иначе потребует ввести порядковый номер. И удалить их потребуется по очереди от n до 1.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Создаём новый первичный раздел (primary). Берём значения по умолчанию (тупо нажимая
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-30322687, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-30322687, default 30322687):
Created a new partition 1 of type 'Linux' and of size 14.5 GiB.
7) Ставим тип раздела на желаемый нами «EFI». Чтобы узнать его alias, а также доступные типы, обращаемся к команде L (list).
Command (m for help): L
Выбираем uefi и ставим его для первого раздела. (Или же его код из списка выше (EF)).
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): uefi
8) Добавляем флаг bootable для раздела
Command (m for help): a
Selected partition 1
The bootable flag on partition 1 is enabled now.
9) И сохраняем изменения
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
10) Остаётся только форматировать устройство в FAT32.
Выполняем команду.
sudo mkfs.fat -F 32 /dev/sda1
И всё. У вас готовый накопитель с EFI Partition и файловой системой FAT32.
Заливаем UniversalAMDFormBrowser
Ну и конечно же остаётся залить нужную программу на флэшку. Для этого нужно её смонтировать в любой удобный Вам каталог, выполнив команду
sudo mount /dev/sda1 # - любой пустой каталог который будет точкой монтирования
Далее заливаете содержимое архива UniversalAMDFormBrowser в указанный каталог, в который Вы смонтировали флэшку (параметр cp
.
После заливки остаётся размонтировать флэшку, указав точку монтирования (каталог).
sudo umount
И всё. Можете вынимать флэшку. И использовать её как загрузочную.
Особенности UniversalAMDFormBrowser
Стоит отметить, что данная программа работает НЕ ДЛЯ ВСЕХ процессоров AMD Ryzen. Для архитектуры Rembrandt (Ryzen 6xxx серии)) имеются проблемы. И да, как следует из названия, НЕ ДЛЯ Intel эта программа предназначена.
Второе, разделы ACPI Tables. Для того, чтобы настроить оборудование, логично иметь описание этого оборудование. Некоторые производители ноутбуков могут некорректно заполнить эти самые ACPI Tables, (о чём часто пишут в Reddit-е). Так что если Вы собираетесь покупать ноутбук, то не стоит брать его первую ревизию (в которой могут быть проблемы). И да, для ноутов Lunnen Ground UniversalAMDFormBrowser не работает, менять настройки можно через раздел Advanced > AMD CBS, если, конечно, он там есть, в полной версии BIOS-а должен быть.
Третье, работает не для всех версии BIOS-а.
Работает хорошо с «Insyde H2O». (Выбираем самый нижний Device Manager > AMD CBS).
Если у Вас BIOS от «American Megatrends Inc. (AMI)» — то плохо. Что-то или всё будет не работать.
Что может UniversalAMDFormBrowser? Увеличить буфер выделенной видеопамяти для встроенного GPU Vega, также включить CPPC для процессора (чтобы загрузить amd_pstate_epp драйвер для Linux-а, который позволяет хоть как-то устанавливать частоты для процессора).
И многое другое.