[Цитировать]

    puhpol
  • 2
  • Стаж: 3 года
  • Сообщений: 1051
  • Репутация:26

    [+] [-]
Статья от coka
На настоящий момент новые компьютеры используют UEFI загрузку и так же флешки стремительно растут в объеме. В связи с этим у многих возникают вопросы - как создать Мультизагрузочную флешку, чтобы она наиболее подходила вам, в смысле функциональности и удобства.
По этим причинам в этой статье предлагаю рассмотреть возможность использования загрузчика GRUB2 (как один из вариантов) и только для UEFI загрузки а так же разбиения на разделы флешек большого объема.
Причины, по которым принято такое решение это:
1. Авто определение программ, с которыми вам работать, это grub.cfg или menu.lst.
2. Возможность использовать загрузчик grub4dos, как более привычный для компьютеров с обычным BIOS.
UEFI загрузка - основополагающее требование - файловая система должна быть любой FAT и файлы загрузчика находятся в определенном месте (в нужных папках на том разделе).
Большинство программ для UEFI boot - х64, но некоторые производители софта имеют поддержку UEFI boot - х32, который здесь рассматривать не будем.
Теперь определимся с составом программ, которые хотелось бы увидеть на флешке и подготовить ее соответственно им, так же по возможности чтобы это работало при UEFI boot.
1. Установка Окошек.
2. Сборки от conty9; KopBuH91; Sergei Strelec; Xemom1 (наверно перебрал).
3. Акронисы или Парагоны или что-то в этом роде.
4. Антивирусы.
5. Линух установки или лайвы.
6. Утилиты.
Подготовка флешки и установка загрузчика
Можно делать дальнейшее и другими программами, но...
Наиболее универсальной утилитой (на мой взгляд) является Bootice.
Взять можно здесь.
Причины, по которой флешка разбивается на разделы.
1. Жаба душит отдать все под FAT32.
2. Хочется иметь возможность сохранять файлы более 4 ГБ.
3. Касперскому для сохранения баз.
4. Да мало ли для чего...
Делаем разделы на флешке
1. Открываем Bootice и идем в Parts Manage.
2. Открываем Re-Partitioning.
3. Выбераем USB-HDD mode (Multi-Partitions).
4. Выставляем нужные значения размера разделов (разделов может быть от 1-го до 4-х) и нажимаем ОК.
5. Открываем в проводнике "Мой Компьютер" и производим форматирование раздела флешки.
6. Возвращаемся в Bootice и идем в Parts Manage, там переназначаем букву следующему разделу (выделив его и нажав на Assign Drive Letter).
7. Форматируем так же как и 1-й раздел.
Для формата флешек или раздела более 32 ГБ,чтобы это обойти ограничение (если у вас старая версия Bootice), можно использовать fat32format, для переключения между разделами используйте Bootice, переназначая буквы разделу.
Установка загрузчика grub4dos
Открываем Bootice и идем в Process MBR, где можно сразу выбрать GRUB4DOS 0.4.5c/0.4.6a (grldr.mbr)/
Если такой вариант не устраивает, то Process MBR пропускаете или там отмечаете любоеб что вам нравится и устанавливаете его, а после переходите в Process PBR. В PBR устанавливаете GRUB4DOS 0.4.5c/0.4.6a (FAT/FAT32/NTFS/ExFAT), а если и так не нравится, то прописывайте в PBR - BOOTMGR с дальнейшим его переименованием.
Загрузчик должен прописан и находиться на 1-ом активном разделе с файловой системой FAT32.
Заполнение мультизагрузочной флешки
Возьмем за основу любую сборку с поддержкой UEFI от AlexGen FILTH puhpol и т. д.
Так как вы находитесь на этом сайте, то будем потрошить m0nkrus FAN 3.
У нас уже есть установка Windows 7/8.1 и Live от conty9, работающие при UEFI boot. Осталось прикрутить GRUB2 для Linux, ведь Win PE на основе 7ки или 8ки, прикручиваются к UEFI загрузке, с помощью BCD Edit программы Bootice. Редактируется файл BCD, который находится на флешке по пути: /efi/microsoft/boot
Для совмещения загрузчиков пришлось разнести их по разным разделам флешки, т. к. были совпадающие файлы. Теперь загрузка происходит таким образом: в начале стартует GRUB2, где можно прописать загрузки Linux систем и переход в меню установки Windows и запуска WinPE в UEFI режиме.
Для этого надо знать UUID разделов флешки.
--------------------------------------------------------------------------------------------------
menuentry "Установка Win7/8.1 и запуск WinPE в UEFI режиме (x64)"{
search --fs-uuid --no-floppy --set=root B4EF-6BC8
chainloader (${root})/efi/boot/bootx64.efi
}
--------------------------------------------------------------------------------------------------
menuentry "Konboot x64 " {
search --fs-uuid --no-floppy --set=root B903-79FF
chainloader (${root})/efi/boot/KonBoot/bootx64.efi
}
--------------------------------------------------------------------------------------------------
В приведенных примерах - Это два раздела одной флешки (UUID=B4EF-6BC8)и(UUID=B903-79FF)
Это позволяет переключатся между Grub2 EFI и Windows EFI и запускать программы, работающие в режиме UEFI, не отключая Secure Boot.
После разбития флешки на разделы в BooICE она назначает букву лишь одному разделу, который и будет загружаться в начале. Поэтому Grub2 EFI ставим на 1-й активный раздел, имеющему назначенную букву. 2-ой раздел отдаем под сборки Windows EFI (установка и Live CD).
Добавление программ происходит редактированием файла grub.cfg по пути /boot/grub/grub.cfg
Картинка меню, расположение строк и их цвет указаны в THEME.TXT, если используется тема для Grub2
При использовании простого оформления все указывается в файле.cfg.
Для загрузки компьютеров с обычным BIOS используется загрузчик grldr и menu.lst расположенные на 1-ом активном разделе и пропиской grub4dos в PBR.
P.S. Запускал х64 Асронисы; Парагоны; Антивирусы с сохранением обновленных баз, многие Линухи...
Что знаю, то подскажу, а чего нет, то самообразование никто не отменял.

