Grub2 мультизагрузочная флешка. Efi UEFI. Uefi мультизагрузочная флешка


UEFI NTFS

 

, . remontcompa.ru , UEFI Windows 8.1 NTFS, FAT32 . , UEFI, , FAT32, , FAT 4 .

, NTFS 4, .

UEFI,  Legacy.

 UEFI   NTFS 

 

 Rufus ISO-.

ISO-, Windows 8.1 .

.

MBR UEFI.

NTFS.

.

.

Rufus c , NTFS, 256 FAT12, , UEFI.

Windows 8.1 UEFI GPT.

 WinSetupFromUSB, LiveCD BCD, Rufus   UEFI,  Legacy.

 Vista/7/8/Server 2008/2012 based ISO 

ISO-.

, Live CD AOMEI PE Builder.iso .

GO UEFI .

WinSetupFromUSB  ISO-  Live CD AOMEI PE Builder.

.

Live CD AOMEI PE Builder .

 

 WinSetupFromUSB Windows 7 LiveCD.

.

, , UEFI, Legacy.

UEFI,  Secure boot ( Disabled).

 Legacy,  Legacy  UEFI.

,  Windows Setup, Windows 8.1. LiveCD.

:  : XP, Windows 7, Windows 8, 8,1, 10, Linux

remontcompa.ru

Мультизагрзочная флешка с GRUB2 + UEFI

<< К статьям по программированию микроконтроллеров

В интернете нашел много разных вариантов как сделать мультизагрузочную флешку с UEFI. Но везде кругом костыли. Всякие ухищрения, чтобы эта гремучая смесь заработала. Сейчас расскажу как сделать ее на базе GRUB2. Сейчас существуют два стандарта загрузки mbr и UEFI. Grub2 поддерживает оба. Есть такой нюанс, загрузка в этих двух стандартах отличаются, и я выложу сюда два архива. В одном архиве файлы настроены так, что несмотря на то, какой стандарт загрузки использовался (mbr или UEFI), будет подгружаться один и тот же конфигурационный файл (:\boot\grub\grub.cfg) ссылка либо же будут использованы разные файлы для mbr загрузки (:\boot\grub\grub.cfg) и для UEFI загрузки (:\efi\grub\grub.cfg) ссылка Для того, чтобы сделать загрузочный диск, просто запускаем скрипт createdisk.bat от имени администратора. Дальше указываем нашу флешку, и она готова через минуту. Скрипт сделан на основе небезызвестной программы RMpartUSB - части проекта RMprepUsb Grub2 настраивается через файл /boot/grub/grub.cfg

Документация от archlinux: ссылка (русский)

Официальная документация: ссылка

Переменные обозначаются в GRUB2 с помощью $ когда вы к ним обращаетесь.

Примеры загрузки:

Загрузиться с диска 1

menuentry 'boot from hd1' {set root=hd1chainloader +1}

root - это переменная, которая говорит, какая файловая система считается основной. комманда chainloader +1 вызывает загрузчик устройства root

menuentry "Windows 7" {search -s root --file /bootmgrntldr /bootmgr}

первая комманда ищет раздел с файлом /bootmgr и загружает его

аналогично для загрузки windows 8 UEFI

menuentry "Windows 8 UEFI" {  search --file --no-floppy --set=root /efi/Microsoft/Boot/bootmgfw.efi  chainloader /efi/Microsoft/Boot/bootmgfw.efi}

Для загрузки разных видов Linux'а делаем следующее:

menuentry "Arch Linux" { linux /boot/vmlinuz-linux root=LABEL=Arch_root rw initrd /boot/initramfs-linux.img}

Заметьте, что необходимо передать в ядро параметры. Например, root=... В данном примере используется метка тома. Но возможно например указать его UUID

Если вам нужно загрузить ISO файл из GRUB2 то вот тут есть примеры (ссылка). Нужно смонтировать iso файл в loopback устройство и так же запустить ядро. В прниципе, с теми же параметрами, что оно вызывается в iso файле. Например:

menuentry 'ISO Ubuntu ' {set isofile="/iso/ubuntu-12.04-desktop-amd64.iso"loopback loop (hd0,5)$isofilelinux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noejectinitrd (loop)/casper/initrd.lz}

Если вы хотите например загрузить PARTED MAGIC. его версия 2015_03_06 ищет файл \pmagic\pmodules\PMAGIC_2015_03_06.SQFS Вытащите его из образа и скопируйте на флешку. В эти же каталоги. так же нужно вытащить ядро и initrd файл. И запустить их например этими командами

linux /pmagic/bzImage edd=on vga=normalinitrd /pmagic/initrd.img /pmagic/fu.img /pmagic/m32.img

или же еще скопировать grub.cfg и вызвать его:configfile /EFI/boot/grub.cfg

запустить например GRUB4DOS

menuentry "Grub4Dos" {linux /boot/grub.exe --config-file=/boot/grub/menu.lst}

Установить GRUB2 на флещку:

sudo grub-install --recheck --root-directory=/run/media/user/8260-A46C2 /dev/sdbконечно, параметры нужно указать от своей системы. Все что после media. Важно правильно задать путь до флешки. без сокращений * и туда, куда она впервые примонтирована. А то GRUB2 выдаст ошибку.

собрать EFI образ:grub-mkimage --compress=xz -O x86_64-efi -d /usr/lib/grub/x86_64-efi-o /home/user/bootx64.efi -p "/boot/grub" part_gpt part_msdosntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linuxmultiboot efi_gop efi_uga font gfxterm

файл будет в /home/user.опция -p "/boot/grub" говорит о том откуда будет читаться config файл и дополнительные модули, дальше перечисление встроенных модулей.

