Linux von HDD1 auf HDD2 kopieren !

Nordmende

Semiprofi
Thread Starter
Mitglied seit
03.05.2006
Beiträge
2.054
Ort
Terra Incognita
Moin !

Folgende Situation:

Habe zwei Festplatten:
Eine 250GB mit Linux und dem Home-Verzeichnis und eine 500 GB mit Win7 und den Spielen.

Die 250GB Platte soll jetzt in ein ext. Gehäuse und dann als BackUp-Platte usw. dienen - Linux soll auf die 500GB Partition umziehen.

Meine Frage: Wie kopiere ich Linux auf eine entsprechende ext3-Partition auf der anderen Platte ?
Einfach mit "cp -R" oder braucht es dort ein spezielles Programm ?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Prinzipiell kein Problem. Du kannst "cp -r", "dd" oder auch das Programm "partimage" verwenden.
Bedenke, dass du nach dem Transfer noch den Bootloader installieren musst, um von der neuen Platte booten zu können, bzw den vorhandenen (falls er schon auf der neuen Platte ist) anzupassen.
Um auf Nummer sicher zu gehen, würde ich das ganze jedoch von einer Live CD machen.
 
Ich mache das immer so:

#formatieren der Zielplatte
mkfs -t ext2 /dev/hde1

#mounten der Zielplatte
mount -t ext2 /dev/hde1 /save

#Verzeichniswechsel nach /
cd /

#Dateien mit tar packen und direkt auf die Zielplatte pipen
tar cflp - . | ( cd /save ; tar xfvlp - )

Danach muss du den Bootloader noch auf der neuen Platte. Das Vorgehen ist abhängig vom verwendeten Bootloader (Lilo / Grub)
 
Prinzipiell kein Problem. Du kannst "cp -r", "dd" oder auch das Programm "partimage" verwenden.
Bedenke, dass du nach dem Transfer noch den Bootloader installieren musst, um von der neuen Platte booten zu können, bzw den vorhandenen (falls er schon auf der neuen Platte ist) anzupassen.
Um auf Nummer sicher zu gehen, würde ich das ganze jedoch von einer Live CD machen.

Habe es jetzt einfach mal mit cp -R versucht, doch läßt sich das verzeichnis /sys meiner ArchLinux Distri nicht kopieren. Ebenfalls /proc nicht.

Sofern ich es richtig verstanden habe, wird /proc bei jedem start sowieso neu erzeugt, ist es mit /sys auch so ?

Ich empfehle:

rsync -avh -P /quell/pfad user@192.168.0.1:/ziel/pfad

Bestes Kopierprogramm, wenn man nicht gleich ganze Partitionen imagen will.

Nunja, im prinzip will ich eine ganze Partion kopieren.
Funktionierne tut der Befehl bei mir leider nicht :(
[root@Nordmende Nordmende]# rsync -avh -P /sys/ Nordmende@192.168.0.1:/media/Linux #auch mit 127.0.0.1 nicht
rsync: Failed to exec ssh: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.6]
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync error: error in IPC code (code 14) at io.c(1525) [sender=3.0.6]


Ich mache das immer so:

#formatieren der Zielplatte
mkfs -t ext2 /dev/hde1

#mounten der Zielplatte
mount -t ext2 /dev/hde1 /save

#Verzeichniswechsel nach /
cd /

#Dateien mit tar packen und direkt auf die Zielplatte pipen
tar cflp - . | ( cd /save ; tar xfvlp - )

Danach muss du den Bootloader noch auf der neuen Platte. Das Vorgehen ist abhängig vom verwendeten Bootloader (Lilo / Grub)

Nunja, ist das nicht zu umständlich ?

Bootloader kommt natürlich gleich noch drauf.
 
@nordmende:

apt-get install rsync openssh

auf beiden Maschinen.

---------- Beitrag hinzugefügt um 20:12 ---------- Vorheriger Beitrag war um 20:04 ----------

Mir fällt grad auf dass du wahrscheinlich auf der selben Maschine kopieren willst :-)

Dann reicht ein rsync -avh -P /quelle /ziel
 
So System ist kopiert - allerdings konnte ich noch nicht testen obs geht.

Ein Grub Error 15 steht mir im Weg :fire:

Heute Abend habe ich aber keine Lust mehr dazu, da schau ich morgen nach...
 
Live-CD nehmen, beide Platten rein:

