Rücksicherung von SuSE-Linux nach System-Crash
Inhalt
- Rettunssystem von CD booten
- Festplatte partitionieren mit »fdisk«
- Formatieren der Partitionen
- Einhängen der Zielpartitionen in den Verzeichnisbaum mit »mount«
- Rücksicherung von Band
- Schreiben des Bootloaders (LILO)
Voraussetzung für das hier beschriebene Verfahren ist eine Komplettsicherung, die mit tar auf Band vorgenommen wurde.
I. Rettunssystem von CD booten
II. Festplatte partitionieren mit »fdisk«
Im folgenden wird die Vorgehensweise zur Partitionierung der Festplatte auf SuSE-Linux-Systemen beschrieben. Im Beispiel gehen wir von einer IDE-Platte am ersten Kanal als Master aus (/dev/hda). Dabei geht man nach folgender Reihenfolge (in eckigen Klammern das entsprechende fdisk-Kommando) vor:
- Anmelden
- Start des Programms auf der Kommandozeile
- Kommandoübersicht [m]
- Anzeigen der Partitionstabelle [p]
- Entfernen vorhandener Partitionen (optional) [d]
- Anlegen der Partitionen [n]
- Änderung des Partitionstyps für den Auslagerungsbereich [t]
- Bootpartition startklar machen [a]
- Partitionstabelle schreiben [w]
1. Anmelden
rescue login: root rescue:~ # _ |
2. Start des Programms auf der Kommandozeile
Nach der Anmeldung wird das Programm »fdisk« gestartet. Es erscheint der Prompt
Command (m for help):an dem die Befehle eingegeben werden, die immer nur aus einem Buchstaben bestehen. Benutzereingaben sind im folgenden fett dargestellt:
rescue:~ # fdisk /dev/hda The number of cylinders for this disk is set to 1232. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): |
3. Kommandoübersicht
Mit dem Kommando »m« kann man sich eine Liste aller Kommandos anzeigen lassen:
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) |
4. Anzeigen der Partitionstabelle
Mit dem Kommando »p« kann man sich die derzeitige Partitionstabelle anzeigen lassen:
Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 1232 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 13 104391 82 Linux swap /dev/hda2 * 14 906 7173022+ 83 Linux /dev/hda3 907 970 514080 83 Linux /dev/hda4 971 1232 2104515 83 Linux |
5. Entfernen vorhandener Partitionen (optional)
Falls auf der Platte bereits Partitionen angelegt sind, müssen diese mit dem Kommando »d« zunächst entfernt werden:
Command (m for help): d Partition number (1-4): 1 Command (m for help): d Partition number (1-4): 2 Command (m for help): d Partition number (1-4): 3 Command (m for help): d Partition number (1-4): 4 Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 1232 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System |
6. Anlegen der Partitionen
Mit dem Kommando »n« werden die neuen Partitionen angelegt. Die Werte unten sind als Beispiel zu sehen. Sie sollten die Größe laut Originalsystem wählen. Wir gehen hier von vier primären Partitionen aus:
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1232, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1232, default 1232): 13 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (14-1232, default 14): Using default value 14 Last cylinder or +size or +sizeM or +sizeK (14-1232, default 1232): 906 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (907-1232, default 907): Using default value 907 Last cylinder or +size or +sizeM or +sizeK (907-1232, default 1232): 970 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 4 First cylinder (971-1232, default 971): Using default value 971 Last cylinder or +size or +sizeM or +sizeK (971-1232, default 1232): Using default value 1232 Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 1232 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 13 104391 83 Linux /dev/hda2 14 906 7173022+ 83 Linux /dev/hda3 907 970 514080 83 Linux /dev/hda4 971 1232 2104515 83 Linux |
7. Änderung des Partitionstyps für den Auslagerungsbereich
Mit dem Kommando »t« wird nun der Typ der Swap-Partition geändert:
Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): L 0 Empty 1c Hidden Win95 FA 65 Novell Netware bb Boot Wizard hid 1 FAT12 1e Hidden Win95 FA 70 DiskSecure Mult c1 DRDOS/sec (FAT- 2 XENIX root 24 NEC DOS 75 PC/IX c4 DRDOS/sec (FAT- 3 XENIX usr 39 Plan 9 80 Old Minix c6 DRDOS/sec (FAT- 4 FAT16 <32M 3c PartitionMagic 81 Minix / old Lin c7 Syrinx 5 Extended 40 Venix 80286 82 Linux swap da Non-FS data 6 FAT16 41 PPC PReP Boot 83 Linux db CP/M / CTOS / . 7 HPFS/NTFS 42 SFS 84 OS/2 hidden C: de Dell Utility 8 AIX 4d QNX4.x 85 Linux extended df BootIt 9 AIX bootable 4e QNX4.x 2nd part 86 NTFS volume set e1 DOS access a OS/2 Boot Manag 4f QNX4.x 3rd part 87 NTFS volume set e3 DOS R/O b Win95 FAT32 50 OnTrack DM 8e Linux LVM e4 SpeedStor c Win95 FAT32 (LB 51 OnTrack DM6 Aux 93 Amoeba eb BeOS fs e Win95 FAT16 (LB 52 CP/M 94 Amoeba BBT ee EFI GPT f Win95 Ext'd (LB 53 OnTrack DM6 Aux 9f BSD/OS ef EFI (FAT-12/16/ 10 OPUS 54 OnTrackDM6 a0 IBM Thinkpad hi f0 Linux/PA-RISC b 11 Hidden FAT12 55 EZ-Drive a5 FreeBSD f1 SpeedStor 12 Compaq diagnost 56 Golden Bow a6 OpenBSD f4 SpeedStor 14 Hidden FAT16 <3 5c Priam Edisk a7 NeXTSTEP f2 DOS secondary 16 Hidden FAT16 61 SpeedStor a9 NetBSD fd Linux raid auto 17 Hidden HPFS/NTF 63 GNU HURD or Sys b7 BSDI fs fe LANstep 18 AST SmartSleep 64 Novell Netware b8 BSDI swap ff BBT 1b Hidden Win95 FA Hex code (type L to list codes): 82 Changed system type of partition 1 to 82 (Linux swap) Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 1232 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 13 104391 82 Linux swap /dev/hda2 14 906 7173022+ 83 Linux /dev/hda3 907 970 514080 83 Linux /dev/hda4 971 1232 2104515 83 Linux |
8. Bootpartition startklar machen
Mit dem Kommando »a« wird die Partition markiert, die vom BIOS gebootet wird:
Command (m for help): a Partition number (1-4): 2 Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 1232 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 13 104391 82 Linux swap /dev/hda2 * 14 906 7173022+ 83 Linux /dev/hda3 907 970 514080 83 Linux /dev/hda4 971 1232 2104515 83 Linux |
9. Partitionstabelle schreiben
Mit dem Kommando »w« wird die Partitionstabelle dann tatsächlich auf die Platte geschrieben und das Programm verlassen:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. rescue:~ # _ |
III. Formatieren der Partitionen
Wenn Sie, wie im Beispiel, ausschließlich primäre Partitionen angelegt haben, können Sie direkt mit der Formatierung beginnen. Haben Sie jedoch auch logische Partitionen (hda5 (bzw. sda5) und höher) angelegt, müssen Sie zunächst einen Reboot durchführen.
Für die Formatierung der Partitionen stehen bei Linux mittlerweile eine ganz ansehnliche Anzahl verschiedener Dateisysteme zur Verfügung: ext2, ext3, jfs, reiserfs, xfs. Eine Bewertung würde über den Rahmen dieses Dokumentes hinausgehen. Für das Beispiel gehen wir von reiserfs aus, das von SuSE bevorzugt wird:
rescue:~ # mkswap /dev/hda1 rescue:~ # mkreiserfs /dev/hda2 rescue:~ # mkreiserfs /dev/hda3 rescue:~ # mkreiserfs /dev/hda4 |
IV. Einhängen der Zielpartitionen in den Verzeichnisbaum mit »mount«
Zunächst muss die root-Partition (d.h. die Partition, die später unter / zu finden ist) mit dem Befehl mount in den Verzeichnisbaum eingehängt werden:
rescue:~ # mount /dev/hda3 /mnt |
Dann müssen alle Mount-Points angelegt werden (im Beispiel gehen wir mal von /boot und /home aus):
rescue:~ # mkdir /mnt/boot rescue:~ # mkdir /mnt/home |
Nun können die anderen Partitionen eingehängt werden:
rescue:~ # mount /dev/hda2 /mnt/boot rescue:~ # mount /dev/hda4 /mnt/home |
V. Rücksicherung von Band
Nun ist alles vorbereitet. Die Rücksicherung von Band kann beginnen:
rescue:~ # cd /mnt rescue:/mnt # tar xvpf /dev/st0 |
VI. Schreiben des Bootloaders (LILO)
Ist das Backup zurückgeschrieben, muss noch der Bootloader (LILO) geschrieben werden. Dazu muss man mit dem Befehl »chroot« zunächst das rückgesicherte System zum Wurzelverzeichnis machen:
rescue:/mnt # chroot /mnt |
Dann kann der LILO (und die initiale RAM-Disk) geschrieben werden:
suse:~ # mkinitrd suse:~ # lilo Added Linux * Added memtest suse:~ # _ |
Nach einem Reboot von Platte steht das System wieder zur Verfügung.