16 Dezember 2007

Kleines Programm, große Wirkung


Bildquelle: Karikatur, Cartoon und Witze

Ich möchte heute unter anderem über das Programm dd berichten. Doch zuvor muss ich euch wohl erstmal kurz auf den neuesten Stand bringen.

Ich habe mir mittlerweile einen neuen Desktop-Rechner zugelegt, den ich nicht behr mit Gentoo, sondern mit Kubuntu betreibe. Das habe ich deswegen gemacht, weil Kubuntu einfach nicht so viel Wartungsaufwand erfordert, es läuft einfach (naja fast, manchmal muss man schon ein wenig Hand anlegen).

Der Rechner ist ein AMD Athlon64 X2 4200+, also ein Quantensprung im Vergleich zu meinem alten Duron 800 ;-) Ich habe mir dafür ein neues Board, und neues RAM kaufen müssen, wobei ich die Festplatten aus dem alten Rechner übernommen habe. Mittlerweile habe ich mir noch eine neue Grafikkarte und ein neues Gehäuse zugelegt, aber das soll jetzt nicht das Thema sein.

Meine Festplattenkonfiguration sah so aus, dass ich eine 120 GB-Platte mit Linux hatte und eine 30GB-Platte mit Windows. Die 120er war die erste (hda) und die 30er, die zweite (hdb). Die Platten waren noch aus der "alten Zeit" und daher keine SATA, sondern IDE-Platten. Leider bot das neue Board nur einen IDE-Kanal, also musste ich mir, da mein DVD-Laufwerke logischerweise auch über IDE läuft, einen IDE-Controller einbauen.

Das DVD-Laufwerk habe ich an den eingebauten Controller angeschlossen, und die Platten an den OnBoard-Controller. Dummerweise hatte der Onboard-Controller die Angewohnheit, nach einem Warmstart das DVD-Laufwerk nicht mehr zu erkennen. Das war für mich (unter anderem) die Motivation, mir eine neue Feltplatte schenken zu lassen (allerdings keine, die ein Spanferkel enthält ;-)).

Seit gestern bin ich im Besitz einer 500GB großen leisen Samsung-SATA-Platte. Das Problem, was sich mir stellte war, dass ich die Daten der 30er-Platte "irgendwietm" auf die neue schaufeln musste. Ich bin davon ausgegangen, dass ich um eine Neuinstallation von Windows nicht herumkommen werde. Da ich sowas immer als letze Möglichkeit sehe, habe ich zuerst etwas anderes ausprobieren wollen.

Ich habe also die neue Platte an den ersten SATA-Port angeschlossen, die alte zusammen mit dem DVD-Laufwerk an den internen IDE-Kanal und die alte 30er Platte an den eingebauten IDE-Controller. Die neue Platte heisst jetzt "sda", die 120er am internen Kanal "hda" und die 30er am Contorller heisst "sdb" (Linux bezeichnet wohl nur interne Ide-Platten mit hdx).

Die erste Möglichkeit, die mir einfiel, war

sudo dd if=/dev/sdb of=/dev/sda

Dieser Vorgang kopiert alles, was in der "Datei" /dev/sdb gespeichert ist, Byte für Byte in die "Datei" /dev/sda . Da beide "Dateien" Device-Nodes für Festplatten sind, wurde bei diesem Vorgang jedes Byte auf unterster Ebene (also auch inklusive Formatierung, Partitionstabelle und allen Partitionen inklusive den Dateisystemen und natürlich den Daten) von der alten Platte, auf die neue kopiert.

Nachdem ich ein paar Einträge in der /etc/fstab geändert hatte und (zur Sicherheit) einen Neustart gemacht habe, konnet ich die Partitionen auf der neuen Platte mounten. Soweit, so gut, das schlimmste, was mir jetzt noch hätte passieren können, wäre eine Windows-Reparaturinstallation gewesen (drüberinstallieren). Ich bin aber ein experimentierfreudiger Mensch, und habe einfach mal einen Neustart gemacht und im Grub-Menü den Eintrag "Windows-XP" gewählt. Ich traute meinen Augen nicht, als Windows ohne zu murren einfach hochgefahren ist. Er wollte nur nen Neustart wegen der neuen Festplatte und des reaktivierten SATA-Controllers machen, aber es lief "einfach so".

Als ich dann nochmal genauer drüber nachgedacht habe, wurde mir klar, warum. Die 120er-Platte ist nach, wie vor, die erste Platte des Rechners, da sie diegenige ist, die gebootet wird. Windows verlangt auf dieser ersten Platte die erste Partition als Boot-Partition zu haben. Darüber hatte ich mich bei der Intallation von Windows damals sehr aufgeregt, aber in diesem Fall hat diese Eigenart mich vor einer Neuintallation bewahrt.

Der dd-Befehl hat dafür gesorgt, dass die Partitionen in Ordnung sind, und Windows sieht die neue Platte automatisch als zweite Platte an. Zugegeben, es war jetzt etwas Glück bei der ganzen Sache dabei, aber ich bin äußerst angenehm überrascht gewesen. Manchmal haben gewisse Eigenarten von Windows auch nützliche Seiteneffekte.

1 Kommentar:

DeX hat gesagt…

Kleine Anmerkung: nur bei Verwendung der "alten" IDE Module im Kernel erscheinen IDE Festplatten als "hdX". Mit der neuen libata sind auch solche "sdX"