Systeem overnemen met een LiveCD

Als je om ��n of andere reden je systeem niet kunt opstarten, bijv. door een foutieve/beschadigde GRUB bootloader configuratie of installatie, dan kan het opstarten vanaf en LiveCD, en vandaar af het overnemen van het ge�nstalleerde systeem, een oplossing, of de weg daarnaartoe, bieden. In deze HOWTO gaan we er vanuit dat de LiveCD al gedownload en en er een CD of USB-stick van gemaakt is.

Vooraf

Het is handig om je schijf-partities altijd te “labelen”. Dat doe je in het partitioneringsprogramma van Yast, onder de “Fstab-opties” van de partities. Dit maakt het, zeker op systemen met veel partities, makkelijker om te zien wat partities voor inhoud nemen. Zo heet mijn “/” partitie altijd naar het OS, bijv. “openSUSE”. De schijf is dan niet alleen te zien in “/dev” als “sdX#” (X=letter, #=nummer), maar ook in “/dev/disk/by-label”, in mijn geval als “/dev/disk/by-label/openSUSE”. Bij het gebruik van een LiveCD/USB-stick erg prettig. Wat je nodig hebt is welke “/dev/sdX#” jouw "/"partitie is, dwz jouw openSUSE installatie bevat, in mijn geval kan ik dat zien aan de “/dev/sdX#” waarnaar “/dev/disk/by-label/openSUSE” verwijst.

Start

Start je systeem op van de LiveCD/USB-stick. Het is handig om te zorgen dat je netwerkverbinding hebt. Zodra het live-systeem helemaal is opgestart, open je een terminal venster (Programma’s - Systeem - Terminal). Word “root” in de terminal door het commando “su”, een wachtwoord is op de LiveCD/USB-stick niet nodig. Via “Mijn Computer” kun je nu achterhalen welk “device” jouw "/"partitie bevat. Die wordt hier verder aangeduid als “/dev/sdX#”, je moet daar zelf voor “X” de juiste letter, voor “#” het juiste nummer invullen.

Het ge�nstalleerde systeem overnemen

Voor nu in de terminal onderstaande commando’s uit, in dezelfde volgorde als ze hier staan:
NB. Voor openSUSE 13.1 zijn de commando’s betreffende het mounten van /proc en /sys veranderd. Onder de uitleg van de commando’s staat in groen de volgorde voor openSUSE 13.1


mount /dev/sdX# /mnt

Het ge�nstalleerde systeem wordt aangekoppeld op /mnt


mount --bind /dev /mnt/dev

Nu worden de door de LiveCD/USB-stick gedetecteerde “device-koppelingen” op de juiste plek aangekoppeld op het ge�nstalleerde systeem


chroot /mnt

De “/” wordt veranderd naar de plek waar het ge�nstalleerde systeem is aangekoppeld


mount /proc


mount /sys

het ge�nstalleerde systeem is geladen, je kunt nu bijv. opnieuw GRUB configureren, door


yast

Voor openSUSE 13.1:


mount /dev/sdX# /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
yast

einde openSUSE 13.1 uitzondering.

op te starten en naar Systeem - Bootloader te gaan. NB. Je krijgt de “curses” interface van Yast te zien, indeling / bediening is dezelfde als op de desktop, met dien verstande dat je met TAB en de pijltjes moet navigeren, selecteren doe je met de spatiebalk.

Dat ziet er goed uit. Fijn dat je dat als how to hebt opgenomen!
Vraag: hoe gaat dat met een installatie dvd?

Voor zover ik het nu kan bedenken niet, omdat de DVD geen “live” omgeving heeft.

Indien geen “Live” optie op de DVD, door de “Rescue System” op te starten kun je bovenstaande stappen ook uitvoeren. Deze optie is in alle recente versies aanwezig. Je hebt natuurlijk geen grafische omgeving, maar een bootloader probleem is op deze manier ook op te lossen. :slight_smile:

Hierop voortbordurend: als een experimentje met “kexec”, heb ik een openSUSE 11.3 (32-bits) systeem kunnen starten van een 64-bits 11.2 DVD:

  1. boot “Rescue system” van DVD, inloggen als root
  2. mount 11.3 root filesystem van HD op /mnt
  3. kexec --load /mnt/boot/vmlinuz --initrd=/mnt/boot/initrd --append=“root=/dev/disk-by/label/rootfs”
  4. umount /mnt
  5. kexec -e

Dit gaat natuurlijk ervan uit dat je nog een enigszins bruikbare installatie op het systeem hebt, maar voor bootloader problemen zal dat meestal wel het geval zijn.

Da’s ook een fraaie, Gábor.

Is het misschien ook het vermelden waard dat deze procedure alleen werkt als je Live-CD van dezelfde architectuur (32 bit of 64 bit) als het systeem dat je wilt overnemen? Liep ik vandaag tegenaan. Kreeg een error toen ik chroot wilde doen.

chroot: cannot run command '/bin/bash': Exec format error

Na wat zoeken bleek dus dat ik een 64bit systeem met een 32bit USB stickje wilde overnemen. En dat ging niet. Snel een 64bit versie gedownload en toen wilde het zonder problemen.