Macht Windows (7, 10) beim kopieren eine CRC-Prüfung?

Gast #5939044
Lesenswert?

Moin!
Frage steht schon oben!

Hintergrund ist der, dass beim kopieren eines Backups über LAN auf einen 
NAS die Dateien auf Konsistenz geprüft werden soll.

Es ist etwas umständlich, jede Datei einzeln anzuklicken und deren CRC 
z.B. mit HashTab(*) zu überprüfen.
Eigentlich erwarte ich von einem guten OS, dass nach dem Kopiervorgang 
die neu erstellte Kopie mit dem Original verglichen wird.

Aber was ich erwarte und was Microsoft tut, hat vermutlich nichts 
miteinander zu tun... :(






*HashTab: nützliche Erweiterung im Windows-Kontextmenü des 
Dateiexplorers
https://www.heise.de/download/product/hashtab-30191
#5939049
Lesenswert?

Der Rüdiger schrieb:
> Eigentlich erwarte ich von einem guten OS, dass nach dem Kopiervorgang
> die neu erstellte Kopie mit dem Original verglichen wird.
>
> Aber was ich erwarte und was Microsoft tut, hat vermutlich nichts
> miteinander zu tun... :(

Ganz sicher nicht, das liegt aber weniger an Microsoft. Immerhin 
dokumentieren die die Optionen ihrer verschiedenen Kopierbefehle 
ausführlich. Für die richtige Auswahl und Anwendung ist der Benutzer 
verantwortlich.

Fazit, auch wenns wehtut: RTFM

Oliver
#5939051
Lesenswert?

Der Rüdiger schrieb:
> Eigentlich erwarte ich von einem guten OS, dass nach dem Kopiervorgang
> die neu erstellte Kopie mit dem Original verglichen wird.

Damit würde der Kopiervorgang mindestens 2x so lange dauern, das 
tolerieren die wenigsten $User.

Als Tool für sowas nehme ich md5sum oder sha1sum, aber ich bin auch 
öfters auf der Kommandozeile unterwegs.

Je nach Anforderung ist QuickPar besser (aber viel langsamer), da echte 
Recovery Blocks erzeugt werden.
#5939078
Lesenswert?

Es ist garnicht so einfach, die Kopie auf der Platte zu prüfen. Nach dem 
kopieren stehen die Daten noch im Cache. Im Extremfall, wenn beide 
Platten am gleichen Rechner angeschlossen sind, vergleicht man die Daten 
im RAM mit sich selbst.

Man müsste wenigstens nach dem Kopieren die Ziel-Platte aushängen, 
wieder einhängen und dann erst vergleichen. Obwohl, 100% überzeugt bin 
ich davon auch nicht.
#5939081
Lesenswert?

Oliver S. schrieb:
> Fazit, auch wenns wehtut: RTFM

Blödsinnige Antwort. das "Manual" zu Windows ist genau wo? und wo genau 
steht dann, dass der Kopiervorgang nicht mit auf Konsitenz überprüft 
wird.
Bitte liefere doch einen Link nach - natürlich zum Original-Handbuch bei 
MS, kein dubiöser Blogeintrag von jemanden, der das einfach nur mal so 
behauptet - wie z.B. Du!



Dennis S. schrieb:
> Lass mich raten: wenn
> sowas implementiert werden würde und du dann für dein Backup drei Tage
> brauchst geht das Gejammer los!?

Davon schreibt der TO ja erst einmal nichts, Du unterstellst ihm jetzt 
einfach mal, dass er einen schnellen Kopiervorgang erwartet?




Um die Frage des TO zu beantworten:
Von Haus aus führt Windows (egal in welcher Version) m.E.n. keine 
Dateiprüfung nach dem Kopieren durch.

Es gibt ein paar Tricks und Kniffe, dies dennoch zu bewerkstelligen.

Am einfachsten ist wohl das packen des BackUps in eine einzige Datei - 
z.B. ZIP. Deren Hashwert kann man dann mit der Original vergleichen.

Es gibt auch komerzielle Backup-Tools, die eine solche Funktion 
mitbringen - z.B. von Acronis.

Der TotalCommander kann das auch, dabei wird die Kopie nach dem 
schreiben zurückgelesen, das dauert eben. Bei einem backup dürfte das 
wohl keine Rolle spielen...
#5939154
Lesenswert?

Jeffrey L. schrieb:
> Oliver S. schrieb:
>> Fazit, auch wenns wehtut: RTFM
>
> Blödsinnige Antwort. das "Manual" zu Windows ist genau wo? und wo genau
> steht dann, dass der Kopiervorgang nicht mit auf Konsitenz überprüft
> wird.
> Bitte liefere doch einen Link nach - natürlich zum Original-Handbuch bei
> MS, kein dubiöser Blogeintrag von jemanden, der das einfach nur mal so
> behauptet - wie z.B. Du!

Na ja, da du nicht der TO bist, nein. google selber.

Alle anderen machen einfach ein Command-Fenster auf, und tippen "HELP", 
oder wie das Zauberwort zur Dokumentation halt so heisst. Ganz ohne 
link.

Oliver
Gast #5939160
Lesenswert?

Der Rüdiger schrieb:
> Hintergrund ist der, dass beim kopieren eines Backups über LAN auf einen
> NAS die Dateien auf Konsistenz geprüft werden soll.
>
> Es ist etwas umständlich, jede Datei einzeln anzuklicken und deren CRC
> z.B. mit HashTab(*) zu überprüfen.

Entweder du verwendest zum kopieren so etwas wie rsync, das kann das
oder du erstellst mit einem Skript eine Hashliste mit aller zu 
überprüfenden Dateien auf deinem Rechner und deinem NAS und vergleichst 
dann die beiden Listen miteinander.
Gast #5939162
Lesenswert?

Nano schrieb:
> und vergleichst
> dann die beiden Listen miteinander.

Und das geht natürlich auch per Skript und sollte auch so durchgeführt 
werden.
Also kein manueller Vergleich.

Am einfachsten wäre wohl die beiden Listen als Datei zu speichern und 
nochmal zu Hashen und dann die beiden Hashs zu vergleichen.
Wenn die identisch sind, passt alles, wenn nicht, dann musst du genauer 
schauen und gucken, welcher Listeneintrag nicht identisch ist.

Die Listen sollten dann aber das gleiche Format und die gleichen Pfade 
haben.
Gast #5939173
Lesenswert?

Das klingt hier aber dramatischer als es ist, auf dem Weg zum NAS gibt 
es durchaus noch einige Sicherungsschichten z.B. in TCP. Da muss schon 
etwas nicht mit rechten Dingen zugeht, damit ein kaputter Block auch 
wirklich auf der HDD landet. Ich würde regelmäßig Memtest auf dem NAS 
anwerfen.
Gast #5939184
Lesenswert?

Oliver S. schrieb:
> Alle anderen machen einfach ein Command-Fenster auf, und tippen "HELP",
> oder wie das Zauberwort zur Dokumentation halt so heisst. Ganz ohne
> link.

muuaahhh - "HELP"
Das umfangreiche Windows-Wiki in dem jede Kleinigkeit umfassend 
beschrieben ist ^^

Selbst in der ComputerBild oder im Chip Spezial "Die (wirklich) geheimen 
Tricks von Windows" dürfte mehr Information enthalten sein, als im 
"HELP" :)
#5940300
Lesenswert?

Peter D. schrieb:
> Thomas S. schrieb:
>> einfach Robocopy verwenden
>
> Nö, das kann kein Verify.
> Schlimmer noch, es setzt die Zielgröße auf die Quellgröße, noch bevor
> das Kopieren abgeschlossen ist. Eine Datei kann also trotz identischer
> Größe halb leer sein.

Oh.... das habe ich noch nicht bemerkt, aber bei Abbruch einer Operation 
kann es auch zu dem Problem kommen. Sonst hatte ich noch keine 
Probleme.. hab auch immer die Version XP010 verwendet, da die wenig 
Probleme macht.

Sonst nutz ich Totalcommander mit der Option  Ordner synchronisieren 
"nach Inhalt" das klappt gut

Aber auf NAS kopieren und sich an Schutzmechanismen vom Netzwerk zu 
orientieren ist nicht sinnvoll, Fehler die beim Lesen von der HDD 
entstehen sind nicht abgedeckt.

Ich hatte einen Effekt, wollte ein Restore von einem DVD-Image für einen 
Rechner machen, kam immer die Fehlermeldung "kann nicht von DVD lesen".. 
bis ich merkte das es einen RAM-Fehler gab, der zu der Fehlermeldung 
führte.. also in der Kette vom Lesen, bis zum Schreiben auf dem Medium 
können schon die unterschiedlichsten Probleme auftreten
Gast #5940406
Lesenswert?

Jeffrey L. schrieb:
> Oliver S. schrieb:
>> Fazit, auch wenns wehtut: RTFM
>
> Blödsinnige Antwort. das "Manual" zu Windows ist genau wo? und wo genau
> steht dann, dass der Kopiervorgang nicht mit auf Konsitenz überprüft
> wird.
> Bitte liefere doch einen Link nach - natürlich zum Original-Handbuch bei
> MS, kein dubiöser Blogeintrag von jemanden, der das einfach nur mal so
> behauptet - wie z.B. Du!

Ein allgemeines Manual gibt es zwar nicht, aber die Parameter zu den 
"DOS"-Befehlen sind sehr wohl offiziell dokumentiert:

https://docs.microsoft.com/de-de/windows-server/administration/windows-commands/windows-commands#d

Auch wenn da "windows-server" in der URL steht, bezieht sich das auch 
auf Windows 10.

Direkt zum COPY Befehl geht es hier:

https://docs.microsoft.com/de-de/windows-server/administration/windows-commands/copy

Da steht dann auch, dass der Kopiervorgang mit /v verfiziert wird.
Das gleiche gibt auch "COPY /V" in der Kommandoziele aus.

Im grafischen Windows Explorer gibt es diese Option AFAIK nicht.

Die Doku zu den Befehlen findet man übrigens schnell in der Suchmaschine 
mit
1
copy command line parameter site:microsoft.com
Gast #5940426
Lesenswert?

Der Rüdiger schrieb:
> Es ist etwas umständlich, jede Datei einzeln anzuklicken und deren CRC
> z.B. mit HashTab(*) zu überprüfen.
> Eigentlich erwarte ich von einem guten OS, dass nach dem Kopiervorgang
> die neu erstellte Kopie mit dem Original verglichen wird.

Das geht auch direkt mit dem Befehl FC.

Eigentlich wäre es schöner, wenn das OS eine Prüfsumme (genauer der 
Teil, der für das Dateisystem zuständig ist) im Hintergrund berechnen 
und in den Metadaten der Datei speichern würde, wenn Zeit dafür ist. 
Beim Kopieren also direkt (die CPU schafft das locker), bei kleinen 
Änderungen eben versetzt. Dann könnte man einfach die Prüfsummen der 
Dateien (lokal und remote) vergleichen.

Bei NTFS gibt es so etwas aber nicht (und bei FAT32 & Co. natürlich erst 
recht nicht). Bei ReFS gibt es zwar den Integrity Stream, aber ich weiß 
nicht, ob man einfach an die Prüfsumme gelangt.

Für den Eigenbedarf hat man aber auch schnell ein Progrämmchen 
geschrieben, dass alle Dateien eines Verzeichnisses z.B. per MD5 
vergleicht.

Wer C# nicht mag, kann daas auch mit der PowerShell erledigen:
1
Get-FileHash {filename} -Algorithm MD5
#5940434
Lesenswert?

Teo D. schrieb:
> Thomas S. schrieb:
>> Sonst nutz ich Totalcommander mit der Option  Ordner synchronisieren
>> "nach Inhalt" das klappt gut
>
> Mach ein Häkchen bei Verifizieren!
> Das als Default, unter Einstellungen/Kopieren-Löschen unten bei den
> Kopieroptionen.

Das kenne ich schon als langjähriger Nutzer, aber das benötige ich im 
Normalfall nicht. Nur wenn ich sehen will ob z.B. mein Backup noch 
aktuell ist oder bestimmteDateien neu geschrieben werden sollen.

Bei Sourcen hab ich mir z.B. ein Script geschrieben, da wird die 
komplette Struktur der Sourcen mit 7Zip gepack und habe dann einen 
"Snapshot" vom Source und gleich mit Passwort verschlüsselt incl. der 
Dateinamen dass der Bitdefender nicht bei jedem Scan alles wieder scannt 
und löscht
Gast #5940511
Lesenswert?

Man könnte das eigentlich recht einfach herausfinden, ob der 
Dateimanager von Windows eine Überprüfung der Kopie nach dem kopieren 
durchführt.

Dazu installiere man Windows einfach in eine virtuelle Maschine wie 
qemu.
Für QEMU legt man zwei raw Disk Image als Festplatte für Windows an.
Anschließend installiert man Windows auf eine und formatiert beide mit 
NTFS.

Wenn das getan ist, bootet man dieses Gast Windowssystem innerhalb der 
virtuellen Maschine.
Jetzt muss man nur noch eine große Datei nehmen und von der einen 
virtuellen Festplatte auf die andere kopieren.
Während das Gastsystem den Kopiervorgang durchführt, guckt man sich mit 
Diskmon an, an welche Adresse die Datei geschrieben wird.
https://docs.microsoft.com/en-us/sysinternals/downloads/diskmon

Diese Adresse nehmen wir dann als Ziel um vom Hostsystem aus in das 
Image der virtuellen Festplatte an der entsprechenden relativen Adresse 
ein paar Bytes und Bits zu ändern.
Man sollte allerdings darauf achten, dass man wirklich nur im Bereich 
dieser Datei herumschreibt und nicht mit den Bordmitteln des Hostsystems 
und einer Adressangabe irgendwo mit dd auf der richtigen Partition des 
Hosystems herumpfuscht.
Die virtuelle Festplatte zu mounten dürfte das Gastystem zu sehr 
durcheinander bringen und kann ich daher nicht empfehlen. Aber gezielt 
einzelne Bits und Bytes in der Datei zu ändern, das sollte gehen.
Man sollte ein Programm verwenden, das es erlaubt in dieser Datei 
Änderungen vorzunehmen, während diese von einem Prozess, hier die VM 
geöffnet und beschrieben wird.

Die Datei sollte so groß sein, dass das Gastsystem immer noch am 
kopieren ist, wenn das dann fertig ist, sollte eine Überprüfung 
feststellen können, dass ein paar Bits und Bytes, die wir zuvor über das 
Host OS verändert haben, fehlerhaft sind.

Damit das funktioniert muss natürlich das kopieren vor dem überprüfen 
stattfinden. Das ist eine Annahme die ich hier mache.
Wenn der Kopieralgorithmus aber so beschaffen ist, dass die Datei 
Blockweise kopiert und überprüft wird, also bspw. n Bytes schreiben, 
dann die n Bytes überprüfen und dann die nächsten n Bytes schreiben und 
dann diese überprüfen usw.. dann funktioniert das natürlich nicht, weil 
wir nicht schnell genug die Datei über das Hostsystem manipulieren 
können.

Es empfiehlt sich, die virtuelle Festplatte auf einer richtigen 
Festplatte anzulegen, damit gewinnt man etwas Zeit, weil die langsamer 
ist, als eine SSD.
Gast #5940585
Lesenswert?

Teo D. schrieb:
> Nano schrieb:
>> Man könnte das eigentlich recht einfach herausfinden,
>
> Dann mach doch! ;)

