ISO-Images mit Grub 2 booten

Grub 2
Grub 2
27.11.2011 21:13

Systemwerkzeuge wie Parted Magic [1] kommen als Live-Distribution daher und sind äußerst praktische Hilfsmittel für Operationen am offenen Herzen. Wenn das System wieder mal verkonfiguriert am Boden liegt oder die Systempartition gesichert werden soll, kam bei mir bisher ein USB-Stick mit einem Werkzeugkasten wie systemrescuecd oder Parted Magic zum Einsatz. Mit Grub 2 kann ich nun in den meisten Fällen auf einen USB-Stick verzichten.

ISO-Images und Grub 2

Grub2 kann auch ISO-Images booten. Um das Image einer Live-Distribution zu booten, müssen allerdings die Boot-Parameter der jeweiligen Distribution bekannt sein. Im Gegensatz zu einer CD hat das aber den Vorteil, dass spezifische Einstellungen wie IP-Adressen oder das Tastatur-Layout bei vielen Distributionen gleich voreingestellt werden können [2].

In der grub2-Konfiguration sorgt der Eintrag loopback dafür, dass das angegebene Image als loopback-device eingebunden wird. Diesem Kommando wird der Bezeichner für das loopback-device und der Pfad zum ISO-Image übergeben. Anschließend bezieht man sich bei den kernel-Kommandos auf das loopback-device. Hier ein Beispiel für das Rettungssystem systemrescuecd:

loopback loop /boot/rescuecd/systemrescuecd-x86-2.3.1.iso
linux (loop)/isolinux/rescuecd isoloop=/boot/rescuecd/systemrescuecd-x86-2.3.1.iso setkmap=de
initrd (loop)/isolinux/initram.igz

Der Verweis darauf, dass der Kernel es mit einem loopback-device zu hat, fällt bei den verschiedenen Distributionen jeweils etwas anders aus. Bei systemrescuecd ist es der Parameter "isoloop", bei Parted Magic ist es "iso_location".

Grub 2 für ISOs konfigurieren

Benutzerspezifische Konfigurationen für grub2 werden im Falle von ubuntu in der Datei /etc/grub.d/40_custom hinterlegt. Liegt zum Beispiel das ISO-Image "pmagic-6.7.iso" für Parted Magic im Verzeichnis /boot/pmagic auf der root-Partition /dev/sda3 dann sieht ein entsprechender Eintrag in der Datei so aus:

menuentry "PartedMagic" { 
insmod part_msdos 
insmod ext2 
gfxpayload=$linux_gfx_mode 
set root=(hd0,msdos3) 
loopback loop /boot/pmagic/pmagic-6.7.iso 
linux (loop)/pmagic/bzImage iso_location=/boot/pmagic edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 vmalloc=256MiB keymap=de-latin1 de_DE
initrd (loop)/pmagic/initramfs
}

Als kernel-Option wurde gleich das deutsche Tastatur-Layout eingestellt und dafür gesorgt, dass das System in eine RAM-Disk geladen wird. Damit ist der Weg frei für Operation auch auf die Partition, von der das ISO-Image geladen wurde.

Der folgende Aufruf bringt die neue Konfiguration ins Bootmenü:

sudo update-grub2

Danach bietet das Bootmenü einen neuen Eintrag "PartedMagic", und der bootet das ISO-Image in den RAM.

Der Parted Magic Desktop

Und dann?

Meine häufigste Anwendung dieser Konfiguration ist die Sicherung der Root-Partition als komplettes Image. Da ich in letzter Zeit auf der Suche nach einem vernünftigen Desktop für das Netbook (bin offenbar der einzige: [3]) aktuelle Distributionen probefahre, kann ich so nach dem Ausprobieren das alte Image einfach wieder zurückspielen. Der Einfachheit halber habe ich die Live-Images mit den Werkzeugen auf einer eigenen Boot-Partition liegen.

Für das Sichern nutze ich fsarchiver [4]. Der folgende Aufruf sichert damit die root-Partition /dev/sda3 in Sicherungsdateien, die in jeweils maximal 2 GB große Stücke aufgeteilt werden. So können sie auch auf vfat-formatierte USB-Sticks kopiert werden:

fsarchiver -v -s 2024 savefs /mnt/usbstick/linux-sys.fsa /dev/sda3

Die Sicherungs-Images können auch mit einem Passwort verschlüsselt werden (Option "-c -"), so verursacht der Upload in die Wolke weniger Bauchschmerzen. Zurückspielen klappt dann mit dem folgenden Aufruf:

fsarchiver restfs /mnt/usbstick/linux-sys.fsa id=0,dest=/dev/sdb3

Viel Spaß beim Ausprobieren. Eine Herausforderung wäre es noch, ein paar mehr boot-Optionen für Parted Magic herauszubekommen.

Links

[1] Parted Magic: http://partedmagic.com

[2] systemrescuecd boot-Optionen: http://www.sysresccd.org/Sysresccd-manual-en_Booting_the_CD-ROM

[3] Michael Koflers Meinung: Unity - Der Anfang vom Ende für Ubuntu?

[4] FSarchiver: http://www.fsarchiver.org/Main_Page


Kommentare

Infos zum Autor