[Цитировать]

    Heckfy
  • 14011
  • Стаж: 1 год 5 месяцев
  • Сообщений: 28
  • Репутация:0

    [+] [-]
puhpol,
Нерационально, похоже на танец с бубнами.
Использовать 2-а раздела под загрузчики, да ещё необходимость uuid, которые у каждого индивидуальны. Не похоже, что автор искал универсальный и рацональный метод.
Можно проще и универсальнее:
1) с помощью bootice разбить диск (флеш, карту) на 2-а или 3-4-е раздела, для совместимости с bios с разметкой mbr. Один из которых небольшого размера, достаточео 100 Мбайт, рекомендую сделать последним номером, будет в fat32, которому можно назначить идентификатор EF. Первый раздел в ntfs (не исключаю и exFAT), чтобы он был виден в Windows, на нем размещаем загружаемое, последующие разделы можно выделить под linux (ext2, btrfs и т.п.).
2) далее с помощью того же bootice прописываем в mbr fat32 загрузчик, для пущей простоты grub4dos. На этом же разделе fat32 размещаем все загрузчики, в т.ч. efi. Забрасываем в efi/boot менеджеры grub2-efi, переименовав их в bootx64.efi и bootia32.efi соответственно, если требуется там же grub.cfg с ссылкой на конфигурационный файл, где сам загрузчик grub2-efi. Чтобы не заниматься установкой grub2-pc, grub2-efi из ubuntu и т.п. можно воспользоваться проектами grub2win и т.п.
3) Далее возвращаемся к grub4dos, в корне раздела размещаем файл grldr и в нем прописываем загрузку grub2-pc. Т.е. grub4dos в mbr нам нужен лишь как удобный костыль для запуска grub2-pc, это особенно актуально для таких проектов как grub2win устанавливаемых через windows. Хотя grub4dos можно оставить и основным загрузчиком. Однако, более универсальным будет использовать grub2 и для bios и uefi.
4) загрузчики windows размещаем в /boot и /efi/microsoft соответственно. После этого у нас будет достаточный набор.
Переключаться между разделами для редактирования конфигурационных файлов загрузчиков из под windows можно с помощью bootice. В случае linux этого не требуется.

[Цитировать]

    sanek-van
  • 86
  • Стаж: 2 года 11 месяцев
  • Сообщений: 18
  • Репутация:0

    [+] [-]
Немного дополню. Для того что бы не было пересечения файлов, в директории Efi\Boot создаем под папки (к примеру): 2к10; Fan; Xmpe; Sstr. В эти папки копируем из соответствующих сборок файлы bootx64.efi и BCD.
Для 2к10 дополнительно в папку Efi скопировать из сборки папку мелкософт с загрузчиком.
Опробовано на флешках с одним и двумя разделами.
В файле grub.cfg прописываем:
menuentry "2K10_8x64" --class windows {
insmod /boot/grub/x86_64-efi/chain.mod
insmod /boot/grub/x86_64-efi/fat.mod
insmod /boot/grub/x86_64-efi/exfat.mod
insmod /boot/grub/x86_64-efi/ntfs.mod
insmod /boot/grub/x86_64-efi/ntfscomp.mod
search --set=root -f /2k10/Programs-2k10
chainloader /efi/boot/2k10/bootx64.efi
boot
}
menuentry " m0nkrus FAN v4.2_8x64_установка_7|8.1|10 " --class windows {
insmod /boot/grub/x86_64-efi/chain.mod
insmod /boot/grub/x86_64-efi/fat.mod
insmod /boot/grub/x86_64-efi/exfat.mod
insmod /boot/grub/x86_64-efi/ntfs.mod
insmod /boot/grub/x86_64-efi/ntfscomp.mod
search --set=root -f /efi/win_pe/W8x64.wim
chainloader /efi/boot/Fan/bootx64.efi
boot
}
menuentry " Xmpe " --class windows {
insmod /boot/grub/x86_64-efi/chain.mod
insmod /boot/grub/x86_64-efi/fat.mod
insmod /boot/grub/x86_64-efi/exfat.mod
insmod /boot/grub/x86_64-efi/ntfs.mod
insmod /boot/grub/x86_64-efi/ntfscomp.mod
search --set=root -f /Xmpe/W81x64.wim
chainloader /efi/boot/Xmpe/bootx64.efi
boot
}
menuentry " Sstr " --class windows {
insmod /boot/grub/x86_64-efi/chain.mod
insmod /boot/grub/x86_64-efi/fat.mod
insmod /boot/grub/x86_64-efi/exfat.mod
insmod /boot/grub/x86_64-efi/ntfs.mod
insmod /boot/grub/x86_64-efi/ntfscomp.mod
search --set=root -f /Sstr/strelec8x64.wim
chainloader /efi/boot/Sstr/bootx64.efi
boot
}
search --set=root -f /2k10/Programs-2k10 - команда ищет на дисках папки и файлы и делает диск с найденными файлами активным.