Das überlasse ich dem TS, der möchte es wissen, ich habe ihm nur den 
Tipp gegeben wie er es herausfinden könnte.

Ich mache solche Kopiervorgänge mit rsync und nutze dafür ohnehin Linux.
Außerdem lege ich noch Prüfsummen an, so dass ich die Daten auch später 
auf Fehler prüfen kann. Siehe oben mein erstes Posting.
Gast #5940590
Lesenswert?

Oliver S. schrieb:
> Nano schrieb:
>> Man könnte das eigentlich recht einfach herausfinden, ob der
>> Dateimanager von Windows eine Überprüfung der Kopie nach dem kopieren
>> durchführt.
>
> Könnte man alles machen, muß man aber nicht, weil er nichts überprüft.
>
> Oliver

Ich habe auf die Schnelle leider keine offizielle Dokumentation dazu 
gefunden und würde daher sagen, dass es nicht klar ist.
Aber du kannst gerne eine offizielle Quelle angeben, wo das steht.
#5940671
Lesenswert?

Teo D. schrieb:
> Thomas S. schrieb:
>> Sonst nutz ich Totalcommander mit der Option  Ordner synchronisieren
>> "nach Inhalt" das klappt gut
>
> Mach ein Häkchen bei Verifizieren!
> Das als Default, unter Einstellungen/Kopieren-Löschen unten bei den
> Kopieroptionen.

kann der das auch beim (nach dem) "Verschieben" verifizieren?

also erst kopieren, Ziel verifizieren, Quelle löschen.

ich finde verschieben nützlicher weil man beim Abbruch sieht was noch zu 
tun ist, beim Kopieren weiss man nach dem Abbruch nicht was noch zu tun 
ist, da geht das Spiel von vorne los.
#5940747
Lesenswert?

Joachim B. schrieb:
> kann der das auch beim (nach dem) "Verschieben" verifizieren?
>
> also erst kopieren, Ziel verifizieren, Quelle löschen.

Ja, genau dafür nutze ich das.
Den Hash dann auch noch als Datei ablegen geht glaube ich nicht o. ich 
habs einfach noch nicht gefunden(?). :/
Getrennt von Move/Copy natürlich schon.

Joachim B. schrieb:
> ich finde verschieben nützlicher weil man beim Abbruch sieht was noch zu
> tun ist, beim Kopieren weiss man nach dem Abbruch nicht was noch zu tun
> ist, da geht das Spiel von vorne los.

Nicht beim TC. Der fragt nach was er tun soll. Nur diese, alle, 
keine....

PS: Sie ihn dir halt mal an. Das ganze rumgeschiebe etc. kann man auch 
in eine Warteschlange verlegen. zB. Das Mehrfach umbenenn Tool, lasst 
keine Wünsche über......
#5940946
Lesenswert?

