Dies ist weniger eine Antwort als eine Reihe von Hinweisen. Auf dieser Seite wird zunächst erwähnt, dass die Ausführung des dd
Befehls auf einer NTFS-Partition die Partition beschädigen kann. Keine Ahnung warum und keine Ahnung, ob es wahr ist, aber ich dachte, es sei erwähnenswert:
Wenn / mnt / home ein NTFS-Laufwerk ist, verwenden Sie nicht dd (das Schreiben auf Ihr NTFS-Laufwerk kann das Dateisystem beschädigen.)
Unabhängig von den Details scheint das Erstellen einer Auslagerungsdatei auf einer NTFS-Partition in der Tat problematisch zu sein:
$ dd if=/dev/zero of=swap.img bs=1024k count=4k 4096+0 records in 4096+0 records out 4294967296 bytes (4.3 GB) copied, 122.731 s, 35.0 MB/s $ mkswap swap.img $ sudo swapon swap.img swapon: /winblows/swap.img: skipping - it appears to have holes.
Derselbe Prozess, der auf einer ext4-Partition ausgeführt wird, ist fehlerfrei und scheint einwandfrei zu funktionieren, was darauf hinweist, dass das Problem das NTFS-Laufwerk ist. Beim Verschieben der Datei, die von der ext4-Partition in die NTFS-Partition funktionierte, wurde swapon
derselbe Fehler "Datei hat Löcher" gegeben. Es ist also wirklich nicht die Datei, sondern die Partition.
Dies kann ein Problem sein, das durch die Fragmentierung meines Laufwerks verursacht wurde. Ein Benutzer in diesem Forum hat jedoch bekanntgegeben, dass er dasselbe Problem auf einem neu formatierten Laufwerk erhält, das nur 2 Dateien enthält. Es scheint also, als wäre die Fragmentierung kein Problem.
Auf der einen Seite ntfs-3G
lautet die FAQ (das ist das Modul, das vom Kernel zum Mounten und für den Zugriff auf NTFS-Partitionen verwendet wird) :
Kann ich die Auslagerungsdatei sicher und ohne Deadlock unter NTFS verwenden?
Ja, das ist möglich, wenn es richtig eingerichtet ist. Das folgende Beispiel zeigt, wie Sie eine 2-GB-Auslagerungsdatei sicher und ohne Deadlock erstellen, initialisieren und aktivieren:
dd if=/dev/zero of=swapfile bs=1M count=2000 mkswap swapfile swapon swapfile
Sie müssen die Auslagerungsdatei mit 'swapoff' deaktivieren, bevor Sie NTFS deaktivieren können. Bitte beachten Sie auch, dass andere Lösungen, z. B. die Verwendung von Swap auf einem Loop-Gerät, nicht sicher sind und zu Deadlocks führen können!
Sie scheinen zu glauben, dass es funktionieren sollte. Auf der anderen Seite, wenn ich die obigen Befehle ausführen, erhalte ich den gleichen Fehler "Datei hat Löcher".
Obwohl ich keine schlüssigen Informationen finden kann, kann ich es unter NTFS nicht funktionieren lassen. Ich habe verschiedene Beiträge gefunden, die darauf schließen lassen, dass die Verwendung einer NTFS-Partition für eine Auslagerungsdatei eine schlechte Idee ist oder die verschiedene Probleme beschreibt, die Benutzer beim Versuch derselben hatten. Fazit: Wenn Sie NTFS vermeiden wollen, ist dies wahrscheinlich eine gute Idee.