dd if=/dev/ZIELPLATTE of=/dev/QUELLPLATTE

damit sollte die Partition eigentlich geklont werden, bzw. sämtliche Dateien inkl. Bootsektor.

Wenn das abgeschlossen ist, solltest du von der Zielplatte booten können, es sei denn, ich hab einen Denkfehler und das funktioniert nur bei gleichgroßen Platten.
(Hierfür könntest du auf der 500gb z.b. eine Partition erstellen, die gleich groß der Quellplatte ist, zum testen )

mfg
foxxx :wink:
 
es sei denn, ich hab einen Denkfehler und das funktioniert nur bei gleichgroßen Platten.
So ist es.
DD sichert auch leeren Speicher mit. 5GB belegt und das Image wird trotzdem 300GB groß.
Dann doch besser partimage nehmen, das sichert nur den belegten Speicher. Danach wäre dann ein Resize mit gparted nötig, um die Platte von 300GB auf 500GB zu stretchen.
Ist jetzt aber egal, da er ja schon kopiert hat. Es fehlt also nur noch Grub.
Kann man ja nachinstallieren, gibts genug Anleitungen für.
 
Ja GRUB ist nicht (richtig) installiert...

Grub bootet Win7 ohne Probleme, nur Linux nicht.

Linux liegt auf sda6, in der device.map in /boot/grub ist diese Platte als (hd0) eingetragen. Dementsprechend habe ich in der menu.lst ein "root = (hd0,5)" geschrieben.
Denke beim kernel/initrd Befehl ist was murks.Darum kümmer ich mich aber erst heute abend...

Live-CD nehmen, beide Platten rein:

dd if=/dev/ZIELPLATTE of=/dev/QUELLPLATTE

damit sollte die Partition eigentlich geklont werden, bzw. sämtliche Dateien inkl. Bootsektor.

Wenn das abgeschlossen ist, solltest du von der Zielplatte booten können, es sei denn, ich hab einen Denkfehler und das funktioniert nur bei gleichgroßen Platten.
(Hierfür könntest du auf der 500gb z.b. eine Partition erstellen, die gleich groß der Quellplatte ist, zum testen )

mfg
foxxx :wink:

Das komische ist: Mein Pc bootet weder von der DSL noch von der Puppy-Live-CD :stupid: Ob es an den CD's liegt weiß ich nicht, Puppy auf einem USB-Stick zu installieren ist mir bisher nicht ganz gelungen... jedoch habe ich noch auf der anderen Partition ein Ubuntu. Damit kann ich jetzt anstelle einer Live-CD arbeiten.

So ist es.
DD sichert auch leeren Speicher mit. 5GB belegt und das Image wird trotzdem 300GB groß.
Dann doch besser partimage nehmen, das sichert nur den belegten Speicher. Danach wäre dann ein Resize mit gparted nötig, um die Platte von 300GB auf 500GB zu stretchen.
Ist jetzt aber egal, da er ja schon kopiert hat. Es fehlt also nur noch Grub.
Kann man ja nachinstallieren, gibts genug Anleitungen für.

Grub ist schon drauf, ist wohl in der Menu.lst nur irgendwas murks.
Vll sogar bei den UUIDS - wie ich diese hasse...........kann sich doch keiner merken.
 
du kannst auch ohne uuids booten

btw:

die kernel und initd parameter in der menu.lst kannst du doch aus deinem laufenden linux auslesen und dann auf der zweiten platte im grub entsprechend eintragen ;)

mfg
foxxx :wink:
 
Da du nicht wirklich präzise Angaben machst, mutmaße ich mal ein bisschen.

Erste Annahme ist, dass du immer noch beide Festplatten im Rechner hast und der Grub Bootloader im MBR der 250 GB Festplatte Windows auf der 500 GB Platte startet.

Zweite Annahme ist, dass du den Inhalt der Linuxpartition der 250 GB Platte auf die 500 GB Platte kopiert hast.

Dritte Annahme ist, dass die 500 GB Platte /dev/sda ist.

Vierte Annahme ist, dass sich Windows auf /dev/sda1 und Linux auf /dev/sda2 befindet.

---

Da du höchstwahrscheinlich nur die Linuxpartition kopiert hast, ist GRUB nicht im MBR der 500 GB Festplatte vorhanden, d.h., würdest du die 250 GB Platte ausbauen, dürfte weder Windows noch Linux booten. Wenn Windows doch bootet, befindet sich der Windows-Bootloader noch im MBR der 500 GB Platte.

Aus diesem Grund schreibst du zunächst GRUB in den MBR der 500 GB HDD. Du bootest zu diesem Zweck irgendeine Linuxdistro, die den GRUB-Bootloader installiert hat und führst Folgendes aus: Mounte vorher unbedingt deine Linuxpartition auf /dev/sda2
Code:
sudo grub-install --root-directory=/mountpoint --no-floppy /dev/sda
Achtung: Der ggf. vorhandene Bootloader in /dev/sda (bzw. hd0) wird überschrieben.

Falls nicht vorhanden erstellst du dann eine Datei menu.lst in /mountpoint/boot/grub/
Die menu.lst könnte so aussehen:
Code:
default 0
timeout 10

title Windows
rootnoverify (hd0,0)
makeactive
chainloader +1

title Linux
root (hd0,1)
kernel /boot/kernel root=/dev/sda2 ro quiet
#evtl. brauchst du eine initial ramdisk
initrd /boot/initrd.gz

Die Änderungen nimmst du natürlich auf eigene Verantwortung vor.

EDIT: Beachte, dass du sehr wahrscheinlich auch die /etc/fstab anpassen musst.
 
Zuletzt bearbeitet:
hhhhh

du kannst auch ohne uuids booten

Jop, die UUID's sind z.b. bei mehreren und vor allem wechselnden Platten von vorteil. Das hatte ich früher, deshalb hatte ich sie noch drinnen.

die kernel und initd parameter in der menu.lst kannst du doch aus deinem laufenden linux auslesen und dann auf der zweiten platte im grub entsprechend eintragen ;)

mfg
foxxx :wink:

Das weiß ich doch ;)

Da du nicht wirklich präzise Angaben machst, mutmaße ich mal ein bisschen.

Ich habe bewusst keine Präzisen Angaben gemacht.

Erste Annahme ist, dass du immer noch beide Festplatten im Rechner hast und der Grub Bootloader im MBR der 250 GB Festplatte Windows auf der 500 GB Platte startet.

Nein, ich habe immer nur eine Platte im System.
Wenn an der 500GB was verändere, schließ ich sie per USB kurz an.

Zweite Annahme ist, dass du den Inhalt der Linuxpartition der 250 GB Platte auf die 500 GB Platte kopiert hast.

Das ist richtig

Dritte Annahme ist, dass die 500 GB Platte /dev/sda ist.

Jop, ist sie. genau wie die 250 GB Platte wenn sie alleine drin ist.
Vierte Annahme ist, dass sich Windows auf /dev/sda1 und Linux auf /dev/sda2 befindet.

Win7 ist auf der 500 GB Platte auf sda1 und Linux auf sda6.
Das schriebe ich oben ja schon.

---

Da du höchstwahrscheinlich nur die Linuxpartition kopiert hast, ist GRUB nicht im MBR der 500 GB Festplatte vorhanden, d.h., würdest du die 250 GB Platte ausbauen, dürfte weder Windows noch Linux booten. Wenn Windows doch bootet, befindet sich der Windows-Bootloader noch im MBR der 500 GB Platte.

Grub ist auf der 500 GB vorhanden und Win7 startet auch, nur Linux noch nicht. Wie gesagt nur ein Grub-Fehler 15 um den ich mich wie angekündigt bei Zeiten kümmern will.
 
So, Problem ist behoben. In der fstab war der Wurm.
Nun startet Grub auf der 500GB Platte sowohl Win als auch LInux.

Nur mit Linux gibt es noch ein paar Probleme:

Nr. 1 Der X-Server läßt sich nicht starten

Es erscheint bei eingabe von "startx" die Fehlermeldung:

xauth: creating new authority file /home/Nordmende/.serverauth.3135

Fatal server error: Could not create lock file in /tmp/.tX0-lock

(Please contact x-org blabla)

giving up
xinit: No such file or directory (errno2): unable to connect to X server
xinit: No such process (errno 3): Server error

Nr. 2: Mein User-passwort wird erkannt - nicht jedoch das root-Passwort !

Bei Problem 1 ist es bestimmt nur ein Rechte-Problem, da schau ich mal nach. Nur bei Problem 2 habe ich gerade keinen Schimmer, ihr vll. ?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh