Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Мультизагрузочная флешка на базе Ventoy  (Прочитано 256886 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн serg7777

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Несколько лет назад я написал эту статью для почившего сайта lubuntu.ru, к счастью я успел ее сохранить и теперь выкладываю тут на пользу вам, на память себе, ради ссылок и файлов использованных в статье. В принципе ничего кардинально нового в статье не изложено, просто все упорядочено, разжевано, разукрашено, актуализировано на сегодняшний день и подано в виде понятном для новичков.
Совсем небанальное название статьи:

Современный швейцарский нож сисадмина

Объемы USB накопителей растут, SSD дешевеют и пришла пора обновить мой швейцарский нож сисадмина в соответствии с новыми компьютерными веяниями и технологиями. Для этого я купил себе SSD M.2 (NGFF) с интерфейсом SATA и коробочку-адаптер к нему с внешним интерфейсом USB 3 и из этого собрал компактный высокоскоростной внешний накопитель на 512 GB. Выглядит он вот так:



Что я хотел бы получить от своей мультизагрузочной флешки:
  • загрузка флешки на компьютерах с UEFI (обязательно)
  • загрузка флешки на компьютерах с BIOS (обязательно)
  • загрузка с ISO образов без лишней возни/подготовки с этими образами, просто кинул его в нужное место на флешке и все  (обязательно)
  • загрузка с VHD/WIM образов дисков (очень желательно)
  • передача загрузки на загрузчик локального диска компьютера (обязательно)
  • загрузка линукса, установленного на этой флешке (обязательно)
  • загрузка windows, установленного на этой флешке (желательно)
Скажу сразу, все эти задачи я реализовал за исключением последнего пункта, но и его можно было бы реализовать, только я решил установить windows в VHD диск и грузить его из образа этого диска, таким образом я могу его загрузить хоть напрямую, хоть через виртуальный компьютер, что добавляет еще больше гибкости моему швейцарскому ножу, да и перенести эту винду при необходимости станет исключительно легкой задачей - скопировал один файл вот и весь перенос.

Я сразу решил что от всяких триков, которые я использовал при создании предыдущей флешки, как то использование ручного гибридного разбиения диска MBR+GPT, надо уходить и вообще процесс должен быть автоматизирован. Диск желательно разбивать в стиле GPT. Для создания мультизагрузочной флешки можно поработать головой и руками, раскидав требуемые загрузчики в положенные им места и создав для них конфиги, а можно и лучше воспользоваться какой нибудь утилитой автоматизирующей этот процесс. Таковых утилит у нас две: ➔ Ventoy и ➔ Easy2boot, хотя может и больше, но на слуху именно эти две. Повозившись с обоими, я остановился на Ventoy, правда изначально мне показалось что я не смогу решить все задачи, используя Ventoy. И хотя Easy2boot, как мне показалось, обладает гораздо большим потенциалом, но не факт что он мне нужен, а вот то что он отказывался грузить некоторые тестовые образы отвратило меня от него.
Итак наш выбор Ventoy.

Создание мультизагрузочной флешки

1) Скачайте последнюю версию ➔ Ventoy
У меня стоят рядом компьютер и ноутбук, поэтому часть работ я делал в windows, а часть в linux, но все можно сделать только в linux.
Я скачал файл ventoy-x.y.z-windows.zip, распаковал его и запустил Ventoy2Disk.exe, в линуксе надо будет запустить VentoyGUI.x86_64 или запускайте Ventoy2Disk.sh (но там командная строка, так что почитайте файл README)


Теперь надо задать язык и параметры разбиения диска


  • кликните в меню на Language и выберите нужный вам язык.
  • кликните на Стиль разметки разделов и выберите GPT
  • кликните на Дополнительный раздел - здесь надо будет ввести число сколько гигабайт оставить пустыми в конце диска.
Как понять сколько? Ventoy при установке на диск создаст два раздела - первый для хранения образов дисков, некоторых настроек самого ventoy и его плагинов, второй раздел в котором будет расположен загрузчик ventoy и опционально оставит пустое место для того чтобы пользователь мог создать свои разделы (а они нам понадобятся для установки линукса на эту же флешку). Второй раздел имеет маленький размер - всего 32 MB, размер первого раздела рекомендуется сделать менее 137 GB, потому что некоторые старые биосы не могут работать с разделами расположенными дальше 137 GB. Заложим размер 132 GB для нашего первого раздела - там будут iso, vhd, wim образы и файлобменник, потому что Windows XP может видеть только первый раздел на флешке (не помню как там дела с этим у Windows 7, с более свежими версиями виндоуз все хорошо). Общий объем моей флешки 512 GB, отнимаем от него 132 и получается что нужно оставить 380 GB свободного пространства.
В выпадающем списке дисков выберите вашу флешку (у меня там на картинке для примера флешка на 65 GB)
Теперь, если нажать кнопку Установить, ventoy удалит всё с флешки, переразобьет ее режиме GPT и создаст новые разделы.

2) Попробуем загрузиться с нашей флешки, она уже должна загружаться в меню ventoy на компьютерах с UEFI и BIOS
Можно попробовать на реальных компьютерах или на виртуальном (установите пакеты qemu-system-x86 и ovmf):
- для загрузки в режиме BIOS подойдет команда
sudo qemu-system-x86_64 -machine type=q35 -m 512 -cpu core2duo -hda /dev/sdXsudo нам требуется только потому что иначе мы не получим доступ к флешке, /dev/sdX это ваша флешка, исправьте букву в соответствии с вашей флешкой.
- для загрузки в режиме UEFI подойдет команда
sudo qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -machine type=q35 -m 512 -cpu core2duo -hda /dev/sdXно предварительно вам надо установить в линуксе пакет ovmf, это UEFI для виртуальных машин.

3) Итак вы убедились, что флешка грузится и настало время добавить ей еще возможностей, положить туда образы и проверить реальную загрузку с образов и других мест, например с локального диска компьютера.
Ventoy создал первый раздел отформатированный в ExFAT, если мы предполагаем использовать образы виртуальных жестких дисков этот раздел лучше переформатировать в NTFS.
  • переформатируем в NTFS и дадим ему красивое и понятное имя, я свой раздел назвал USB-SHARE
  • на этом разделе создаем папку ventoy (именно так, маленькими буквами), туда мы будем класть конфиг и плагины ventoy
  • можно создать папки для ISO и VHD образов, ventoy без разницы где будут лежать образы, он просканирует все папки, поскольку этот же диск у меня будет использоваться как файлопомойка для переноса файлов, я решил не плодить папки в корне флешки и создал внутри папки ventoy еще две папки ISO_IMAGES и VHD_IMAGES
  • скачиваем плагины ➔ ventoy_vhdboot.img для загрузки с VHD образов и ➔ ventoy_wimboot.img для WIM образов соответственно и кладем их в папку ventoy, которую мы создали в предыдущем пункте
  • теперь добавим мощнейший boot manager rEFInd, скачайте ➔ A CD-R image file и положите его в ту же папку ventoy
  • для еще большей совместимости с различными компьютерами и образами добавим еще один загрузчик совмещенный с файловым менеджером grub2-filemanager, скачайте ➔ grubfm_multiarch.iso и положите в ту же папку ventoy
  • запишите ISO образы ваших любимых дистрибутивов (если есть VHD образы их тоже) в соответствующие папки и можно тестировать

Как пользоваться этим комбайном

Сразу после загрузки вы увидите меню ventoy:

  • grub2-filemanager, это ваш второй шанс загрузить негрузящиеся образы и вообще полазить по файлам на флешке если забыли где что лежит
  • менеджер загрузок rEFInd, он нужен для загрузки с локального диска компьютера и вообще с чего угодно что он сможет найти при старте, а он очень находчивый
  • далее идут образы которые вы накидали

Теперь тестируете это все.
Собственно на этом всё, швейцарский нож готов к применению.
Можно кастомизировать ventoy, всякими точными настройками на конкретные образы, прикрутить к нему более красивую тему.
Можно на оставшееся пространство на флешке установить линукс или два :)

Ограничения

Возможно вы не сможете загрузить образы созданные для компьютеров с BIOS на компьютере с UEFI, но это проблема скорее архитектурная, а не проблема с ventoy. (Это утверждение надо проверять)

Пару слов о VHD

Где взять, как создать?
Если у вас есть виртуальная машина с установленной windows то у вас уже есть заготовка, если нет то можете почитать вот эту заметку 
(Нажмите, чтобы показать/скрыть)
в соответствии с ней установить windows в виртуалке. Теперь у вас есть какой то виртуальный диск с установленной windows и он скорее всего в формате qcow2, надо просто его сконвертировать в формат VHD, это делается командой:
qemu-img convert -f qcow2 -O vpc wirtual-10.qcow2 wirtual-10.vhd
Наведем красоту, добавим утилит и упорядочим все

Скачайте с Google Drive ➔ вот этот архив или с Dropbox ➔ если Google Drive кочевряжится или с Hightail ➔ если предыдущие две ссылки не сработали, который я приготовил для вас 29-марта-2023г, если вы будете читать и применять эту статью значительно позднее указанной даты будет иметь смысл обновить программное обеспечение использованное в этом архиве.
Распакуйте его и замените на флешке папку ventoy новой папкой из архива.
Теперь ваша флешка будет выглядет вот так при загрузке в UEFI режиме:

и вот так при загрузке в BIOS режиме:


Накидайте образов в соответствующие папки и всё готово.
Внутри есть текстовый файл ReadMe.txt с полезными ссылками.

Продолжаем продолжать.
Добавим полноценный linux на эту флешку

Для начала я покажу вам как разбита моя флешка:


1-й раздел (с меткой USB-SHARE) для хранения iso и vhd образов, для файлового обмена с Windows XP (если такие у вас еще остались).
2-й раздел - загрузочный, содержит ventoy со всеми его потрохами (обратите внимание я ему сменил флаги на boot, hidden, esp чтобы операционки скрывали этоn раздел).
3-й раздел - архив, там я буду держать музыку, фильмы, софт, игры и т.д., для большей совместимости отформатирован в ntfs.
4, 5, 6 разделы содержат полноценный линукс.

Вот о том как установить линукс на эти разделы флешки мы и поговорим. Казалось бы, а что тут такого сложного, бери да устанавливай линукс на флешку как на обычный жесткий диск и все дела. Да, в случае обычной флешки на которой был бы только линукс мы бы поступили именно так, но у нас не простая флешка, а имеющая довольно сложный двухрежимный EFI/BIOS загрузчик ventoy и есть опасение такой установкой линукса поломать процесс загрузки ventoy (хотя наверно есть два варианта - первый просто не устанавливать grub в процессе установки линукса, второй переустановить ventoy по окончании). Но я поступлю по другому.
  • Определитесь с размерами разделов 4, 5, 6 и создайте пустые разделы на флешке.
  • Установите линукс на другую флешку или на свободный жесткий диск создав раздел для root именно такого размера каким будет размер 4 раздела (тот что предназначен для будущего root на флешке). Можно даже взять ваш рабочий линукс
  • Используя команду dd скопируйте новый root на флешку
Теперь надо добавить возможность загрузки этого нового линукса, ха-ха-ха у нас просто куча всяких загрузчиков на диске  ;D
Ventoy базируется на grub2 и в нем заложена возможность подсунуть ему пользовательский конфиг (промотайте страницу вверх и посмотрите на скриншоте, там есть F6:ExMenu) по нажатию кнопки F6 в grub2 передается этот пользовательский конфиг. И все что нам осталось это написать такой конфиг для загрузки линукса из 4-5-6-го разделов.
Конфиг я уже написал, его надо положить в файл /ventoy/ventoy_grub.cfg на первом разделе, рядом с файлом ventoy.json
# Extra config for Ventoy to boot linux from a partition on this disk
# This is GRUB config and it is called by pressing F6:ExMenu
# Location: /ventoy/ventoy_grub.cfg

# Label of your linux root partition installed on this USB disk
# You have to set this variable according to your partition label
set usblinuxrootpart="USB-ROOT"

# Timeout for menu
#set timeout=30

# Default boot entry
set default=1

menuentry "<--  press <ESC>" {
    echo
}

menuentry "Boot Linux from partition: $usblinuxrootpart" {
    search --no-floppy --label --set=root $usblinuxrootpart
    linux   /boot/vmlinuz root=LABEL=$usblinuxrootpart ro quiet splash
    initrd  /boot/initrd.img
    boot
}

menuentry "Boot Linux from partition: $usblinuxrootpart (recovery mode)" {
    search --no-floppy --label --set=root $usblinuxrootpart
    linux   /boot/vmlinuz.old root=LABEL=$usblinuxrootpart ro recovery nomodeset dis_ucode_ldr
    initrd  /boot/initrd.img.old
    boot
}

menuentry "CPU info" {
    bit="x32"
pae="No"
if cpuid -l; then
        bit="x64"
fi
if cpuid -p; then
pae="Yes"
fi
    echo -n -e "\n\n    This is $bit CPU, Physical Address Extension (PAE): $pae \n\n\n\n    press <ESC>"
sleep --interruptible 9999
}

menuentry "Reboot" {
    reboot
}
Вам надо только подправить строку set usblinuxrootpart="USB-ROOT" и вписать в нее метку раздела rootfs вашего линукса на вашей новой флешке.
Еще останется отредактировать файл /etc/fstab в вашем линуксе на флешке что бы подключить home, swap и другие разделы флешки. Мой файл fstab выглядит вот так:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# rootfs partition
LABEL=USB-ROOT /               ext4    errors=remount-ro 0       1
# homefs partition
LABEL=USB-HOME /home           ext4    defaults        0       2
# swap partition
LABEL=USB-SWAP none            swap    sw              0       0
# ntfs partitions
LABEL=USB-SHARE /USB-SHARE        ntfs    defaults,umask=007,gid=46 0       0
LABEL=USB-ARCHIVE /USB-ARCHIVE      ntfs    defaults,umask=007,gid=46 0       0
Если дадите своим разделам такие же имена как на моей флешке вам даже править ничего не придется.
Теперь по нажатию F6 будет вот такое меню для загрузки полноценного линукса:


Вот и всё! Все поставленные задачи решены. Теперь наша флешка грузится и на UEFI и на BIOS компьютерах, с нее можно загружаться с iso образов, в vhd файле есть установленная windows, на флешке есть два линукса - полноценный и OneFileLinux (этот правда можно загрузить только на EFI компьютерах), тетрис, разные UEFI утилиты, мемтест.
Добавить свежевышедший дистрибутив линукса или винды - это просто закинуть iso в папку и все.
Ну и наконец это просто красиво!  :D

« Последнее редактирование: 23 Февраля 2024, 01:55:06 от serg7777 »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #1 : 17 Марта 2023, 13:25:53 »
Поправьте, пожалуйста, картинки:
Руководство по добавлению изображений на форум
(Нажмите, чтобы показать/скрыть)

Цитировать
(в линуксе надо будет запустить Ventoy2Disk.sh, там командная строка, так что почитайте файл README)
Да вроде GUI есть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн serg7777

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #2 : 17 Марта 2023, 13:38:43 »
Исправил.
« Последнее редактирование: 18 Марта 2023, 06:02:20 от serg7777 »

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #3 : 17 Марта 2023, 21:56:55 »
менеджер загрузок rEFInd, он нужен для загрузки с локального диска компьютера и вообще с чего угодно что он сможет найти при старте, а он очень находчивый
Приложение старое, набросали исошников, загрузились в любом режиме (легаси или уефай), нажали F2 и попадаем в браузер. Можем ходить по всем своим хардам и грузится с любого исошника.
 Установка Linux на флешку... и сколько она проработает учитывая, что нынешние версии при работе гадят мусором не хуже винды. На диск ещё ладно, но на флешку ?
Версия желательна не ранее ventoy-1.0.7.

Оффлайн bgxbgx

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #4 : 21 Февраля 2024, 10:44:49 »
Добрый день. Сыллка на  Google Drive, на архив с темой не работает, пришлите, пжл, новую

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #5 : 21 Февраля 2024, 11:12:07 »
Ирония судьбы! Прежде чем стать "мультизагрузочной", нужно "мульти попыхтеть", "мульти чего", "мульти откуда" загрузить. И если "мульти повезет", то...

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #6 : 21 Февраля 2024, 11:21:50 »
Ссылка вверху рабочая, сейчас скачал крайнюю версию ventoy-1.0.97. Разархивировать в любое место, втыкаем флешку, запусаем приложение с экзешника Ventoy2Disk.exe (предпочитаю заливать Ventoy на флешку в винде). Выбираем русский.
Зачастую не заливается с первого раза, потому не закрывая установщик переподключаем флешку и всё сработает. На флешку можно закинуть любые исошники Windows,установочная или ремонтная Стрельца, любой дистрибутив Linux. Ventoy позволяет загрузиться в двух режимах (режим, в котором будем устанавливать систему) ... legasy или uefi. В биос для выбора сзгрузки не идём, вызываем горячей клавишей загрузочное меню биос-а и там uefi-имя флешки для загрузки в uefi, просто имя флешки для загрузки в legasy. Если на компе имеются исошники например разных дистрибутивов Linux, то их не обязательно помещать на флешку, просто грузимся в Ventoy,жмём F2 и попадаем в проводник. Выбираем диск, раздел, папку курсорными, исошник запускаем Энтером. Загрузившись "вживую" можно протестировать дистрибутив, посмотреть как он позволяет изменить интерфейс, установить и потестить приложения.... кроме вайна конечно, он не влезет.
Можно загрузившись часами "тренироваться" ничего не испортив нигде, система ведь в оперативе крутится.

Оффлайн Usermaster

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2537
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #7 : 21 Февраля 2024, 13:17:54 »
предпочитаю заливать Ventoy на флешку в винде
Вроде как и там и там идентично работает и интерфейс одинаковый.
Или это какой тайный обряд? Чтоб ventoy грузился лучше?
Ну типа как у индейцев, чтоб урожай был, танец с бубном надо выполнить.

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #8 : 21 Февраля 2024, 14:37:54 »
Вроде как и там и там идентично работает и интерфейс одинаковый
К винде просто привык больше, заливал образы на флешку всегда в ней, ну и по инерции продолжаю.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #9 : 21 Февраля 2024, 16:45:27 »
А еще существует iventoy - загрузка образов по сети. И флешка не нужна 8)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Irshat

  • Активист
  • *
  • Сообщений: 534
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #10 : 23 Февраля 2024, 00:24:06 »
Если на компе имеются исошники например разных дистрибутивов Linux, то их не обязательно помещать на флешку, просто грузимся в Ventoy,жмём F2 и попадаем в проводник. Выбираем диск, раздел, папку курсорными, исошник запускаем Энтером.
Внезапно обнаружил, что с ext4 не грузит образы. С ntfs грузит.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #11 : 23 Февраля 2024, 00:27:58 »
Irshat, флешка на ext4? Ну такое себе :o
Ventoy вроде по-умолчанию exfat создаёт, что для флешки явно лучше чем NTFS или EXT_
« Последнее редактирование: 23 Февраля 2024, 02:03:03 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #12 : 23 Февраля 2024, 03:59:49 »
Цитировать
обнаружил, что с ext4 не грузит образы
Что не грузит, где не грузит, как не грузит?
Конкретно. Что за ext4, чем и как создавал? Что за образ?

Оффлайн rolik

  • Активист
  • *
  • Сообщений: 491
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #13 : 23 Февраля 2024, 09:19:01 »
Последние полгода Ventoy перестал "тащить" образ с раздела на диске NTFS. Со своей флешки без проблем. Особо не напрягает, но раньше приятно радовало. Как то так.

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
Re: Мультизагрузочная флешка на базе Ventoy
« Ответ #14 : 23 Февраля 2024, 10:36:26 »
У меня работает на разных версиях, с 1.07, 1.0.8, 1.0.9. Вчера сидел выбирал какие повыбрасывать, так и не выбрал. Жалко даже совсем старенькие. Образы на полторашке с одним разделом в ntfs. Ventoy на пустой СД карте 512Mb через адаптер.
« Последнее редактирование: 23 Февраля 2024, 10:38:00 от vladimirzhuravlev »

 

Страница сгенерирована за 0.033 секунд. Запросов: 21.