Het opstarten van meerdere Linux-distro's vanaf één USB
HoeVeel Linux distributie (distro) ISO-bestanden die u kunt downloaden, of die zijn opgenomen in de cover-dvd's van onze zustertitel Linux Format, zijn wat bekend staat als hybride bestanden.
Dit betekent dat ze niet alleen op de normale manier op een cd of dvd kunnen worden geschreven, maar ook kunnen worden gekopieerd naar een USB-stick met dd. De USB-stick zal dan opstarten alsof het een dvd is.
Dit is een handige manier om installatieschijven te maken voor computers die geen optische-schijfeenheid hebben, maar het heeft één belangrijk nadeel: voor elke ISO-afbeelding is een USB-flashstation vereist.
USB-sticks met tientallen of zelfs honderden gigabytes kosten slechts enkele kilo's, en kleine schijven worden steeds moeilijker te vinden, dit is verspilling van ruimte, zowel op de stick als in je zak of computer tas.
Zou het niet goed zijn om meerdere ISO-bestanden op dezelfde USB-stick te kunnen plaatsen en welke te kunnen opstarten? Dit is niet alleen handiger dan een handvol USB-sticks, het is zowel sneller als compacter dan een handvol dvd's.
Het goede nieuws is dat dit met de meeste distro's mogelijk is, en de aanwijzing voor hoe het gedaan is, staat elke maand op de cover-dvd's van Linux Format. Ze haalden de ISO-bestanden van distro op de dvd moeiteloos uit, zodat ze deze konden booten en moesten vervolgens scripts opnemen om de ISO-bestanden te reconstrueren voor degenen die een enkele distro op een schijf wilden branden.
Daarna begonnen ze Grub te gebruiken om de dvd op te starten, die functies heeft die het opstarten van ISO-bestanden mogelijk maken. Het grootste nadeel van deze aanpak, althans voor het feit dat de slechte werking van de dvd niet werkt, is dat verschillende distro's anders moeten worden behandeld en dat de opties om er vanaf te booten als ISO's zelden worden gedocumenteerd.
We laten je eerst zien hoe je een USB-stick opzet en welke opties je nodig hebt voor de favoriete distro's. We laten je ook zien hoe je omgaat met minder coöperatieve Linux-distributies.
Gebruik GParted of een van de opdrachtregelprogramma's om uw flashstation voor te bereiden. Het bestandssysteem een label geven is belangrijk voor het opstarten van enkele ISO-statussenEFI opstarten
In dit geval hebben we een flashstation gemaakt dat gebruikmaakt van de MBR-opstartprocedure in de oude stijl.
Hoewel de meeste computers van de laatste paar jaar UEFI gebruiken, hebben ze nog steeds een compatibiliteitsmodus om op te starten vanaf een MBR.
Dus dit maakt ons de meest draagbare optie, maar als je je stick moet opstarten met UEFI, verander dan de grub-install commando om het UEFI-doel te gebruiken, zoals dit:
$ sudo grub-install --target = x86_64-efi - boot-map = / media / MULTIBOOT / boot / dev / sde
Dit is een 64-bits doelwit, omdat UEFI alleen volledig wordt ondersteund op 64-bits hardware. Als u uw USB-stick met 32-bits apparatuur wilt gebruiken, moet u de MBR-opstartmethode gebruiken.
De USB-stick instellen
Eerst moeten we de USB-stick formatteren. We gaan ervan uit dat de USB-stick is ingesteld met een enkele partitie, hoewel je de eerste partitie van een lay-out met meerdere partities zou kunnen gebruiken.
Waar je niet mee weg kunt komen is een stick geformatteerd zonder partitietabel, zoals sommige. Als dat het geval is, gebruikt u fdisk of GParted om de schijf te partitioneren, waarna u het bestandssysteem kunt maken.
De keuze van het bestandssysteem is grotendeels aan jou, zolang het iets is dat Grub kan lezen. We hebben FAT en ext2 gebruikt (het heeft geen zin om de journalling ext3 of ext4 op een flashdrive te gebruiken). Gebruik alles wat past bij uw andere geplande gebruik van de schijf, we houden over het algemeen vast aan FAT, omdat we dan ISO-afbeeldingen van een Windows-computer kunnen downloaden en toevoegen indien nodig.
Wat je ook gebruikt geeft het bestandssysteem een label, we hebben MULTIBOOT gebruikt, omdat het later belangrijk zal zijn.
In deze voorbeelden staat de USB-stick op / Dev / sde (deze computer heeft een gek aantal harde schijven) en het bestandssysteem is gemount op / Media / SDE1, de paden aanpassen aan uw omstandigheden.
Eerst installeren we Grub op de stick om het opstartbaar te maken:
$ mkdir -p / media / MULTIBOOT / boot $ sudo grub-install --target = i386-pc --boot-map = / media / MULTIBOOT / boot / dev / sde
Opmerking: de boot-mapoptie verwijst naar de map die de Grub-bestanden zal bevatten, maar de apparaatnaam die je geeft is de hele stick, niet de partitie. Nu maken we een Grub-configuratiebestand met:
$ grub-mkconfig -o /media/MULTIBOOT/boot/grub/grub.cfg
Hiermee wordt een configuratie gemaakt om de distro's op uw harde schijf op te starten, dus laad grub.cfg in een editor en verwijder alles na de regel die zegt:
### END /etc/grub.d/00_header ###
Als u een flashstation wilt maken om te delen, kunt u het themagedeelte van de Grub-handleiding bekijken om uw opstartscherm er mooier uit te laten zien.Een distro toevoegen
Dit geeft ons een kaal configuratiebestand zonder menu-items. Als we nu van deze stick zijn opgestart, zouden we in een Grub-shell worden geplaatst, dus laten we een menu toevoegen.
We zullen beginnen met een Ubuntu ISO omdat ze populair zijn (sorry, maar dat zijn ze) en omdat ze het booten vanuit een ISO-bestand gemakkelijk maken (het is tenslotte Ubuntu, het maakt de meeste dingen gemakkelijk). Laad grub.cfg terug in je editor en voeg deze toe aan het einde van het bestand:
submenu "Ubuntu 16.04" set isofile = / Ubuntu / ubuntu-16.04-desktop-amd64.iso loopback loop $ isofile menuentry "Probeer Ubuntu 16.04 zonder te installeren" linux (loop) /casper/vmlinuz.efi file = / cdrom / preseed / ubuntu.seed boot = casper iso-scan / bestandsnaam = $ isofile quiet splash --- initrd (loop) /casper/initrd.lz menuentry "Install Ubuntu 16.04" linux (loop) /casper/vmlinuz.efi file = / cdrom / preseed / ubuntu.seed boot = casper iso-scan / bestandsnaam = $ isofile onlyubiquity quiet splash --- initrd (loop) /casper/initrd.lz
Maak de Ubuntu-map op het station en kopieer het ISO-bestand. Ontkoppel vervolgens de schijf en start de stick opnieuw op.
Je zou een Grub-menu moeten zien met één ingang voor Ubuntu die opengaat om de opstart- en installatie-opties te onthullen,
Dit is het standaardmenu dat je krijgt met een standaard Grub-configuratie - functioneel maar niet erg mooiSpeciale opties
De eerste regel maakt een variabele met het pad naar het ISO-bestand. We gebruiken een variabele omdat dit betekent dat we maar één wijziging hoeven aan te brengen wanneer we het menu willen aanpassen aan een andere release.
De tweede regel vertelt Grub om dat als een lusapparaat te koppelen (een manier om een bestand te monteren alsof het een blokapparaat is).
Dan hebben we de twee menu-items. U vraagt zich misschien af hoe we weten welke opties u aan de menu-items wilt toevoegen. Dat komt door een combinatie van kijken naar het originele opstartmenu van de ISO en weten wat je moet toevoegen voor een ISO-boot.
De laatste, in het geval van Ubuntu, is om toe te voegen
iso-scan / filename = $ isofile
waar de variabele isofile is een paar regels eerder op het pad naar het bestand ingesteld. Om het originele opstartmenu te zien, moeten we het ISO-bestand mounten, wat als volgt gebeurt:
$ sudo mount -o loop / path / to / iso / mnt / somewhere
De meeste ISO's gebruiken isolinux om op te starten, dus u moet naar de CFG-bestanden in de isolinux of boot / isolinux map van uw gekoppelde ISO-bestand.
Het hoofdbestand is isolinux.cfg maar sommige distributeurs gebruiken dit om andere CFG-bestanden te laden. In het geval van Ubuntu bevindt dit zich in een bestand genaamd txt.cfg. U bent op zoek naar iets als:
label live menu label ^ Probeer Ubuntu zonder de kernel te installeren /casper/vmlinuz.efi voeg een bestand toe = / cdrom / preseed / ubuntu.seed boot = casper initrd = / casper / initrd.lz rustige splash ---
De pit setting vertaalt naar de Linux-optie in Grub met de toevoeging van (loop) aan het pad. Evenzo is de initrd een deel van de toevoeglijn komt overeen met de initrd-regel van Grub.
De rest van voeg een bestand toe wordt toegevoegd aan de Linux-lijn samen met de isoscan-optie. Deze aanpak werkt met de meeste distro's op basis van Ubuntu, hoewel sommige de ISO-bootfunctie om de een of andere reden hebben verwijderd. Het is mogelijk om dit terug te zetten, zoals we binnenkort zullen zien.
- Dit zijn de beste Linux-trainingsaanbieders en online cursussen in 2017