Teo D. schrieb:
> Joachim B. schrieb:
>> kann der das auch beim (nach dem) "Verschieben" verifizieren?
>>
>> also erst kopieren, Ziel verifizieren, Quelle löschen.
>
> Ja, genau dafür nutze ich das.

na danke

"Bei Total Commander (Publisher: Christian Ghisler) handelt es sich um 
Shareware. Zu Testzwecken dürfen Sie den Dateimanager für die Dauer von 
30 Tagen unter die Lupe nehmen. Die Vollversion schlägt mit 37 Euro zu 
Buche."
#5941181
Lesenswert?

Teo D. schrieb:
> "Uneingeschränkt nutzbar" für Profis sind doch 38€ ein Klackts zum
> absetzen....

Profis kopieren nicht den ganzen Tag nur Dateien hin und her um sich an 
den schönen Dateikopierfunktionen von irgend nem kostenpflichtigen 
Dateimanager zu erfreuen. Profis arbeiten an viel kniffligeren und viel 
abstrakteren Problemen und wenn sie nebenbei als Mittel zum Zweck alle 
paar Tage mal am 5 Dateien irgendwo anders hin kopieren müssen bekommen 
sie das auch mit dem Windows Explorer hin. Und wenn es jedesmal die 
selben 5 Dateien sind schreiben sie sich kurzerhand ein Script.

