Boote ISO-filer (systemrescuecd) op ved hjælp af GRUB2

Har du en guide til en funktion eller et program? Har du tips og trick, som du gerne vil dele med andre? Post dem her.
thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Boote ISO-filer (systemrescuecd) op ved hjælp af GRUB2

Indlæg af thj01 »

Introduktion

Dette er en metode til at kunne køre ISO filer direkte ved hjælp af GRUB2, som er den menu du møder når du starter din computer op.

Der er ingen risiko for ødelægge opstarten på computeren, for det er kun de nye menuer, der ikke vil virke. Så selvom computeren fryser, eller kommer med fejlmeddelelser, skal du bare genstarte og så gå ind i Ubuntu igen og finde ud af hvor du har lavet en fejl.


I dette tilfælde er ISO-filerne lagt i mappen '/boot/iso', men det kan være en stor fordel at lægge dem på deres egen selvstændig partition. Hvis du ønsker at lave images af dine diske, vil det være en fordel, da du samtidig kan bruge denne partition til at have selve image-filerne liggende.


Fremgangsmåde til SystemrescueCD

Download ISO-filen fra http://www.sysresccd.org/Download - i dette eksempel: systemrescuecd-x86-2.3.0.iso


Lav en mappe der hedder /boot/iso og kopier filen derover

Kode: Vælg alt

sudo mkdir /boot/iso



Ret filen : /etc/grub.d/40_custom med kommandoen

Kode: Vælg alt

sudo gedit /etc/grub.d/40_custom


erstat filens indhold med følgende

Kode: Vælg alt

#!/bin/sh
echo "Tilføjer ekstra menuer fra '/etc/grub.d/40_custom'" >&2
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "SystemRescueCD" {
        set isofile="/boot/iso/systemrescuecd-x86-2.3.0.iso"
        loopback loop (hd0,2)$isofile
        linux (loop)/isolinux/rescuecd isoloop=$isofile noeject
        initrd (loop)/isolinux/initram.igz
}


VIGTIGT: Det kan godt være at du skal rette parantesen i linien 'loopback loop (hd0,2)$isofile'. Parantesen (hd0,2) fortæller GRUB2 på hvilken partition ISO-filen ligger.

GRUB2 henviser til diske og partitioner på en anden måde end Ubuntu gør. Det første tal henviser til harddisken. Dvs. 0 = sda, 1=sdb osv. Det andet tal henviser til partitions nummeret.

sda1 - (hd0,1)
sda2 - (hd0,2)
sda3 - (hd0,3)
osv....

sdb1 - (hd1,1)
sdb2 - (hd1,2)
sdb3 - (hd1,3)
osv....

Du kan se din partitions navn ved at starte programmet GParted op: System -> Administration -> GParted. Har du ikke programmet installeret kan det gøres ved at køre kommandoen

Kode: Vælg alt

sudo apt-get install GParted



Opdater GRUB2

Kode: Vælg alt

sudo update-grub


Genstart computeren

Kode: Vælg alt

sudo init 6



Vælg menupunktet : SystemRescueCD

vælg lande kode DK

Når du er fremme ved prompten så skriv startx - og du er igang med en Xfce brugerflade

God fornøjelse

thj01


Hvis du får skabt koden til andre ISO-filer er du meget velkommen til at lægge dem op i denne tråd, så vil jeg løbende opdatere denne tråd.


Flere eksempler

Kode: Vælg alt

menuentry "LiveCD - Ubuntu 11.04" {
   set isofile="/boot/iso/ubuntu-11.04-desktop-i386.iso"
   loopback loop (hd0,2)$isofile
   linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile nomodeset
   initrd (loop)/casper/initrd.lz
}
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."