Wie am besten alle Daten einer Festplatte eines alten Windows 7 Systems auf externe Festplatte kopieren?

eYc schrieb:
Wenn du da bei einem Live-System, welches du nur einmalig zum kopieren deiner Dateien startest, Bedenken hast, dann einfach offline ohne LAN-/Internetverbindung verwenden. Beim nächsten Start ist sowieso wieder alles auf Anfang. ;)
Auch wenn ich da nicht von ausgehe, könnte ein Live System ja rein theoretisch Veränderungen am auf der Festplatte installieren System vornehmen...
 
Das kann Windows schon alleine, dazu braucht man Linux wirklich nciht. :lol:
 
St0nks! schrieb:
Auch wenn ich da nicht von ausgehe, könnte ein Live System ja rein theoretisch Veränderungen am auf der Festplatte installieren System vornehmen...
Das wäre ja im Bereich Trojaner. Wobei das in Deinem Fall ja nicht so wirksam wäre, weil Du das zu sichernde System ja offensichtlich nicht weiter aktiv nutzen willst. Aber da muss man sich bei Ubuntu&Co. aus den offiziellen Quellen keine Gedanken machen.

Ansonsten bietet sich bei solchen Frage eine Verschlüsselung der Systemplatte an. Dann könnte ein Livesystem nur 1:1 die Sektoren sichern und könnte nicht an die Inhalt kommen, also auch nichts dort platzieren.
 
St0nks! schrieb:
Ja, das, also wie vertrauenswürdig verschiedenen Distributionen sind, ob da irgendwas unbemerkt gesendet wird.

St0nks! schrieb:
Auch wenn ich da nicht von ausgehe, könnte ein Live System ja rein theoretisch Veränderungen am auf der Festplatte installieren System vornehmen...

Viele hier im Forum verwenden Dual-Boot Linux und Windows, sollte da etwas sein, wäre dies bekannt.

Habe selbst mal Manjaro (KDE Edition) getestet und alles war in Ordnung.
 
Tulol schrieb:
Wieso sollte man dateien die in benutzung sind nicht kopieren können?!
Weil es davon abhängt, wie die Datei vom jeweiligen Prozess geöffnet wurde und was andere Prozesse, oder andere Operationen im selben Prozess, währenddessen duchführen können.

Die User-Registry deines Benutzers ist so ein Beispiel (%userprofile%\ntuser.dat ). Die kannst du nicht kopieren, solange der User eingeloggt ist und selbst danach ist erstmal ein Neustart notwendig, damit die Datei wieder freigegeben wird.

Hier mal ein PowerShell-Script mit einer Datei in C:\temp, welches einen Fehler verursacht, weil wir den Datei-Zugriff komplett blocken via [System.IO.FileShare]::None
C:\temp kannst du nach der Script-Ausführung wieder löschen, sofern du das Verzeichnis nicht verwendest.

PowerShell:
Write-Verbose 'Temp Ordner erstellen ...' -Verbose
$tempDir = New-Item -Path 'C:\temp' -ItemType Directory -Force -Verbose

Write-Verbose ('-' * 75) -Verbose

Write-Verbose 'Nicht existierenden Temp-Datei-Pfad erzeugen ...' -Verbose
do {
} while (Test-Path -LiteralPath ($tempFilePath = Join-Path -Path $tempDir -ChildPath ([System.IO.Path]::GetRandomFileName())))
Write-Verbose ('Temp Datei: "{0}"' -f $tempFilePath) -Verbose

Write-Verbose ('-' * 75) -Verbose

Write-Verbose 'Temp-Datei exklusiv öffnen und andere Prozesse oder Datei-Operationen keinen Zugriff gewähren ...' -Verbose
$fileStreamWithFileHandle = [System.IO.File]::Open($tempFilePath, [System.IO.FileMode]::OpenOrCreate, [System.IO.FileAccess]::ReadWrite, [System.IO.FileShare]::None)

Write-Verbose ('-' * 75) -Verbose

Write-Verbose 'Mit unserem File Handle ''This is a test!'' in die Datei schreiben ...' -Verbose
$textBytes = [System.Text.UTF8Encoding]::new().GetBytes('This is a test!')
$fileStreamWithFileHandle.Write($textBytes, 0, $textBytes.Count)

Write-Verbose ('-' * 75) -Verbose

Write-Verbose 'Erster Versuch die Datei zu kopieren, ohne unseren File Stream mit File Handle von oben zu verwenden. ...' -Verbose
Write-Verbose ' (Simuliert auch den Zugriff eines anderen Prozesses)' -Verbose
do {
} while (Test-Path -LiteralPath ($destinationFilePath = Join-Path -Path $tempDir -ChildPath ([System.IO.Path]::GetRandomFileName())))
Copy-Item -LiteralPath $tempFilePath -Destination $destinationFilePath -Verbose

Write-Verbose ('-' * 75) -Verbose

Write-Verbose 'File Stream + File handle schließen ...' -Verbose
Write-Verbose ' (Dadurch ist die Datei wieder für andere Prozess les- und beschreibbar)' -Verbose
$fileStreamWithFileHandle.Dispose()

Write-Verbose ('-' * 75) -Verbose

Write-Verbose 'Zweiter Versuch die Datei zu kopieren, ohne unseren File Handle von oben zu verwenden. ...' -Verbose
Copy-Item -LiteralPath $tempFilePath -Destination $destinationFilePath -Verbose

Das Script gibt folgendes zurück:
(man beachte Zeile 14-19)
PowerShell:
VERBOSE: Temp Ordner erstellen ...
VERBOSE: Performing the operation "Create Directory" on target "Destination: C:\temp".
VERBOSE: ---------------------------------------------------------------------------
VERBOSE: Nicht existierenden Temp-Datei-Pfad erzeugen ...
VERBOSE: Temp Datei: "C:\temp\bkxqpufg.jvo"
VERBOSE: ---------------------------------------------------------------------------
VERBOSE: Temp-Datei exklusiv öffnen und andere Prozesse oder Datei-Operationen keinen Zugriff gewähren ...
VERBOSE: ---------------------------------------------------------------------------
VERBOSE: Mit unserem File Handle 'This is a test!' in die Datei schreiben ...
VERBOSE: ---------------------------------------------------------------------------
VERBOSE: Erster Versuch die Datei zu kopieren, ohne unseren File Stream mit File Handle von oben zu verwenden. ...
VERBOSE:  (Simuliert auch den Zugriff eines anderen Prozesses)
VERBOSE: Performing the operation "Copy File" on target "Item: C:\temp\bkxqpufg.jvo Destination: C:\temp\4k3x3ep2.dqe".
Copy-Item : The process cannot access the file 'C:\temp\bkxqpufg.jvo' because it is being used by another process.
At line:28 char:1
+ Copy-Item -LiteralPath $tempFilePath -Destination $destinationFilePat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], IOException
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand

VERBOSE: ---------------------------------------------------------------------------
VERBOSE: File Stream + File handle schließen ...
VERBOSE:  (Dadurch ist die Datei wieder für andere Prozess les- und beschreibbar)
VERBOSE: ---------------------------------------------------------------------------
VERBOSE: Zweiter Versuch die Datei zu kopieren, ohne unseren File Handle von oben zu verwenden. ...
VERBOSE: Performing the operation "Copy File" on target "Item: C:\temp\bkxqpufg.jvo Destination: C:\temp\4k3x3ep2.dqe".
 
Zuletzt bearbeitet:
Zurück
Oben