De meeste Linux-distro's bieden een liveomgeving, die u kunt opstarten vanaf een USB-station, zodat u het systeem kunt testen zonder het te installeren. Je kunt het gebruiken om de distro te evalueren of als een wegwerp-OS. Hoewel het gemakkelijk is om deze naar een USB-schijf te kopiëren, zou je in bepaalde gevallen vaak dezelfde ISO-image willen gebruiken of regelmatig verschillende images willen uitvoeren. GRUB 2 kan zo worden geconfigureerd dat je de ISO's niet op een schijf hoeft te branden of een USB-drive hoeft te gebruiken, maar je moet een live-omgeving rechtstreeks vanuit het opstartmenu uitvoeren.

Het verkrijgen en controleren van opstartbare ISO-images

Om een ​​ISO-image te verkrijgen, bezoekt u meestal de website van de gewenste distributie en downloadt u elke afbeelding die compatibel is met uw opstelling. Als de afbeelding vanaf een USB kan worden gestart, moet deze ook vanuit het GRUB-menu kunnen starten.

Zodra het downloaden van de afbeelding is voltooid, moet u de integriteit ervan controleren door een eenvoudige md5-controle uit te voeren. Hierdoor wordt een lange combinatie van cijfers en alfanumerieke tekens weergegeven

die u kunt vergelijken met de MD5-controlesom op de downloadpagina. De twee zouden identiek moeten zijn.

GRUB 2 instellen

ISO-afbeeldingen bevatten volledige systemen. Het enige wat je hoeft te doen is GRUB2 naar het juiste bestand te sturen en het te vertellen waar het de kernel en het initramdisk of het initram-bestandssysteem kan vinden (afhankelijk van welke je distributie gebruikt).

In dit voorbeeld wordt een Kubuntu 15.04-liveomgeving ingesteld om te worden uitgevoerd op een Ubuntu 14.04-box als Grub-menu-item. Het zou moeten werken voor de meeste nieuwere Ubuntu-gebaseerde systemen en derivaten.

In dit voorbeeld het bestand kubuntu-15.04-desktop-amd64.iso

woont in /home/maketecheasier/TempISOs/ on /dev/sda1 .

Om GRUB2 op de juiste plaats te laten zoeken, moet je de

 /etc/grub.d/40_custom 

bestand waarmee u uw eigen menu-items kunt toevoegen. Het bestand zou al moeten bestaan ​​en een paar regels bevatten.

Om Kubuntu vanuit de bovenstaande locatie te starten, voegt u de volgende code toe (na aanpassing aan uw behoeften) onder de sectie met opmerkingen, zonder de originele inhoud te wijzigen.

 menuentry "Kubuntu 15.04 ISO" {set isofile = "/ home / maketecheasier / TempISOs / kubuntu-15.04-desktop-amd64.iso" loopback loop (hd0, 1) $ isofile echo "Starting $ isofile ..." linux (loop) /casper/vmlinuz.efi boot = casper iso-scan / bestandsnaam = $ {isofile} quiet splash initrd (loop) /casper/initrd.lz} 

De bovenstaande code overtreden

Stel eerst een variabele in met de naam $menuentry . Dit is waar het ISO-bestand zich bevindt. Als u wilt overschakelen naar een andere ISO, moet u het bit wijzigen waar het zegt is isofile="/path/to/file/name-of-iso-file-.iso" .

De volgende regel geeft het loopback-apparaat op; je moet ook het juiste partitienummer opgeven. Dit is het stukje waar het staat

 loopback-lus (hd0, 1) $ isofile 

Let op de hd0, 1 bit; Het is belangrijk. Dit betekent eerste HDD, eerste partitie ( /dev/sda1 ).

GRUB's naamgeving hier is enigszins verwarrend. Voor HDD's begint het te tellen vanaf "0", waardoor de eerste HDD # 0, de tweede # 1, de derde # 2, enz. Is. Voor partities zal het echter vanaf 1 beginnen. De eerste partitie is # 1, de tweede is # 2, enz. Daar is misschien een goede reden voor, maar niet noodzakelijk een gezonde (UX-achtig is het een ramp, voor de zekerheid).

Dit maakt vuistschijf, eerste partitie, die in Linux er ongeveer zo zou uitzien als /dev/sda1 word hd0, 1 in GRUB2. De tweede schijf, derde partitie zou hd1, 3, enzovoort.

De volgende belangrijke regel is

 linux (loop) /casper/vmlinuz.efi boot = casper iso-scan / bestandsnaam = $ {isofile} rustige plons 

Het laadt de kernel-afbeelding. Op nieuwere Ubuntu Live-CD's zou dit in de /casper map staan ​​en vmlinuz.efi . Als u een ander systeem gebruikt, mist uw kernel mogelijk de extensie .efi of bevindt deze zich ergens anders (u kunt dit eenvoudig controleren door het ISO-bestand met een archiefbeheerder te openen en naar binnen /casper. in de map te kijken). De laatste opties, quiet splash, zijn je normale GRUB-opties, als je ze wilt veranderen.

Tenslotte

 initrd (loop) /casper/initrd.lz 

zal initrd laden, die verantwoordelijk is om een ​​RAM Disk in het geheugen te laden voor het opstarten.

Je live systeem opstarten

Om het allemaal te laten werken, hoef je alleen GRUB2 te updaten

 sudo update-grub 

Wanneer je je systeem opnieuw opstart, zou je een nieuw GRUB-bestand moeten krijgen dat je in staat stelt om in de ISO image te laden die je zojuist hebt ingesteld.

Als u het nieuwe item selecteert, wordt u opgestart in de live omgeving, net zoals opstarten vanaf een dvd of USB zou doen.