[Цитировать]

    волчара
  • 253
  • Стаж: 2 года 9 месяцев
  • Сообщений: 235
  • Репутация:3

    [+] [-]
  • Откуда: Омск
sanek-van, Подскажите есть ли разница между тем как вы написали скрипт пример:
menuentry " Sstr " --class windows {
insmod /boot/grub/x86_64-efi/chain.mod
insmod /boot/grub/x86_64-efi/fat.mod
insmod /boot/grub/x86_64-efi/exfat.mod
insmod /boot/grub/x86_64-efi/ntfs.mod
insmod /boot/grub/x86_64-efi/ntfscomp.mod
search --set=root -f /Sstr/strelec8x64.wim
chainloader /efi/boot/Sstr/bootx64.efi
boot
}
я имею ввиду вот это
insmod /boot/grub/x86_64-efi/chain.mod
insmod /boot/grub/x86_64-efi/fat.mod
insmod /boot/grub/x86_64-efi/exfat.mod
insmod /boot/grub/x86_64-efi/ntfs.mod
insmod /boot/grub/x86_64-efi/ntfscomp.mod
и тем как реализовано у меня
insmod vbe
set timeout=30
loadfont /boot/grub/themes/dejavu_16.pf2
gfxpayload='1024x768,800x600,640x480'
set lang=ru_RU
set theme=/boot/grub/themes/volchara/win_menu.txt
terminal_output gfxterm
insmod chain
insmod loopback
insmod part_gpt
insmod jpeg
insmod png
insmod gzio
insmod part_msdos
insmod ext2
insmod fat
insmod ntfs
insmod iso9660
insmod xfs
############################################MICROSOFT###################################################
menuentry "Установка Windows 7/8/8.1/10 (MSDaRT Full) x64bit" --class win {
search --set -f /efi/microsoft/x64/erdc/bootx64.efi
chainloader /efi/microsoft/x64/erdc/bootx64.efi
}
############################################MICROSOFT###################################################
menuentry "WinPE by Xemom1 and Sergei Strelec x64bit" --class winpe1 {
search --set -f /efi/microsoft/x64/winpe/bootx64.efi
chainloader /efi/microsoft/x64/winpe/bootx64.efi
}
############################################END###############################################
############################################Возврат в меню###################################################
menuentry "Вернуться в главное меню" --class nazad {
search --set -f /boot/grub/grub.cfg
configfile /boot/grub/grub.cfg
}
############################################END###############################################
т.е. я имею ввиду зачем писать в каждом скрипте
insmod /boot/grub/x86_64-efi/chain.mod

[Цитировать]

    sanek-van
  • 86
  • Стаж: 2 года 11 месяцев
  • Сообщений: 18
  • Репутация:0

    [+] [-]
волчара, да похоже разницы и нет
так как у вас даже проще, тогда сам код будет выглядеть так:
menuentry " Sstr " --class windows {
search --set=root -f /Sstr/strelec8x64.wim
chainloader /efi/boot/Sstr/bootx64.efi
boot
}
Я в этом деле новичок, до всего пытаюсь докопаться сам ну или подсмотреть у других, если бы ваши сборки были чуть поменьше то подсмотрел бы и у вас.
По работе с этим не связан, можно сказать самообразование , так ..для души.

[Цитировать]

    Orochi
  • 14100
  • Стаж: 1 год 5 месяцев
  • Сообщений: 101
  • Репутация:0

    [+] [-]
Ребята, может ли Gurb2 под efi грузить iso файлы как это делает grub4dos?
Может ли grub2 грузить исо в память, после чего цеплять встроенный в исо grub.cfg?
Сейчас использую grub4dos + XorBootU.
XorBootU очень нравиться, но он не проходит secure boot и некоторые исо не грузит. Например я не могу загрузить PartedMagic или Tails из исо.


Показать сообщения:    

Текущее время: 20-Ноя 12:15

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы