Tvorba boot usb-flash pomocí aplikací v Debianu, Mintu a Ubuntu.

Syslinux menu

Ne každého baví číst dlouhé články, proto netradičně začnu rovnou závěrem:

Z mého pohledu je jasným vítězem MultiBootUSB, který umožňuje i málo zkušenému uživateli celkem pohodlně vyrobit co nejvíce univerzální a spolehlivou bootflash buď rovnou s více distry nebo s možností pozdějšího dodání dalších dister či nástrojů.

Podrobnosti jsou popsány níže, kde je prostor věnovaný recenzím jednotlivých aplikací.

Z aplikací mám osobně nejraději Rufus, který bohužel stále není pro Linux, kde bych volil Unetbootin či MultiBootUSB, dle potřeby.

Osobně si raději multiboot flashky dělám ručně – mám je tak přesně dle svých představ. Návod na vlastní výrobu např. Grub2 bootflash je zde:
https://forum.linux-mint-czech.cz/viewtopic.php?f=33&t=3390

Skvělý nástroj pro snadnou instalaci všech hlavních MBR zavaděčů na disk je linuxový terminálový software „ms-sys“ – pak je ovšem potřeba doplnit další potřebné soubory, specifické pro každý typ zavaděče (bootloader) a správně napsané konfigurační soubory – to vše lze získat z ISO souborů jednotlivých dister, ze stránek vývojářů i jinde:
http://ms-sys.sourceforge.net/
popř. deb balík starší verze – doporučuji kvůli jistotě starší verze Grub2, protože s nejnovější verzí 2.04 jsou velké potíže.
http://ppa.launchpad.net/gagarin/bionic/ubuntu/pool/main/m/ms-sys/
nebo
http://ppa.launchpad.net/gtrsdk/ppa/ubuntu/pool/main/m/ms-sys/
Tento nástroj ovšem není vhodný pro vytvoření grub2 bootflash, neboť nahrává pouze čistý MBR záznam, přičemž grub2 potřebuje ještě mezi ním a začátkem oddílu přesně definovaný core kód pro jednotlivé typy souborových systémů. V tomto případě je tedy vhodnější použít příkaz grub-install z Linuxu (viz odkaz na návod výše) nebo Rufus ve Windows.

Etcher
Udělá na flashce oddíl s přímou sektorovou kopií iso, malý oddíl pro EFI a zbytek flashky je prázdné místo, kde nejde vytvořit další oddíl a použít tak aspoň pro další data.. Takže flashku degraduje na pitomé CD a dál se s ní nedá pracovat. Je ve formátu appimage, takže je hodně velký – asi 100MB – na to, že umí jen jednu věc.

Tvůrce spouštěcího disku
Pracuje stejně jako Etcher. Myslím že v Ubuntu základní výbava, v Mintu něco podobného tuším též – v Xubuntu jsem doinstaloval. Z tohoto pohledu je Etcher zbytečný, poměrně velký program navíc.

MultiWriter
Dělá úplně to samé – pro Ubu další zbytečná aplikace.

Disky
Daleko všestranější a víceúčelovější program, který je snadno instalovatelný z repositářů coby „gnome-disk-utility“. Umí v tomto ohledu pouze zapsat obraz na flashku – takže opět zbytek disku nepoužitelný. Nevím ale, jak zvládne tímto programem vytvořený disk EFI.

Unetbootin – pro Linux, Windows i macOS
Tento nejspíše maďarský přímočarec je psaný v QT4, takže si ještě natahá hromadu knihoven a má tedy pevně danou nehezkou grafiku nezávisle na zvoleném tématu prostředí OS. Umí si stahovat distra. Podobně jako Rufus pro Windows rozbalí soubory na flashku a opatří ji syslinuxem. Bohužel ne vždy to udělá úplně dobře – tedy funkčně – člověk musí někdy opravit ručně umístění a zápis konfigurace, a tam kde to funguje, tam to dělá poněkud kostrbatěji než Rufus, nicméně funkčně je to stejné. Vzhledem ke koncepci je s trochou šikovnosti možné dodat další distra či nástroje ručně a přidáním položek do konfiguračních souborů zavaděče takto dotvořit na multiboot. Flashka musí být předem naformátována na jediný oddíl FAT32 a připojena, jinak s ní aplikace nepracuje.
https://unetbootin.github.io/

Sardu – pro Linux i Windows
Umí multiboot a v prémiové verzi stahovat distra. Má vlastní grafické prostředí. Tento italský komplikovaný intelektuál je pro práci hodně složitý, nepřehledný a kostrbatý – velmi těžce se mi v něm orientovalo. Výchozí zavaděč je syslinux a možná, jestli dobře pamatuji volitelně grub2. Koncepce disku a konfiguračních zápisů je také nesmírně složitá a nepřehledná tak, že je nepraktické pak na flashku něco přidávat ručně a modifikovat. Umí sice multiboot, ale udělat si v něm flashku dle svých představ mi přišlo horší, než si ji udělat ručně.
https://www.sarducd.it/

MultiBootUSB – pro Linux i Windows
Umí multiboot a původ se mi vypátrat nepodařilo. Je psaný v QT5, takže si natahá knihovny a má strohou neměnitelnou grafiku stejně jako Unetbootin, který ovšem neumí multiboot. Objemově to vyjde podobně a protože 2 verze Ubuntu bootuje zcela funkčně, tak je lepší volbou.
I zde flashka musí být předem naformátována na jediný oddíl FAT32 a připojena, jinak s ní aplikace nepracuje.
Výchozí zavaděč je syslinux, který lze volitelně nainstalovat i samostatně buď čistý nebo spolu s ostatními soubory tvořící kompletní přípravu pro multiboot flash. To ovšem docela dlouho trvá, aniž by aplikace poskytovala nějakou zpětnou vazbu a indikaci, že se tak děje. Výchozí volba je instalace distra s možností určení místa pro persistenci. V případě instalace syslinux s příslušenstvím nebo instalace distra flashka obsahuje i grub2 2.03 soubor zavaděče a tak lze na něj přepnout a z něj po drobné úpravě zápisu konfigurace opět zpátky. Dále obsahuje různé konfigurační soubory pro syslinux i grub2, kde jsou již definovány volby pro další možné případy přidání Plop Boot Manageru, Windows PE a celého ISO souboru na který je tam připravena složka. Není tedy třeba konfigurační zápisy tvořit celé, maximálně jen modifikovat dle své koncepce přidaných nástrojů. A to už nějakou práci ušetří.
Další možnost je přímý přenos obrazu disku, což je o něco rychlejší, ale jak je popsáno výše – s flashkou se pak už nedá dělat nic jiného, než bootovat jedno jediné distro. Tedy za mě zbytečná volba, která ovšem celkovou velikost aplikace nestojí téměř nic.
Plop se přidá jednoduše tak, že se stáhne ze stránek projektu složka se soubory a z ní se překopíruje soubor „plpbt.bin“ do složky /multibootusb/ a přejmenuje se jen na „plpbt“.
https://www.plop.at/en/bootmanager/download.html
Přepnutí zpět na syslinux z grub2 se opraví tak, že se v souboru grub.cfg upraví položka
„chainloader /multibootusb/syslinux.bin“ na „chainloader +1“
Popř. se dá pomocí dd soubor syslinux.bin vyrobit, možná i někde stáhnout a dodat – pak se konfigurační zápis nemění.
Extrakce syslinuxu z flashky vytvořené touto aplikací se dělá takto:
sudo dd if=/dev/sdx of=/dev/sdx1/multibootusb/syslinux.bin bs=446 count=1
kde „x“ je proměnlivé označení upravované flashky a „sdx1“ jediný oddíl na ní.
Zjistit se to dá např. tímto příkazem:
sudo blkid
Je zde i možnost instalovat na flashku syslinux – buď čistě nebo spolu se soubory, které tvoří základ multiboot.
Dále má přímou volbu pro spuštění emulace boot, ale to je třeba doinstalovat a konfigurovat Qemu s příslušenstvím. Funkčnost tohoto tlačítka nemám v Ubuntu ověřenou.
http://multibootusb.org/

MultiSystem
Bez ptaní si tento francouzký neomalený hromotluk natáhne hromadu balíků včetně emulátoru Qemu s příslušenstvím a celkový objem je monstrózních téměř 400 MB. Koncepce aplikace je trochu schizofrenní a tak se s ní pracuje chvílema poněkud obtížněji.
Po zvolení USB disku se na něj zapíše zavaděč Grub2, to také trvá dlouho, přičemž zmizí dialogové okno aplikace a objeví se logo s indikací činnosti nikoliv však provedené práce. Po té se objeví další nové okno, kde už jsou volby pro přidání ISO a další záložky s rozsáhlými tématickými možnostmi např. nastavit grub včetně grafiky, jeho aktualizace, změna velikosti persistence, aktualizace, změna jazyka, možnosti pro bootování včetně emulace, stažení plop boot manageru, zálohu či obnovu disku atd.
I tady je výchozí záložka pro přidávání dister, kde je nabídnuta možnost přetažením (drag and drop), která dle vývojáře funguje pouze v Debianu a Ubuntu, nikoliv v odnožích jako Xubuntu či Lubuntu. Zde to lze udělat buď skrze tlačítko, které aktivuje výběrové okno, kde je možnost vybrat soubor ISO a poklepáním přidat, následně potvrdit a zvolit vytvořit. Poslední možnost je zvolit ve správci souborů ISO – přes pravé tlačítko myši kopírovat – stejným způsobem vložit do příslušné části dialogového okna aplikace.
Po té se opět zavře dialogové okno a objeví se okno jakéhosi terminálu (gtkdialog), kde je třeba zadat heslo správce, pak tam proběhne indikované kopírování ISO souboru. Tady je další malá záludnost, že i po vypsaném ukončení přenosu ještě jednou takovou dobu jen bliká kurzor, než to skončí skutečně a opět se otevře opět se otevře hlavní okno aplikace, kde se dají dělat další úpravy a přidávat další distra.
Zkusil jsem emulaci boot USB disku volbou Qemu a přestože si to natáhlo strašnou hromadu balíků právě kvůli tomu, tak se jen otevře gtkdialog, který se po zadání hesla jen zavře a neděje se dál nic. Tedy bez nějakých dalších zásahů (out of box), které nejsou předmětem tohoto článku, to nefunguje. Nejspíše se dají najít návody jak zprovoznit Qemu, ani tak nemám ověřeno, zda to bude fungovat přímo z aplikace.
Vzhledem k tomu, že se zde stejně jako v Yumi pro Windows přidávají celé ISO soubory, které se pak v zavaděči loopnou, tak je takové médium méně univerzální a spolehlivé – to totiž některé modely PC a NTB nedokáží udržet a zavádění OS se v určité fázi přeruší.
http://liveusb.info/dotclear/index.php?pages/install

Některé aplikace čistě pro Windows pro srovnání:

Rufus
Neumí multiboot. Je to však spolehlivá aplikace, která umožňuje i samostatnou instalaci všech hlavních MBR zavaděčů jako syslinux, grub2, grub4dos …
V případě tvorby z ISO soubor rozbalí a jako hlavní zavaděč použije syslinux, který si potřebuje stáhnout z netu – dotaz – souhlas – a je to. Potřebné soubory lze dodat i ručně – ve stejné složce v jaké pracuje Rufus se umístí složka „rufus_files“ s podlsožkou „syslinux-6.03“ a v ní jsou dodané soubory „ldlinux.bss“ a „ldlinux.sys“ a další podsložka „20171017“, kde jsou oba stejné soubory.
Rufus má jedinou chybu – není možné si tam svobodně vybrat formát souborového systému na cílové flashce – je vynucený, dle předchozí volby a v některých případech to nesedí pro účely univerzálních MBR/EFI bootflash. Výhoda je, že z flashky vytvořené Rufusem se dá, stejně jako u Unetbootin, s trochou snahy dodělat multiboot flash a tedy kousek práce ušetří.
https://rufus.ie/

Yumi
Umí multiboot a stahovat si distra. Stejně jako MultiSystem pracuje v režimu multiboot s celými ISO soubory, nemá žádné přidané funkce – o to je jednodušší a snadněji ovladatelný. V základním režimu ISO rozbaluje a disk opatří zavaděčem syslinux.
https://www.pendrivelinux.com/yumi-multiboot-usb-creator/

Štítky , , .Záložka pro permanentní odkaz.

10 reakcí na Tvorba boot usb-flash pomocí aplikací v Debianu, Mintu a Ubuntu.

  1. Tomáš říká:

    Moc díky za Tvůj první článek a těším se na další …

  2. broukal říká:

    Musim povedat ze yumi, pouzivam dodnes, mam s nim najlepsie skusenosti a najlepsie vysledky. V linuxovom prostredi sa mi nepodarilo spojazdnit v multiboote hirens boot obrazy ktore pri bootovani nefungovali…

    • Ventero1 říká:

      Yumi bohužel nemá verzi pro Linux, dle autorů je však bezproblémový ve Wine, pokud je to pro někoho aplikace, s kterou se mu pracuje nejlépe. Pokud by tam byl nějaký zádrhel, tak místní odborník na Wine je Zeleno a jistě se toho na fóru rád ujme 🙂

    • menom říká:

      Hirens.BootCD.15.2.iso (pre Legacy) a HBCD_PE_x64.iso (pre UEFI) fungujú, dajú sa pridať na flešku spolu s ďalšimi linuxami cez program MultiSystem.

  3. Ventero1 říká:

    Ještě jsem popátral a narazil na dvě, tři aplikace, které by mohly stát za vyzkoušení, tak případně časem doplním nebo napíšu 2. část.

  4. Ventero1 říká:

    Tak jsem se podíval na ještě několik aplikací, co stálo za to vyzkoušel – nicméně výsledek je takový, že nemá smysl k tomuto článku již nic připisovat. Za zmínku snad stojí jen WoeUSB, který opatří flashku zavaděčem Grub2, ale Mint či Ubuntu z takové flashky bez úprav nebootuje, a to už si opět může člověk takovou flashku rovnou vytvořit ručně. Pravděpodobně je aplikace určena pouze pro tvorbu instalační flashky s Windows.

  5. Livan říká:

    Ešte som sa stretol s programami Suse Studio Imagewriter a ROSA Image Writer. Prvý sa dá inštalovať iba v Linuxe, druhý je multiplatformný (Linux aj Windows). Obidva fungujú podobne, ako Etcher, iba sú menšie (majú iba zopár kilobajtov a rýchlejšie nabiehajú). Akurát som neskúšal ich inštalovať v LM, testoval som ich v Manjare.

  6. Ventero1 říká:

    Tady je stránka s výčtem snad všech alternativ.
    https://alternativeto.net/software/multibootisos/?platform=linux
    Většina toho jsou jen další obyčejné přenašeče obrazu. Ease2boot jsem po pročtení stránek vyhodnotil, že nejspíš nepřinese nic nového nehledě na to, že jen jeho instalace na linux by mi zabrala tolik, jako mít připravenou flashku s jedním distrem ručně.
    https://www.easy2boot.com/make-an-easy2boot-usb-drive/make-using-linux/
    No a Deepin Boot Maker jsem vůbec nenašel jak instalovat, nehledě na to že do číňana by se mi moc nechtělo a stejně to vypadá na další pouhý zapisovač …

  7. Ventero1 říká:

    Takže na úplný závěr opraveny linky na repa Launchpad a vyjádření vývojáře Pete Batard, že Rufus pro Linux dělat nebude, neboť na to nemá kapacity, osobně doporučuje aplikaci ms-sys a že kód je otevřený a kdokoliv se toho ujme je vítán …

  8. Ventero1 říká:

    Doplněny informace k utilitě ms-sys ohledně zavaděče grub2. Podrobnosti zde:
    https://sourceforge.net/p/ms-sys/bugs/11/