Flash uefi boot: Создаем загрузочную флешку с Windows 10 для UEFI компьютера
Содержание
NIXAID.COM
Здесь я хотел бы описать способ создания загрузочной флешки UEFI с несколькими дистрибутивами Linux
Все, что вам нужно, это Linux и флешка новый USB-накопитель, который будет отображаться как устройство /dev/sdb
Мы создадим необходимые разделы и временно смонтируем их в /target позже
Создание таблицы разделов GPT и системного раздела EFI
Для начала рекомендую почистить начало флешки, чтобы не заморачиваться с разными таблицами разделов
дд, если=/dev/ноль из=/dev/sdb bs=2M count=2 синхронизировать ; эхо 1 | Тройник /proc/sys/vm/drop_caches
Затем создайте новую метку диска (таблицу разделов) типа GPT и следующие разделы.
Примечание. Вы можете начать мой первый раздел со смещением 2 МБ (вместо 0%), если вы обнаружите, что ваш USB-накопитель работает лучше всего в этом макете (вы можете использовать инструмент flashbench , чтобы найти лучший размер стираемого блока для вас). )
parted -оптимальный /dev/sdb mklabel gpt единица МБ mkpart bootefi fat32 0% 200M установить 1 ботинок на mkpart bootiso ext4 200M 20G mkpart приватный ext4 20G 100% единица МБ Распечатать распечатать бесплатно выравнивание-проверка оптимальное 1 выравнивание-проверка оптимальное 2 выравнивание-проверка оптимальное 3 уволиться
Обратите внимание, что набор флагов загрузки parted НЕ совпадает с флагом загрузки в старой основной загрузочной записи. Сбивает с толку то, что parted решили использовать одно и то же имя, но они разные. Установка флага загрузки с помощью parted в разделе MBR помечает этот раздел как загрузочный, а в разделе GPT он помечается как системный раздел EFI (у него есть код EF00 , если вы проверите его с помощью gdisk -l /dev/sdb).
Системный раздел EFI должен быть явно смонтирован в /boot/efi для правильной загрузки через загрузчик GNU GRUB2.
- /dev/sdb1 позже будет смонтирован как /target/boot/efi
- /dev/sdb2 позже будет смонтирован как /target/boot, и мы создали его достаточно большим для хранения различных дистрибутивов Linux
- /dev/sdb3 можете использовать как хотите 🙂
Создание необходимых файловых систем
Теперь создайте файловые системы
mkfs.vfat -F32 -n EFIBOOT /dev/sdb1 mkfs.ext4 -L bootiso /dev/sdb2
Смонтируйте их в следующем порядке:
mkdir -p /target/boot смонтировать /dev/sdb2 /target/boot mkdir/цель/загрузки/efi смонтировать /dev/sdb1 /target/boot/efi
Самый важный момент — установка grub2
grub-install --removable --no-uefi-secure-boot --target=x86_64-efi --efi-directory=/target/boot/efi --boot- directory=/target/boot --bootloader-id=grub --recheck /dev/sdb
Вот как должны выглядеть данные после выполнения описанных выше шагов
# ls -latrh /target/boot/grub/ всего 48К drwxr-xr-x 8 root root 4. 0K 9 июн 17:50 .. -rw------- 1 root root 1.3K 9 июн 18:40 grub.cfg drwxr-xr-x 2 root root 4.0K Июн 918:45 шрифты -rw-r--r-- 1 root root 1.0K 9 июн 18:45 grubenv drwx------ 5 root root 4.0K 9 июн 18:45 . drwxr-xr-x 2 root root 12K 9 июн 19:18 x86_64-efi drwxr-xr-x 2 root root 4.0K 9 июн 19:18 языковой стандарт # найти /target/boot/efi/ -ls 1 4 drwxr-xr-x 3 root root 4096 1 января 1970 г. /target/boot/efi/ 4 4 drwxr-xr-x 3 root root 4096 9 июня 18:45 /target/boot/efi/EFI 6 4 drwxr-xr-x 2 корень корень 4096 9 июн 18:45 /target/boot/efi/EFI/BOOT 9 120 -rwxr-xr-x 1 root root 119296 9 июня 19:18 /target/boot/efi/EFI/BOOT/BOOTX64.EFI
Структура диска
# parted /dev/sdb print Модель: SanDisk Extreme (scsi) Диск /dev/sdb: 62,7 ГБ Размер сектора (логический/физический): 512Б/512Б Таблица разделов: gpt Номер Начальный Конечный Размер Файловая система Имя Флаги 1 1049 КБ 200 МБ 199 МБ загрузочный файл FAT32 2 200 МБ 20,0 ГБ 19,8 ГБ ext4 bootiso 3 20,0 ГБ 62,7 ГБ 42,7 ГБ ntfs частный # parted /dev/sdb unit s печать бесплатно Модель: SanDisk Extreme (scsi) Диск /dev/sdb: 122544516s Размер сектора (логический/физический): 512Б/512Б Таблица разделов: gpt Номер Начальный Конечный Размер Файловая система Имя Флаги 34s 2047s 2014s Свободное пространство 1 2048с 391167s 389120s загрузочный bootefi fat32 2 391168s 39061503s 38670336s ext4 bootiso 3 39061504s 122544127s 83482624s ntfs частный 122544128s 122544482s 355s Свободное пространство
Вы можете создать любую файловую систему на разделе /dev/sdb3, например
FAT32
mkfs. vfat -F32 -n общий -v /dev/sdb3
NTFS
mkfs.ntfs -Q -L общий -I -v /dev/sdb3
EXT4
mkfs.ext4 -L общий /dev/sdb3
ПРИМЕЧАНИЕ : если ваш общий раздел (sdb3) будет использоваться для NTFS, то не забудьте установить на нем флаг «msftdata», иначе Windows его не смонтирует
(parted) установите 3 msftdata на
Создание файла конфигурации GRUB
Не забудьте создать файл /target/boot/grub/grub.cfg
Вы всегда можете автоматически сгенерировать его, чтобы посмотреть, что он обнаружил и какие модули он использует по умолчанию
grub-mkconfig -o /target/boot/grub/grub.cfg
Но мы здесь не для этого, наша цель — загрузить несколько дистрибутивов Linux на нашу флешку, чтобы мы могли использовать любой из них 🙂
Моя конфигурация следующая
# cat /target/boot /grub/grub.cfg установить время ожидания = 15 установить по умолчанию = 0 # Графический протокол (U)EFI insmod efi_gop insmod efi_uga insmod шрифт если загрузить шрифт ${prefix}/fonts/unicode. pf2 тогда insmod gfxterm установить gfxmode=авто установить gfxpayload = сохранить terminal_output gfxterm фи пункт меню "Linux Mint 17 MATE DVD" { петля /isos/linuxmint-17-mate-dvd-64bit.iso linux (loop)/casper/vmlinuz file=/cdrom/preseed/linuxmint.seed boot=casper iso-scan/filename=/isos/linuxmint-17-mate-dvd-64bit.iso тихий всплеск -- initrd (цикл)/casper/initrd.lz } пункт меню "SystemRescueCd 4.2.0" { петля /isos/systemrescuecd-x86-4.2.0.iso linux (цикл)/isolinux/rescue32 setkmap=us isoloop=/isos/systemrescuecd-x86-4.2.0.iso initrd (цикл)/isolinux/initram.igz } пункт меню "Tails 1.0" { петля /isos/tails-i386-1.0.iso linux (цикл)/live/vmlinuz fromiso=/dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5/isos/tails-i386-1.0.iso boot=live config live-media=removable nopersistent noprompt timezone=Etc/UTC block.events_dfl_poll_msecs=1000 splash noautologin module=Tails truecrypt тихий initrd (цикл)/live/initrd. img } пункт меню "Kali Linux 1.0.6" { петля /isos/kali-linux-1.0.6-i386.iso linux (цикл)/live/vmlinuz fromiso=/dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5/isos/kali-linux-1.0.6-i386.iso boot=live noconfig=sudo username= корневое имя хоста = кали initrd (цикл)/live/initrd.img } пункт меню "Debian Live (amd64)" { цикл обратной связи /isos/debian-live-7.5.0-amd64-gnome-desktop.iso linux (цикл)/live/vmlinuz fromiso=/dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5/isos/debian-live-7.5.0-amd64-gnome-desktop.iso boot=live config тихая заставка initrd (цикл)/live/initrd.img } menuentry "Меню загрузки установщика Debian GNU/Linux" { insmod part_gpt insmod ext2 петля /isos/debian-7.5.0-amd64-netinst.iso linux (цикл)/install.amd/vmlinuz fromiso=/dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5/isos/debian-7.5.0-amd64-netinst.iso boot=live vga=788 -- тихо ## linux (цикл)/install. amd/vmlinuz fromiso=/dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5/isos/debian-7.5.0-amd64-netinst.iso vga=788 -- тихо ## linux (цикл)/install.amd/vmlinuz fromiso=/dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5/isos/debian-7.5.0-amd64-netinst.iso boot=live config live-media=removable nopersistent vga=788 -- тихий initrd (цикл)/install.amd/initrd.gz } #menuentry "Меню загрузки установщика Debian GNU/Linux (графическое)" { # цикл обратной связи /isos/debian-7.5.0-amd64-netinst.iso # linux (цикл)/install.amd/vmlinuz fromiso=/dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5/isos/debian-7.5.0-amd64-netinst.iso video=vesa:ywrap,mtrr vga=788 -- тихо # initrd (цикл)/install.amd/gtk/initrd.gz #}
Для создания строк linux и initrd я использовал содержимое файла isolinux/menu.cfg (в некоторых случаях он отличается, но его легко найти с помощью grep ), доступ к которому можно получить, если просто смонтировать/открыть файл . iso файл
Путь к /dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5 используется в отношении UUID раздела /dev/sdb2, в вашем случае он будет другим, поэтому вы должен заменить его на ваш
# ls -la /dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5 lrwxrwxrwx 1 root root 10 9 июня 10:36 /dev/disk/by-uuid/5e5ca198-7e43-a0dc-91eb-98ebec1274b5 -> ../../sdb2 # blkid |grep sdb2 /dev/sdb2: LABEL="загрузка" UUID="5e5ca198-7e43-a0dc-91eb-98ebec1274b5" TYPE="ext4"
Копирование дистрибутивов Linux на флэш-накопитель USB
Теперь вам просто нужно создать каталог (куда вы будете помещать дистрибутивы Linux) на устройстве /dev/sdb2, смонтированном как /target/boot и скопируйте туда свои дистрибутивы Linux следующим образом:
mkdir /target/boot/isos cp ~/Загрузки/linuxmint-17-mate-dvd-64bit.iso /target/boot/isos/ cp ~/Загрузки/systemrescuecd-x86-4.2.0.iso /target/boot/isos/ cp ~/Загрузки/tails-i386-1.0.iso /target/boot/isos/ cp ~/Загрузки/kali-linux-1. 0.6-i386.iso /target/boot/isos/
После завершения копирования безопасно отключите флэш-накопитель USB
umount /dev/sdb1 размонтировать /dev/sdb2 размонтировать /dev/sdb3 синхронизировать ; эхо 1 | Тройник /proc/sys/vm/drop_caches udisks --detach /dev/sdb
Теперь вы можете загрузить любой дистрибутив Linux на ваш выбор с флешки!
GParted Live на USB
Редактор разделов GNOME
Загрузочный образ GParted Live также можно
устанавливается на флешку.
Ниже приведены инструкции по настройке GParted Live на USB-накопителе.
флешка с помощью MS Windows
или GNU/Linux.
ПРИМЕЧАНИЕ. Эти способы установки работают, только если флэш-накопитель USB
отформатирован в файловой системе FAT. Некоторые пользователи сообщили, что
у них работала только файловая система FAT16. Для других файловых систем
вы можете попробовать использовать grub или какой-либо другой загрузчик.
Настройка USB с Windows
Выберите один из следующих способов для настройки GParted Live на вашем
USB-флешка с использованием MS Windows:
- Метод Windows A: Unetbootin
- Метод Windows B: вручную
- Метод Windows C: LinuxLive USB Creator
- Метод Windows D: Tuxboot
Метод Windows A: Unetbootin
- Если на вашем компьютере уже установлен Unetbootin, то
перейти к следующему шагу (2).
В противном случае загрузить и
установите Unetbootin на свой компьютер с MS Windows. - Загрузите GParted
Живой файл iso . - В Windows запустите программу Unetbootin и следуйте
инструкции в графическом интерфейсе по установке GParted Live на флэш-память USB
водить машину.
Метод Windows B: Вручную
ВНИМАНИЕ! |
- Загрузите GParted
Live zip файл. - Если у вас уже есть раздел размером не менее 300 МБ на вашем
Флэш-накопитель USB, отформатированный в файловой системе FAT, затем перейдите к
следующий шаг (3).В противном случае создайте раздел размером не менее 300 МБ на USB-накопителе.
диск и отформатируйте его в файловой системе FAT16 или FAT32.
Раздел должен быть достаточно большим, чтобы вместить извлеченный
содержимое zip-файла GParted Live. - Извлеките все содержимое zip-файла в FAT16/FAT32.
раздел на USB-накопителе. Сохранить каталог
архитектуре, например, файл «GPL» должен находиться на USB-накопителе.
верхний каталог флешки (например, G:\GPL). - Перейдите на флэш-накопитель USB и в качестве администратора
(На флешке создайте ярлык на файл makeboot.bat.
Затем щелкните правой кнопкой мыши ярлык, Свойства, Дополнительно и проверьте
«Запуск от имени администратора».), щелкните makeboot.bat в каталоге
утилиты\win32\. ВНИМАНИЕ!
Makeboot.bat необходимо запускать с флешки. - Следуйте инструкциям на экране.
(PS: приведенное выше описание изменено с:
http://www.pendrivelinux.com/2007/01/02/все-в-одном-usb-dsl.
Благодаря PDLA с http://pendrivelinux.com)
Метод Windows C: LinuxLive USB Creator
- Если на вашем компьютере уже установлен LinuxLive USB Creator,
перейти к следующему шагу (2).
В противном случае загрузите и
установите LinuxLive USB Creator на свой компьютер с MS Windows. - Загрузите GParted
Живой файл iso . - В Windows установите, затем запустите программу LinuxLive USB Creator и следуйте
инструкции в графическом интерфейсе по установке GParted Live на флэш-память USB
водить машину.
Метод Windows D: Tuxboot
- Загрузите Tuxboot на свой компьютер с MS Windows.
- Следовать
настройка USB с инструкциями MS Windows для
установите GParted Live на USB-накопитель.
Настройка USB с GNU/Linux
Выберите один из следующих способов для настройки GParted Live на вашем
USB-накопитель с использованием GNU/Linux:
- GNU/Linux Метод A: Unetbootin
- GNU/Linux Метод B: Вручную
- Метод GNU/Linux C: Вручную — Перезаписать
- Метод GNU/Linux D: Tuxboot
GNU/Linux Метод A: Unetbootin
- Если на вашем компьютере уже установлен Unetbootin, то
перейти к шагу 2.
В противном случае установите Unetbootin на свой компьютер с GNU/Linux. - Загрузите GParted
Живой файл iso . - Из GNU/Linux запустите программу Unetbootin и следуйте
инструкции в графическом интерфейсе по установке GParted Live на флэш-память USB
водить машину.
Метод GNU/Linux B: Руководство
ВНИМАНИЕ! |
- Загрузите GParted
Live zip файл. - Если у вас уже есть раздел FAT16 или FAT32 на USB-накопителе
диск, затем перейдите к следующему шагу (3).В противном случае подготовьте раздел размером не менее 300 МБ, отформатированный с помощью
файловая система FAT16 или FAT32.
Раздел должен быть достаточно большим, чтобы вместить извлеченный
содержимое zip-файла GParted Live.Если на USB-накопителе или жестком диске USB нет
любой раздел, вы можете использовать инструмент для создания разделов (например, gparted, parted, fdisk,
cfdisk или sfdisk) для создания раздела размером 300 МБ или
более.
Здесь мы предполагаем, что ваш USB-накопитель или жесткий диск USB — это /dev/sdd
(Вы должны подтвердить имя своего устройства, так как
это _НЕ всегда_ /dev/sdd) на вашем GNU/Linux, поэтому
таблица разделов выглядит так:# fdisk -l /dev/sdd Диск /dev/sdd: 12,8 ГБ, 12884
8 байт 15 головок, 63 сектора на дорожку, 26630 цилиндров Единицы = цилиндры 945 * 512 = 483840 байт Идентификатор диска: 0x000c2aa7 Система идентификаторов блоков начала загрузки устройства /dev/sdd1 * 1 26630 12582643+ б W95 FAT32
Затем отформатируйте раздел как FAT с помощью такой команды, как «mkfs. vfat
-F 32 /dev/sdd1″
ВНИМАНИЕ! Выполнение команды mkfs.vfat
на неправильном разделе или устройстве может привести к тому, что ваш GNU/Linux не
ботинок. Обязательно подтвердите команду перед ее запуском.# mkfs.vfat -F 32 /dev/sdd1 mkfs.vfat 2.11 (12 марта 2005 г.)
- Вставьте флэш-накопитель USB или жесткий диск USB в порт USB на
ваш Linux-компьютер и подождите несколько секунд. Далее выполните команду
«dmesg» для запроса имени устройства USB-накопителя или USB-накопителя.
жесткий диск. Скажем, например, что вы обнаружите, что это
/dev/sdd1. В этом примере мы предполагаем, что /dev/sdd1 имеет FAT.
файловая система, и он автоматически монтируется в каталог /media/usb/. Если
он не монтируется автоматически, монтируйте его вручную с помощью команд
например, «mkdir -p /media/usb; смонтировать /dev/sdd1 /media/usb/». - Разархивируйте все файлы и скопируйте их на флешку или USB
жесткий диск. Вы можете сделать это с помощью такой команды, как: «распаковать
gparted-live-0.4.5-2.zip -d /media/usb/»). Сохраните каталог
архитектуре, например, файл «GPL» должен находиться на USB-накопителе.
флэш-накопитель или верхний каталог жесткого диска USB
(например, /media/usb/GPL). - Чтобы сделать флешку загрузочной, сначала измените рабочий
дир, напр. «cd /media/usb/utils/linux», затем запустите «bash makeboot.sh
/dev/sdd1» (замените /dev/sdd1 на свой USB-накопитель).
имя устройства флэш-накопителя) и следуйте инструкциям.
ВНИМАНИЕ! Выполнение makeboot.sh с
неправильное имя устройства может привести к тому, что ваш GNU/Linux не загрузится. Быть уверенным
для подтверждения команды перед ее запуском.ПРИМЕЧАНИЕ. При запуске makeboot.sh в Debian возникает известная проблема.
Вытравить, так как программа utils/linux/syslinux не работает
правильно. Убедитесь, что вы запускаете его на более новой версии GNU/Linux, такой как Debian.
Ленни, Ubuntu 8.04 или Fedora 9.
СОВЕТ :
|
Метод GNU/Linux C: Вручную — перезапись
ПРЕДУПРЕЖДЕНИЕ : Перед выполнением команд убедитесь, что у вас правильный путь к устройству! Этот метод перезапишет целевое устройство. Следовательно, это |
Так как GParted Live основан на Debian Live и это изображение является
изогибрид, т.
GParted Live CD
образ можно записать прямо на флешку.
ПРИМЕЧАНИЕ. Этот метод можно загрузить только с BIOS/MBR (устаревшей версии), но не с uEFI/GPT.
- Загрузите GParted
Живой файл iso . - Вставьте флэш-накопитель USB в компьютер с Linux и подождите несколько секунд.
секунды. Далее из окна терминала выполните команду:
дмесг
Эта команда запрашивает имя устройства флэш-накопителя USB. За
например, вы можете найти имя устройства /dev/sde . - В окне терминала введите следующую команду с помощью
имя файла gparted .iso и путь к USB-устройству, которые вы обнаружили в
предыдущие шаги.
Например:
sudo dd if= /path-to-gparted-live.xyz-w.iso of= /dev/sde bs=4M; синхронизировать
Метод GNU/Linux D: Tuxboot
ПРИМЕЧАНИЕ . Для Tuxboot требуются более старые библиотеки libqt4. Используйте для Ubuntu 18. Читайте также: |