чтобы собрать efi файл, в который встроена и конфигурация и модули делаем так:

mkdir -p /tmp/grub.temp/boot/grubсоздаем /tmp/grub.temp/boot/grub/grub.cfgcd /tmp/grub.temp/grub-mkstandalone  --directory="/usr/lib/grub/x86_64-efi/" --format="x86_64-efi" --compress=xz --output=/home/user/bootx64.efi boot/grub/grub.cfg

почему то важен относительный путь boot/grub/grub.cfg

и потом нужно для архитектуры x86_64 скопировать /usr/lib/grub/x86_64-efi в /boot/grub/

jasugrub2.blogspot.com

Grub2 мультизагрузочная флешка. Efi UEFI.

<< К статьям по программированию микроконтроллеров

В интернете нашел много разных вариантов как сделать мультизагрузочную флешку с UEFI. Но везде кругом костыли. Всякие ухищрения, чтобы эта гремучая смесь заработала. Сейчас расскажу как сделать ее на базе GRUB2. Сейчас существуют два стандарта загрузки mbr и UEFI. Grub2 поддерживает оба. Есть такой нюанс, загрузка в этих двух стандартах отличаются, и я выложу сюда два архива. В одном архиве файлы настроены так, что несмотря на то, какой стандарт загрузки использовался (mbr или UEFI), будет подгружаться один и тот же конфигурационный файл (:\boot\grub\grub.cfg) ссылка либо же будут использованы разные файлы для mbr загрузки (:\boot\grub\grub.cfg) и для UEFI загрузки (:\efi\grub\grub.cfg) ссылка Для того, чтобы сделать загрузочный диск, просто запускаем скрипт createdisk.bat от имени администратора. Дальше указываем нашу флешку, и она готова через минуту. Скрипт сделан на основе небезызвестной программы RMpartUSB - части проекта RMprepUsb Grub2 настраивается через файл /boot/grub/grub.cfg

Документация от archlinux: ссылка (русский)

Официальная документация: ссылка

Переменные обозначаются в GRUB2 с помощью $ когда вы к ним обращаетесь.

Примеры загрузки:

Загрузиться с диска 1

menuentry 'boot from hd1' {set root=hd1chainloader +1}

root - это переменная, которая говорит, какая файловая система считается основной. комманда chainloader +1 вызывает загрузчик устройства root

menuentry "Windows 7" {search -s root --file /bootmgrntldr /bootmgr}

первая комманда ищет раздел с файлом /bootmgr и загружает его

аналогично для загрузки windows 8 UEFI

menuentry "Windows 8 UEFI" {  search --file --no-floppy --set=root /efi/Microsoft/Boot/bootmgfw.efi  chainloader /efi/Microsoft/Boot/bootmgfw.efi}

Для загрузки разных видов Linux'а делаем следующее:

menuentry "Arch Linux" { linux /boot/vmlinuz-linux root=LABEL=Arch_root rw initrd /boot/initramfs-linux.img}

Заметьте, что необходимо передать в ядро параметры. Например, root=... В данном примере используется метка тома. Но возможно например указать его UUID

Если вам нужно загрузить ISO файл из GRUB2 то вот тут есть примеры (ссылка). Нужно смонтировать iso файл в loopback устройство и так же запустить ядро. В прниципе, с теми же параметрами, что оно вызывается в iso файле. Например:

menuentry 'ISO Ubuntu ' {set isofile="/iso/ubuntu-12.04-desktop-amd64.iso"loopback loop (hd0,5)$isofilelinux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noejectinitrd (loop)/casper/initrd.lz}

Если вы хотите например загрузить PARTED MAGIC. его версия 2015_03_06 ищет файл \pmagic\pmodules\PMAGIC_2015_03_06.SQFS Вытащите его из образа и скопируйте на флешку. В эти же каталоги. так же нужно вытащить ядро и initrd файл. И запустить их например этими командами

linux /pmagic/bzImage edd=on vga=normalinitrd /pmagic/initrd.img /pmagic/fu.img /pmagic/m32.img

или же еще скопировать grub.cfg и вызвать его:configfile /EFI/boot/grub.cfg

запустить например GRUB4DOS

menuentry "Grub4Dos" {linux /boot/grub.exe --config-file=/boot/grub/menu.lst}

Установить GRUB2 на флещку:

sudo grub-install --recheck --root-directory=/run/media/user/8260-A46C2 /dev/sdbконечно, параметры нужно указать от своей системы. Все что после media. Важно правильно задать путь до флешки. без сокращений * и туда, куда она впервые примонтирована. А то GRUB2 выдаст ошибку.

собрать EFI образ:grub-mkimage --compress=xz -O x86_64-efi -d /usr/lib/grub/x86_64-efi-o /home/user/bootx64.efi -p "/boot/grub" part_gpt part_msdosntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linuxmultiboot efi_gop efi_uga font gfxterm

файл будет в /home/user.опция -p "/boot/grub" говорит о том откуда будет читаться config файл и дополнительные модули, дальше перечисление встроенных модулей.

чтобы собрать efi файл, в который встроена и конфигурация и модули делаем так:

mkdir -p /tmp/grub.temp/boot/grubсоздаем /tmp/grub.temp/boot/grub/grub.cfgcd /tmp/grub.temp/grub-mkstandalone  --directory="/usr/lib/grub/x86_64-efi/" --format="x86_64-efi" --compress=xz --output=/home/user/bootx64.efi boot/grub/grub.cfg

почему то важен относительный путь boot/grub/grub.cfg

и потом нужно для архитектуры x86_64 скопировать /usr/lib/grub/x86_64-efi в /boot/grub/

jasugrub2.blogspot.com