Ich wollte eine 500 GB große Festplatte klonen, also habe ich Kali Linux gebootet und den folgenden Befehl ausgeführt:
dd if=/dev/sda of=/media/root/usb/windows.img bs=64k conv=noerror
Das hat alles einwandfrei funktioniert, das Image wurde erstellt und kann gestartet werden. Beim Booten des eigentlichen PCs wird jedoch die folgende Meldung angezeigt:
An operating system wasn't found. Try disconnecting any drives that don't contain an operating system. Press Ctrl+alt+Del to restart.
Es ist möglich, dass dies nur ein Zufall ist, aber das erscheint unwahrscheinlich. Ich habe derzeit keinen physischen Zugriff auf diesen Computer. Meine Frage ist, ob die Ausführung dieses dd-Befehls dazu führen könnte, dass der Computer keine bootfähigen Laufwerke findet?
Antwort1
Es ist unwahrscheinlich dassDasDer Befehl dd hatte selbst keine negativen Auswirkungen auf den Startvorgang, da er lediglich Daten vom Laufwerk /dev/sda las und sie in eine Image-Datei schrieb, die sich physisch auf einem anderen Speichergerät befindet.
Unwahrscheinlich heißt nicht unmöglich. Prüfen Sie, ob Sie die folgenden beiden Fälle ausschließen können.
Ausnahme 1: Ich sehe, dass Sie die Option übergeben haben conv=noerror
. Normalerweise wird diese Option verwendet, um Daten von einem fehlerhaften Speichergerät zu extrahieren (tatsächlich würden Sie conv=sync,noerror
und einen Wert für bs verwenden, der der physischen Sektorgröße Ihrer Festplatte entspricht). Sie bewirkt, dass dd fortfährt, nachdem es fehlerhafte Sektoren auf dem Laufwerk gefunden hat, von dem es liest, sodass Sie hoffentlich Daten aus der Image-Datei extrahieren können, die möglicherweise immer noch Datenbeschädigungen enthalten, die durch das fehlerhafte Laufwerk verursacht wurden, sich aber jetzt auf einem sicheren Speicher befinden. Um es andersherum zu betrachten: Wenn Sie vermuten, dass Ihr Laufwerk in Ordnung ist, tun Sie diesnichtmöchten conv=noerror
, damit Sie bei einem DD-Fehler wissen, dass ein Problem mit dem Laufwerk vorliegt.
Angenommen, Sie haben von einem fehlerhaften Laufwerk gelesen, dann hat das Lesen durch dd selbst möglicherweise weitere fehlerhafte Sektoren auf dem Laufwerk verursacht, wie es bei jedem anderen Lesevorgang durch ein anderes Programm (z. B. beim normalen Booten des PCs) der Fall gewesen wäre. Wenn dies zutrifft, war dd möglicherweise der letzte erfolgreiche Lesevorgang in diesem Sektor.
Ausnahme 2: Auch wenn der oben zitierte dd-Aufruf korrekt ist, kann es beim manuellen Eintippen von dd-Befehlen sehr leicht passieren, dass ein „if“ durch ein „of“ vertauscht wird, was die Daten auf einer Festplatte leicht unbrauchbar machen kann.
Auch wenn Sie sich jetzt nicht sicher sind, ob dd Ihre Daten nicht vermasselt hat, sollten Sie nicht versäumen, nach anderen Ursachen für den fehlgeschlagenen Bootvorgang zu suchen. Hier sind einige Hinweise, die Ihnen dabei helfen können und Ihnen vielleicht dabei helfen, das Problem genauer zu beschreiben:
Die Meldung, die Sie gerade lesen ( An operating system wasn't found [...]
), stammt von einem Windows-Bootloader. Das BIOS hat also eine Diskette mit diesem Bootloader gefunden, die wiederum die zugehörige Windows-Installation nicht finden kann. Haben Sie erwartet, Windows zu booten?
Haben Sie versucht, die Quellfestplatte aus Ihrer Beschreibung auszuführen, die Festplatte mit dem neuen Disk-Image oder eine ganz andere Installation?
Haben Sie irgendwelche BIOS-Startoptionen geändert, beispielsweise beim Booten in Kali? Sind Sie sicher, dass das BIOS jetzt auf das richtige Laufwerk verweist? (Oder vielleicht auf ein Laufwerk, das zuvor für eine Windows-Installation verwendet wurde?)
Wenn Ihre Beschreibung vollständig ist, haben Sie die Festplatte nicht wirklich „geklont“, sondern nur eine Image-Datei in einem vorhandenen Dateisystem erstellt (was als Backup nützlich wäre). Eine ordnungsgemäß geklonte Festplatte könnte in den PC eingesetzt werden, um die ursprüngliche zu ersetzen, aber das würde mit dem, was Sie bisher getan haben, noch nicht funktionieren. Wenn die Quellfestplatte fehlerhaft war, ist das Image wahrscheinlich auch beschädigt. Sie möchten wahrscheinlich mehr über das Klonen mit dd lesenin diesem grundlegenden BeispielUndin dieser Diskussion über conv=sync,noerror.