Så kör ISO-filer direkt från hårddisken med GRUB2
De flesta Linux distros erbjuder en levande miljö, som du kan starta upp från en USB-enhet, för att du ska testa systemet utan att installera. Du kan antingen använda den för att utvärdera distro eller som en engångs-OS. Även om det är lätt att kopiera dem till en USB-skiva, kan man i vissa fall ofta köra samma ISO-bild eller regelbundet driva olika. GRUB 2 kan konfigureras så att du inte behöver bränna ISO: erna till en skiva eller använda en USB-enhet, men måste köra en levande miljö direkt från startmenyn.
Hämta och kontrollera startbara ISO-bilder
För att få en ISO-bild borde du oftast besöka webbplatsen för önskad distribution och hämta vilken bild som helst som är kompatibel med din installation. Om bilden kan startas från en USB, bör den kunna starta från GRUB-menyn också.
När bilden har slutförts, bör du kontrollera dess integritet genom att köra en enkel md5-kontroll på den. Detta kommer att mata ut en lång kombination av siffror och alfanumeriska tecken
som du kan jämföra med MD5 kontrollsumma som finns på nedladdningssidan. De två borde vara identiska.
Ställa in GRUB 2
ISO-bilder innehåller hela system. Allt du behöver göra är att direkt GRUB2 till lämplig fil och berätta var den kan hitta kärnan och initramdisken eller initram-filsystemet (beroende på vilken din distribution använder).
I det här exemplet kommer en Kubuntu 15.04 levande miljö att ställas in för att köras på en Ubuntu 14.04 låda som en Grub menypost. Den ska fungera för de flesta nyare Ubuntu-baserade system och derivat.
I det här exemplet är filen kubuntu-15.04-desktop-amd64.iso
bor i /home/maketecheasier/TempISOs/
on /dev/sda1
.
För att GRUB2 ska leta efter det på rätt ställe måste du redigera
/etc/grub.d/40_custom
fil som låter dig lägga till egna meny poster. Filen ska redan existera och innehålla några rader.
För att starta Kubuntu från ovanstående plats, lägg till följande kod (efter anpassning till dina behov) under avsnittet kommenterade, utan att ändra originalinnehållet.
menyutrymme "Kubuntu 15.04 ISO" {set isofile = "/ home / maketecheasier / TempISOs / kubuntu-15.04-desktop-amd64.iso" loopback loop (hd0, 1) $ isofile echo "Starta $ isofile ..." /casper/vmlinuz.efi boot = casper iso-scan / filnamn = $ {isofile} tyst splash initrd (loop) /casper/initrd.lz}
Bryt ner ovanstående kod
Först ställa in en variabel med namnet $menuentry
. Det är här ISO-filen finns. Om du vill byta till en annan ISO måste du byta bit där det står set isofile="/path/to/file/name-of-iso-file-.iso"
.
Nästa rad är där du anger loopback-enheten; du måste också ge den rätt partitionsnummer. Det här är lite där det står
loopback loop (hd0, 1) $ isofile
Notera hd0, 1
biten; det är viktigt. Det betyder först HDD, första partitionen ( /dev/sda1
).
GRUBs namngivning här är lite förvirrande. För hårddiskar börjar den räkna från "0", den första HDD # 0, den andra en # 1, den tredje en # 2, etc. För partitioner börjar det dock räkna från 1. Första partitionen är # 1, andra är # 2, etc. Det kan vara en bra anledning till detta men inte nödvändigtvis en sane en (UX-wise det är en katastrof, för att vara säker) ..
Detta gör näve disk, första partitionen, som i Linux brukar se ut som /dev/sda1
blir hd0, 1
i GRUB2. Den andra skivan, tredje partitionen skulle vara hd1, 3
och så vidare.
Nästa viktiga rad är
linux (loop) /casper/vmlinuz.efi boot = casper iso-scan / filename = $ {isofile} tyst stänk
Det laddar kärnbilden. På nyare Ubuntu Live CD-skivor skulle detta vara i /casper
katalogen och kallas vmlinuz.efi
. Om du använder ett annat system kan din kärna saknas .efi
förlängningen eller vara helt annanstans (Du kan enkelt kontrollera det genom att öppna ISO-filen med en arkivhanterare och titta inuti /casper.
). De sista alternativen, quiet splash,
skulle vara dina vanliga GRUB-alternativ, om du bryr dig om att ändra dem.
Till sist
initrd (loop) /casper/initrd.lz
laddar initrd
, vilket är ansvarigt för att ladda en RAMDisk till minnet för uppstart.
Uppstart i ditt levande system
För att få allt att fungera behöver du bara uppdatera GRUB2
sudo update-grub
När du startar om ditt system ska du presenteras med en ny GRUB-post som gör att du kan ladda in i ISO-bilden du just har ställt in.
Om du väljer den nya posten bör du starta upp den i levande miljö, precis som att starta från en DVD eller USB.