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

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 892
  • Репутация:75

    [+] [-]
Статья от 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
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 26
  • Репутация: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
  • Стаж: 10 лет
  • Сообщений: 21
  • Репутация: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
  • Стаж: 9 лет
  • Сообщений: 598
  • Репутация:45

    [+] [-]
  • Откуда: Омск
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
  • Стаж: 10 лет
  • Сообщений: 21
  • Репутация:0

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

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

    Orochi
  • 14100
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 218
  • Репутация:0

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

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

    Orochi
  • 14100
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 218
  • Репутация:0

    [+] [-]
Не подскажите как узнать UUID разделов флешки из под Windows?

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

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
52810как узнать UUID разделов флешки из под Windows?
DISKPART> detail disk
Еще вариант - MountVol

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

    Orochi
  • 14100
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 218
  • Репутация:0

    [+] [-]
nikzzzz,
Спасибо

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

    Mariolast
  • 18556
  • Стаж: 6 лет 6 месяцев
  • Сообщений: 41
  • Репутация:0

    [+] [-]
Подскажите, как правильно прописать меню для загрузки Clonezilla
Дистрибутив брал отсюда
https://clonezilla.org/downloads/download.php?branch=stable
В конфиге прописал
menuentry "Clonezilla (64-bit)" {
search --file --no-floppy --set=root /SSTR/linux/clonezilla64/live/vmlinuz
linux /SSTR/Linux/clonezilla64/live/vmlinuz boot=live live-media-path=/SSTR/Linux/clonezilla64/live union=overlay username=user config components quiet noswap edd=on nomodeset locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0 splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
initrd /SSTR/Linux/clonezilla64/live/initrd.img
}
Загрузить не удалось.

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

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
Mariolast,
судя по /SSTR/Linux/...
вы берете меню из сборки Стрельца
проверьте, лежат ли у вас два файла из дистрибутива точно по этим путям от корня флешки
/SSTR/Linux/clonezilla64/live/vmlinuz
/SSTR/Linux/clonezilla64/live/initrd.img

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

    BalAngel
  • 647
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 257
  • Репутация:14

    [+] [-]
Загрузить не удалось.
Что, где, когда?
Будем гадать. Тема называется "MultiBoot USB grub4dos+GRUB2_UEFI ". Вы приводите загрузочную запись Grub2, значит вы пытаетесь грузить с EFI. Допустим скачали дистрибутив россыпью (zip файл), live папку скопировали в /SSTR/linux/clonezilla64. Так, как в сборке Стрельца не вижу GRUB2, смотрю, что написано в файле EFI\boot\grub.cfg соответствующее в меню Стрельца, то есть по умолчанию:
menuentry "Clonezilla live (Default settings, VGA 800x600)"
{
  search --set -f /live/vmlinuz
  linux /live/vmlinuz boot=live union=overlay username=user config components quiet noswap edd=on nomodeset noeject locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  initrd /live/initrd.img
}
Все пути /live надо менять на /SSTR/linux/clonezilla64/live
А теперь сравнивайте, бегло не вижу отличий

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

    coka
  • 16
  • Стаж: 10 лет
  • Сообщений: 155
  • Репутация:4

    [+] [-]
  • Откуда: СиСиСиПи
Mariolast,
Для меня тоже остается загадкой, как можно запустить Клонезиллу в ЕФИ без наличия модов т.е. без наличия папки x86_64-efi которой нет в сборке SSTR?

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

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
я не использую Клонезиллу, для этих операций есть Terabyte IFL
Так вот там они используют GRUB2 без наличия папки x86_64-efi, что необходимо есть в их варианте bootx64.efi
if loadfont /boot/grub/font.pf2 ; then
insmod efi_gop
insmod efi_uga
insmod gfxterm
insmod png
terminal_output gfxterm
fi
set menu_color_normal=cyan/black
set menu_color_highlight=white/black
set pager=1
set default=0
set timeout=5
menuentry "IFL (GUI) Network Boot Disk - best available graphics mode" {
set background_color=black
gfxpayload='1024x768,800x600,640x480'
echo 'Loading vmlinuz...'
linux /vmlinuz uefimode=yes iflkmap=us ktl=qwerty iflbflag=2
echo 'Loading initrmfs.gz...'
initrd /initrmfs.gz
}
...

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

    BalAngel
  • 647
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 257
  • Репутация:14

    [+] [-]
без наличия папки x86_64-efi
В Clonezilla тоже самое - нет этой папки.
Сделал предположение, что Mariolast не нужен ликбез и/или изучил материал по теме, нужна EFI загрузка (если был Grub4DOS - то соответствующая команда iftitle .... есть в menu.lst). Всё это допуск, что он делал, знает экстрасенс
Я бы делал так:
- хочу, чтобы не было много папок в корне и за основу имею сборку Стрельца - прикручиваю папку live в папку соответственно пути в сборке SSTR. В режиме Legacy ничего не надо делать, при загрузке перейти на Grub4DOS
- если нужна EFI, надо изучить, как устроена загрузка EFI в сборке SSTR: там есть всякого добра, в том числе grubx64.efi Надо подумать, или делать загрузку на базе Clonezilla и добавлять записи загрузки на сборку SSTR, или наоборот
PS
Увидел, что может быть банально - у Стрельца папка linux лежит в корневом какталоге, если туда сливалась Clonezilla (/linux/clonezilla64/), а запись указывает на SSTR/Linux/clonezilla64/
PS PS
Grub2 в сборках Стрельца есть - путь boot\grub
В готовом конфигфайле clonezilla64.cfg написано:
set extract_path="/Linux/Clonezilla64"
export extract_path
......
menuentry "Clonezilla live (Default settings, VGA 800x600)"{
  #search --set -f /live/vmlinuz
  linux ${extract_path}/live/vmlinuz boot=live live-media-path=${extract_path}/live union=overlay username=user config components quiet noswap edd=on nomodeset locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  initrd ${extract_path}/live/initrd.img
}
Следовательно, действительность должна соответствовать написанному в set extract_path=??????
По Mariolast записи всё равно не будет грузится, нет live-media-path=.........
Можно, если загружается, попробовать записать локаль locales=RU keyboard-layouts=ru
Свою любопытность удовлетворил, вопрос больше не интересует

Страница 1 из 3


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

Текущее время: 12-Дек 12:25

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


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