ACHTUNG! Dieses Tutorial befindet sich noch im Aufbau
Für Korrekturen und Vorschläge bin ich natürlich immer dankbar.
Folgendes Tutorial soll beschreiben, wie man ein laufendes System kopiert und lauffähig macht, so dass man es als Reservesystem nutzen kann. Das hat gegenüber einem Live-System nicht nur den Vorteil, dass es erheblich schneller ist (bzw. im Vergleich zu einer Live-CD auch erheblich leiser), sondern vor allem, dass es schon vernünftig konfiguriert ist.
Momentan wird hier nur die Vorgehensweise für ein System ohne Bootpartition beschrieben, die Beschreibung dafür kommt noch.
Ihr braucht:
Eine Live-CD mit irgendeiner Linux-Distri, sollte natürlich mit dem entsprechenden Dateisystem klarkommen. Ansonsten habt ihr hier freie Wahl, wichtig ist nur, dass ihr wisst, wie ihr dort in der Konsole rootrechte bekommt (Ubuntu 8.10 macht da beispielsweise Zicken, hier muss man erst ein Root-Passwort setzen, damit SU funktioniert, gksudo hingegen geht auch ohne Passwort). Live-Stick geht theoretisch auch.
Es geht natürlich auch von nem System, dass nicht auf der zu kopierenden Partition liegt (und auch nicht auf der Zielpartition, die wird ja von sämtlichen Dateien befreit, bevor da irgendwas irgendwohin kopiert wird.)
Folgende Vorraussetzungen sollte eure Festplatte erfüllen:
eine freie bzw. nicht benötigte, mit dem gleichen Dateisystem wie das Originalsystem formatierte Partition, die bereits korrekt im Originalsystem eingebunden ist (da solltet ihr drauf achten, wenn ihr diese Partition neu formatiert!)
die Zielpartition sollte natürlich so groß sein, dass die Inhalte des Originalsystems draufpassen.
Dann gehts jetzt los. Fast. Erstmal solltet ihr je nach früherem Inhalt der Zielpartition prüfen, ob noch irgendwelche Daten zu sichern sind! Denn damit wären wir schon bei Schritt 1: Alle Dateien auf der Zielpartition löschen
Das könnt ihr ruhig vom Originalsystem machen. Dann habt ihr den Vorteil, dass ihr am Pfad seht, WAS ihr löscht. Vor allem solltet ihr diesen Weg wählen, wenn auf der Zielpartition ein gültiges Rootverzeichnis liegt. Sonst passiert es sehr schnell dass man im Livesystem die falsche Partition erwischt. Man würde sich also eventuell das Originalsystem ins digitale Nirvana schießen.
Fürs Löschen braucht ihr natürlich die entsprechenden Zugriffsrechte.
Schritt 2: Dateien kopieren
Hört sich einfach an. Ist auch einfach, aber hier eben nur dann wenn man weiß, wie! Über den grafischen Dateimanager wird es nicht gehen. Dann kopiert ihr zwar die Dateien, aber erstens wird er ziemlich viel rummeckern und zweitens ist dann überall root Besitzer und Gruppe. Mit anderen Worten, ihr sperrt euch selbst aus.
So gehts richtig:
Livesystem bzw. Linuxsystem auf einer nicht von der Aktion betroffenen Partition booten.
Dann öffnet ihr zwei Dateimanager (hierfür braucht ihr keine Rootrechte), navigiert in einem zur Partition des Originalsystem und mit dem Anderen zur Zielpartition.
Öffnet dann eine Konsole und holt euch Rootrechte mit su. Im Falle einer Live-CD kann es sein, dass ihr hier erst ein Rootpasswort festlegen müsst. Bei einem installierten System habt ihr natürlich eins.
Ordnet alles so an, dass ihr es gut überblicken könnt.
Dann nutzt ihr einfach den Konsohlenbefehl
cp -a /ORIGINAL/ORDNER /ZIEL
zum Kopieren. Dabei werden die Zugriffsrechte nicht verändert. Das macht ihr einfach für jeden Ordner. Es kann aber sinnvoll sein, den Ordner /media nicht mitzukopieren, sondern einfach auf der Zielpartition neu zu erstellen. Checkt einfach vorm Kopieren den Inhalt, manchmal bleiben da reste übrig, die man eh nicht braucht. Die mitzukopieren wäre also Unsinn.
Schritt 3: Einhängepunkte ändern
Wenn Originalsystem und Zielsystem auf einer Platte liegen, ist das ganz einfach. Beispiel:
/etc/fstab des Zielsystems:
/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part5 swap swap defaults 0 0
/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part3 / ext3 acl,user_xattr 1 1
/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part1 /sda1 ext3 defaults 1 2
/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part2 /windows/C ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part6 /windows/D ntfs-3g users,gid=users,fmask=113,dmask=002,locale=de_DE.UTF-8 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
hier ist /dev/sda1 als /sda1 eingebunden und /dev/sda3 ist root. allerdings werden die Partitionen in diesem Fall per ID angesprochen, ihr müsst also aufpassen, wenn ihr das System auf eine andere Platte kopieren wollt. Dann reicht es nicht, einfach die nummer bei "part" zu ändern, sondern auch die ID muss passen. Werden die Partitionen jedoch über die devicefiles (/dev/sda1 usw.) angesprochen, sollte es auch da keine Probleme geben.
Angenommen, ihr habt sda3 zu sda1 rüberkopiert. dann sucht ihr die entsprechende platte und Partition in der Liste und tauscht einfach die Plattendaten (also entweder das /dev/sd... oder das /dev/disk/by-id/...-part...) der Quell- und Zielpartition miteinander. Den Einhängepunkt der Partition, auf der ihr das Originalsystem habt, passt ihr an (es sei denn ihr möchtet /dev/sda1 in den Ordner /sda3 mounten
)
Schritt 4: Bootmanager anpassen
Hierfür müsst ihr nur die beiden Einträge des Originalsystems in der Datei /boot/grub/menu.lst des zuerst startenden Systems kopieren. Wie ihr mit den Kommentaren von Yast verfahrt weiß ich nicht, aber daran wird sich auch allerhöchstens Yast verschlucken. Wenn so der eintrag des Originalsystems aussieht:
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1 - 2.6.27.29-0.1 (pae)
root (hd0,2)
kernel /boot/vmlinuz-2.6.27.29-0.1-pae root=/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part3 resume=/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part5 splash=silent showopts vga=0x31a
initrd /boot/initrd-2.6.27.29-0.1-pae
macht ihr bei der Kopie daraus folgendes:
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1 - 2.6.27.29-0.1 (pae)
root (hd0,[B]0[/B])
kernel /boot/vmlinuz-2.6.27.29-0.1-pae root=/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part[B]1[/B] resume=/dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJ9AQ408219-part5 splash=silent showopts vga=0x31a
initrd /boot/initrd-2.6.27.29-0.1-pae
hab die änderungen mal fett gedruckt. root (hd0,0) bedeutet das gleiche wie /dev/sda1, bloß eben in grub-notation. Hier müsst ihr mit der Zählweise aufpassen. Bei der unteren Änderung ist es wieder die ID der Disk, liegt die Kopie auf einer anderen Platte müsst ihr hier natürlich die gesamte ID ändern und nicht bloß die Zahl bei part.
Jetzt sollte das Zweitsystem eigentlich laufen.