Was soll das für eine Profession sein bei man Geld dafür bekommt daß man 
den ganzen Tag manuell Dateien irgendwo in der Gegend herumschiebt damit 
sich sowas auch nur ansatzweise lohnt würd mich mal interessieren?
#5941257
Lesenswert?

Bernd K. schrieb:
> Was soll das für eine Profession sein bei man Geld dafür bekommt daß man
> den ganzen Tag manuell Dateien irgendwo in der Gegend herumschiebt damit
> sich sowas auch nur ansatzweise lohnt würd mich mal interessieren?

Erstens, kann man damit um einiges mehr anstellen, als nur Dateien 
schubsen.
Zweitens, soll es Sysadmins und ähnliche verrückte geben.
Drittens, du hast das zitierte nicht verstanden!
#5941275
Lesenswert?

Teo D. schrieb:
> Zweitens, soll es Sysadmins und ähnliche verrückte geben.

Sysadmins schieben auch keine Dateien rum. Sysadmins schreiben Scripte 
die an ihrer Stelle die Dateien automatisch rumschieben weil sie für so 
langweiligen Quatsch gar keine Zeit haben und im Rest der Zeit lesen sie 
Full Disclosure und ähnliche Listen um am Ball zu bleiben, greppen ihre 
Logfiles um nach Auffälligkeiten zu suchen oder schreiben ein Script das 
das automatisch macht und überlegen sich wie man irgendwas noch weiter 
verbessern und noch einfacher machen kann. Und wenn sie es wissen dann 
schreiben sie ein Script das das dann macht.

Also ein guter Texteditor, ne Konsole und die GNU-Tools und ein paar 
Scriptsprachen dürften mit Abstand die wichtigsten Werkzeuge für einen 
Sysadmin sein.
#5941322
Lesenswert?

Bernd K. schrieb:
> Sysadmins schieben auch keine Dateien rum. Sysadmins schreiben Scripte
> die an ihrer Stelle die Dateien automatisch rumschieben weil sie für so
> langweiligen Quatsch gar keine Zeit haben

Bingio, das sind oft wirklich faule Hunde. Wenn deren Scripte nur 
einmal Verwendung finden sollen, sind die kaum in die Puschen zu 
bekommen und lesen lieber Ihre Heftchen weiter. Und dann noch die armen 
Schweine, die sich mit Windows rumplagen müssen.... Drück denen mal ne 
Linux-Platte in die Hand, da rotieren die um Ihre HW, das es raucht.
....
...

Egal du hast natürlich recht, bist seit Jahrzehnten in dem Bereich tätig 
und hast TC natürlich auf Herz u. Nieren geprüft....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren