Ventoy - Multi Boot USB w zasięgu naszej ręki

Forum obejmujące tematy systemów operacyjnych oraz wszelakiego, ciekawego oprogramowania.
Awatar użytkownika
Piotr86PL
Posty: 47
Rejestracja: 20 wrz 2020, 18:17
Lokalizacja: SYS:

Ventoy - Multi Boot USB w zasięgu naszej ręki

Post autor: Piotr86PL »

Dzień dobry

Na początku chciałbym wszystkim życzyć Wszelakiego Najlepszego z okazji świąt Bożego Narodzenia i pomyślności w nowym roku :> Dzisiaj z tej okazji coś niezwiązanego z sieciami, ani z telekomunikacją, a nawet nic z Pocket PC. Chciałbym wam przedstawić program Ventoy, który zamieni waszego pendrive w istny tool pack, to znaczy, umożliwi wam bootowanie z wielu obrazów ISO. Oznacza to, że będziecie mogli wrzucić na USBka różne narzędzia jak GParted do partycjonowania dysku, Clonezilla do klonowania, a nawet instalator Windowsa czy środowisko Windows PE. Lista wspieranych obrazów płyt się ciągle poszerza, a sam projekt rozwija się dynamicznie. Ot chociażby wczoraj (23.12.2020) wyszła nowa aktualizacja. Co ona dodała nam?
  • Naprawiła błąd z dyskami powyżej 2TB
  • Naprawiła błąd związany z bootowaniem CentOS 8.3
  • Przebudowała aplikację flashującą aby antywirusy się nie czepiały
  • Dodała obsługę dla kolejnych czterech obrazów płyt
Jak widać, więc twórcy mocno rozwijają swoje dzieło i każdy update wprowadza coś nowego.

No to może na dobry początek nudna gadanina... Ale z okazji świąt, obiecuję, że będzie krócej. Otóż czym się różni Ventoy od innych rozwiązań? Jest w pełni otwartoźródłowy. Możemy do woli modyfikować i studiować kod programu. Dodatkowo jest naprawdę prosty w użytkowaniu. Przerzucamy ISO na pendrive i działa! Nasze obrazy nie są być rozpakowywane, a jak już jesteśmy przy obrazach. Ventoy nie ogranicza się do plików ISO, na naszą pamięć możemy wrzucić: obraz WIM, dysk VHD, pliki IMG, a nawet EFI. Program wspiera zarówno MBR jak i GPT, co za tym idzie działa z UEFI i Secure Boot. A co mi się najbardziej podoba - możemy dowolnie modyfikować menu główne programu. Czym się dziś zajmiemy.

Jak więc Ventoy działa? Obiecałem, że będzie krócej, więc krótko: otóż program tworzy na naszym pendrive dwie partycje. Jedna EFI dla samego Ventoy i druga exFAT (FAT32/NTFS/UDF/XFS/Ext2(3)(4) też zadziałają) na nasze obrazki. Program zawarty na partycji numero uno ładuje się przy starcie i zarządza całym procesem bootowania z plików. Ventoy wykorzystuje przede wszystkim GRUB znany z systemów Unixowych, a więc można bardzo prosto dostosowywać menu pod nasze potrzeby. Zainstalujmy więc go.

Na początku potrzebujemy pendrive. Pojemność? Nie ma znaczenia. Powinna być tak duża aby zmieściły nam się naze pliki ISO. Ja posiadam 64GB pamięć USB i to ją użyję. Kiedy mamy przygotowany flash drive, kolejnym krokiem będzie pobranie programu ze strony producenta: http://www.ventoy.net. Potrzebne pliki znajdziemy w zakładce "Downloads". Po kliknięciu na dowolny link zostaniemy przekierowani na stronę GitHuba projektu. Musimy odnaleźć pliki, które znajdują się pod sekcją "Assets" (XX to wersja):
  • ventoy-XX-linux.tar.gz - jest to program flasujący naszego pendrive dla systemu Linux
  • ventoy-XX-livecd.iso - jest to mała dystrybucja linuxowa z programem flashującym dla użytkowników systemu Windows, którzy nie mają praw administratora. Plik ten należy nagrać na pendrive i zbootować
  • ventoy-XX-windows.zip - jest to program flasujący dla systemu Windows, wymaga praw administratora
Po pobraniu odpowiedniego pliku rozpakowujemy go na naszym dysku. W folderze z programem powinna znaleźć się aplikacja Ventoy2Disk(.exe/.sh) oraz trzy foldery.
1_Folder.png
1_Folder.png (7.75 KiB) Przejrzano 5026 razy
Następnie uruchamiamy program Ventoy2Disk. Ja przeprowadzę operację na systemie Windows. Może odezwać się Antywirus i narzekać, że plik jest niebezpieczny. Jest to spowodowane tym, że program ingeruje w strukturę pendrive. Oczywiście jest to fałszywy alarm a autorzy Ventoy pracują nad tym by zgłosić swoją aplikację do twórców programów antywirusowych. Otóż wcześniej już to robili, ale ostatnio zmienili kod tego programu i antywirusy znów mogą go wykrywać. Po uruchomieniu programu pojawi się okienko w którym możemy wybrać nasze urządzenie oraz dostosować sam program. Polecam zmienić język na Polski wybierając "Language" oraz "Polish". Możemy wybrać schemat partycji jaki zostanie zastosowany na naszym urządzeniu. Dla zwiększenia kompatybilności polecam wybrać MBR. Można to zrobić wybierając "Opcje" -> "Schemat partycji" -> "MBR". GPT należy użyć w przypadku naprawdę pojemnych dysków. Pod pozycją Opcje, możemy również wyczyścić program Ventoy z pendrive. Usunie to jednak zawartość naszej pamięci. Kiedy wszystko sobie ustawiliśmy klikamy na przycisk "Zainstaluj". Program poinformuje nasz o tym, że ten proces wyczyści całego pendrive. Oczywiście po zrobieniu kopii jego zawartości, zgadzamy się na to. Kiedy aktualizujecie Ventoy (np ja to zrobię teraz bo już mam Ventoy), naciskajcie "Zaktualizuj", wtedy nie usunie wam to waszych obrazów. Kiedy proces się zakończy, program was poinformuje stosownym komunikatem.
2_Ventoy2Disk.png
2_Ventoy2Disk.png (12.78 KiB) Przejrzano 5026 razy
Teraz możecie zamknąć tego posta. Naprawdę to koniec. Takie to proste. Jedyne co nam pozostało to przerzucenie dowolnych plików ISO, IMG, WIM, VHD itd. na naszego pendrive. Teraz możemy wkładać pena do kompa i bootować z niego. Jednak, nie byłbym sobą gdybym zakończył w tym miejscu. Otóż jak wspominałem Ventoy ma duże możliwości konfiguracyjne, dlatego chciałbym wam pokazać jak w minimalnym stopniu dostosować naszego tool packa.

Ventoy opiera się na tzw pluginach, czyli dodatkach implementowanych przez twórców programu, które można aktywować na dowolnej instancji Ventoy'a. Odsyłam was do dokumentacji http://www.ventoy.net/en/plugin_entry.html, ponieważ ja przedstawię tylko cztery pluginy:
[*][b]Global Control Plugin[/b], który ... ładniejsze[/url].
Punktem wyjścia jest plik konfiguracjny "ventoy.json", który powinien znaleźć się w folderze "ventoy". Folder ten musi znajdować się bezpośrednio na pendrive z plikami ISO.
3_ventoyfolder.png
3_ventoyfolder.png (3.31 KiB) Przejrzano 5026 razy
Plik konfiguracyjny jest plikiem json. Nie będę teraz tłumaczył jak pisać w takim pliku. Jeżeli nie znacie się na tym, to polecam użycie narzędzi dostępnych online. W folderze z programem możecie odnaleźć katalog "plugin", który zawiera przykładowy plik json. Najważniejszym elementem będzie uruchomienie pluginu Global Control. W tym celu nasz plik musi zawierać tablicę o nazwie control. Ja tam umieszczę tylko dwa wpisy konfiguracyjne "VTOY_DEFAULT_MENU_MODE" ustawiony na 1 pozwoli na wyświetlenie się katalogów i umieści pliki bootowalne w folderach tak jak to zrobimy na pendrive. Opcja 0 wylistuje nam wszystkie pliki bez względu czy są w katalogach. Opcja "VTOY_TREE_VIEW_MENU_STYLE" ustawiona a 1 ukryje nam prefiks "DIR" przed katalogiem i ukryje nam rozmiary plików. Tak ustawiony plugin może mniejszy użyteczność, ale za to menu będzie przyjemniejsze dla oka. Ostatnie nasz plik .json wygląda w następujący sposób:
{
"control": [
{ "VTOY_DEFAULT_MENU_MODE": "1" },
{ "VTOY_TREE_VIEW_MENU_STYLE": "1" }
]
}
Edytor forumowy może psuć układ i wszystko będzie rozjechane. PROSZĘ ZWRÓCIĆ UWAGĘ NA TO, ŻE JEŻELI JAKIŚ ELEMENT COŚ KOŃCZY NIE DAJEMY TAM PRZECINKA. Mój plik .json wrzucę na serwer i dam wam linka na końcu posta. Plugin Global Control posiada więcej opcji, oczywiście. Polecam zajrzeć do dokumentacji https://www.ventoy.net/en/plugin_control.html

Następnym krokiem będzie dodanie jakiegoś ładnego motywu do naszej instancji Ventoy. Użyjemy do tego pluginu "Theme Plugin", który pozwoli nam na wgranie dowolnego motywu GRUB2. Tematy możemy pobrać z Internetu, np. z tej strony https://www.gnome-look.org/. Motyw jaki ja używam to "grub-theme-vimix" w wersji 1080p: https://www.gnome-look.org/p/1009236/. Po pobraniu motywu, rozpakowywujemy go i kopiujemy folder z nim do katalogu ventoy. Całość powinna wyglądać w następujący sposób:
4_themefolder.png
4_themefolder.png (70.44 KiB) Przejrzano 5026 razy
Teraz musimy uaktywnić plugin poprzez stworzenie obiektu "theme" w pliku konfiguracyjnym. Ja wykorzystam jedynie dwie opcje jakie umożliwia ten plugin. Klucz "file" pozwala mi na wskazanie pliku theme.txt, który zawiera informacje o motywie, zaś "display_mode" informuje program o tym, aby wyświetlał GRUB w trybie GUI. Po tych modyfikacjach nasz plik wygląda tak:
{
"control": [
{ "VTOY_DEFAULT_MENU_MODE": "1" },
{ "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" }
],

"theme": {
"file": "/ventoy/theme/theme.txt",
"display_mode": "GUI"
}
}
Tym razem również polecam zajrzeć do dokumentacji pluginu: https://www.ventoy.net/en/plugin_theme.html, która zawiera wszelkie informacje i opcje obsługiwane przez ten dodatek.

Teraz dodamy sobie ikonki do naszych obrazów, a także do folderów. Aby to zrobić wykorzystamy właściwość GRUBa, która nazywa się "klasą". W dużym skrócie klasa to taki identyfikator, przypisywany czemuś dzięki, któremu możemy wpływać na wiele rzeczy spod jednej klasy. W Ventoy ta właściwość jest używana przede wszystkim do dodawania ikonek przy wpisach w menu. Aby uaktywnić tę opcję, musimy włączyć plugin "Menu Class", poprzez utworzenie tablicy "menu_class" w naszym pliku konfiguracyjnym. Następnie do tablicy dodajemy obiekt, który składa się z dwóch kluczy: "key" dla pliku lub "dir" dla folderu oraz "class" dla klasy. Teraz jak to działa.
W polu key wpisujemy nazwę naszego pliku. Może być ona nie pełna. Nawet polecam tak robić. Jeżeli producent danego narzędzia wypuszcza pliki o określonej nazwie np. clonezilla-live-2.7.0-10-amd64.iso, możemy wpisać tylko "clonezilla-live-", dzięki czemu będziemy mogli prosto podmieniać plik z clonezillą bez ciągłej zmiany pliku konfiguracyjnego. W polu "dir" musimy wpisać ścieżkę do folderu np. "/Disk_Tools", ważne jest aby pamiętać o tym slashu na początku. Podkatalogi również musimy dopisać np. "/Disk_Tools/Partitioning_Tools". Na koniec w polu "class" wpisujemy nazwę pliku z ikonką ale bez rozszerzenia np. "ubuntu" lub "folder". Nie wiem dokładnie jaką rozdzielczość muszą mieć ikonki ale mój motyw korzysta z ikonek w formacie PNG o rozdzielczości 32x32 i tak też ja dorabiam sobie ikonki jak trzeba, a następnie je wrzucam do folderu "icons", który znajduje się w katalogu z motywem. Ostatecznie nasz plik konfiguracyjny wygląda następująco:
{
"control": [
{ "VTOY_DEFAULT_MENU_MODE": "1" },
{ "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" }
],

"theme": {
"file": "/ventoy/theme/theme.txt",
"display_mode": "GUI"
},

"menu_class": [
{
"key": "AcronisBootableMedia",
"class": "acronis"
},
{
"key": "clonezilla-live-",
"class": "clonezilla"
},
{
"key": "gparted-live-",
"class": "gparted"
},
{
"key": "PartAssist",
"class": "aomeipart"
},
{
"dir": "/Disk_Tools",
"class": "folder"
},
{
"dir": "/Disk_Tools/Clonning_Tools",
"class": "folder"
},
{
"dir": "/Disk_Tools/Partitioning_Tools",
"class": "folder"
}
]
}
Tym razem omówiłem wszystkie opcje tego pluginu jednak nie wspomniałem, że ten ma predefiniowane klasy, które zmieniają działanie danego elementu. Jak zwykle odsyłam do dokumentacji: https://www.ventoy.net/en/plugin_menuclass.html.

Ostatnią rzeczą jaką dodamy do naszej instancji Ventoy, będą ładniejsze etykiety obrazów i folderów. Bo gdybym zbootował teraz mojego pendrive to przywitały by mnie takie nazwy jak "Disk_Tools", "clonezilla-live-20191024-eoan-amd64.iso" itd. Oczywiście my tego nie chcemy i wprowadzimy sobie ładniejsze nazwy. Aby to zrobić uaktywniamy plugin Menu Alias, dodając tablicę "menu_alias" w pliku konfiguracyjnym. Wszystko wygląda tak samo jak w przypadku poprzedniego plugina, tylko, że zamiast "key" mamy "image", a zamiast "class" jest "alias". "dir" pozostaje niezmieniony. Aby dodać nas alias musimy operować na pełnych ścieżkach. tak więc w miejscu image podajemy ścieżkę do pliku np. "/Disk_Tools/Clonning_Tools/AcronisBootableMedia.iso". Podobnie w przypadku folderów i podfolderów. Następnie tam gdzie mamy "alias", piszemy nazwę pod którą chcemy widzieć plik lub katalog np. "Acornis True Image OEM" albo "Clonning Tools". Polecam poczytać dokumentację https://www.ventoy.net/en/plugin_menualias.html. Po tych operacjach nasz plik konfiguracyjny wygląda następująco i jest gotowy do działania:
{
"control": [
{ "VTOY_DEFAULT_MENU_MODE": "1" },
{ "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" }
],

"theme": {
"file": "/ventoy/theme/theme.txt",
"display_mode": "GUI"
},

"menu_class": [
{
"key": "AcronisBootableMedia",
"class": "acronis"
},
{
"key": "clonezilla-live-",
"class": "clonezilla"
},
{
"key": "gparted-live-",
"class": "gparted"
},
{
"key": "PartAssist",
"class": "aomeipart"
},
{
"dir": "/Disk_Tools",
"class": "folder"
},
{
"dir": "/Disk_Tools/Clonning_Tools",
"class": "folder"
},
{
"dir": "/Disk_Tools/Partitioning_Tools",
"class": "folder"
}
],

"menu_alias": [
{
"image": "/Disk_Tools/Clonning_Tools/AcronisBootableMedia.iso",
"alias": "Acronis True Image OEM"
},
{
"image": "/Disk_Tools/Clonning_Tools/clonezilla-live-20191024-eoan-amd64.iso",
"alias": "CloneZilla Live x64"
},
{
"image": "/Disk_Tools/Partitioning_Tools/gparted-live-1.1.0-1-amd64.iso",
"alias": "GParted Live"
},
{
"image": "/Disk_Tools/Partitioning_Tools/PartAssist_WinPE.iso",
"alias": "AOMEI Partition Assistant Live"
},
{
"dir": "/Disk_Tools",
"alias": "Disk Tools"
},
{
"dir": "/Disk_Tools/Clonning_Tools",
"alias": "Clonning Tools"
},
{
"dir": "/Disk_Tools/Partitioning_Tools",
"alias": "Partitioning Tools"
}
]
}
Taki plik już jest gotowy do działania. Tym samym też dostosowaliśmy sobie naszą instancję Ventoy. Oprócz użyteczności jest ona również ładna i cieszy oko. Mam nadzieję, że artykuł ten był dla was jakoś przydatny. Niestety nie wyczerpałem tematy bo pluginów jest bardzo dużo i są one bardzo złożone. Dla przykładu, możemy zdefiniować różne Menu dla różnych architektur. Możemy dzięki, temu ustawić, które obrazy zadziałają z UEFI, a które nie. Jednak może ruszę z serią dotyczącą Ventoy... Kto wie. Tym czasem dziękuję za przeczytanie tego trochę długiego artykułu. Wesołych świąt :>

Strona Ventoy: http://www.ventoy.net
Dokumentacja programu i pluginów: http://www.ventoy.net/en/doc_news.html

Do zobaczenia :>
Załączniki
5_vtoy1.png
5_vtoy1.png (123.45 KiB) Przejrzano 5026 razy
ODPOWIEDZ