Linuxを使用したNTFSから別のNTFSへのファイルの正確なコピー


14

NTFSから外部ドライブにすべてのファイルをコピーしようとし、すべてのアクセス許可と属性を保持したいと考えています。外付けドライブにはすでにNTFSがあり、他のファイルが含まれています。

次のツールの使用を検討しました。

  • ntfscloneセクターレベルで動作し、FS全体を複製して古いデータを破壊するため、機能しません。画像ファイルの作成に使用すると、Windowsマシンからコンテンツにアクセスできません。
  • rsync すべてのメタデータが保持されるわけではありません。

代わりrobocopyに、実行中のWindows内で使用することもできますが、ファイルをコピーせずにコピーしたいです。(ソースパーティションはシステムのとして使用されC:\ます。)

ファイルをコピーするにはどうすればよいですか?


5
RSYNCが適切なパラメーターで保持しない、ここで保持しようとしている正確なメタデータは何ですか?音楽ファイルのソフトウェアタイプのメタデータまたは実際のFSの権限、構造、時間、所有者などを参照していますか?RSYNCで何を試したかはわかりませんが-AXogt、たとえばのような正しいパラメーターを使用すると、ほとんどの部分でFSメタデータが保持されるはずです。試してみて機能しないこと、およびNTFSパーティション間で保持されていない「メタデータ」を確認してください。
Pimp Juice IT

Linuxではファイル自体をバイト単位で正確にコピーできることはわかっていますが、作成、変更、アクセスなどのすべての日付が欠落しているのでしょうか。またはNTFSユーザー/所有者と権限?ファイルをWindows NTFSにコピーして戻した後で、これらの日付とアクセス許可を変更する方法はありませんか?
Xen2050 2016年

回答:


8

Linuxを通過してNTFSファイルを正確にコピーする方法はありません。LinuxのWindows互換性レイヤーであるWineでさえ、LinuxとWindowsの間でアクセス許可を相互に変換することで機能するため、(比較的小さい)最小公分母に制限されます。

私が見ることができる唯一の解決策は、仮想マシン(または物理)内でLinux上のWindowsを実行することです。

私はあなたがあなたの投稿でこの可能性について述べたと信じており、それを避けたいと思いますが、私は別の可能性を見ていません。NTFSファイルを正確にコピーできるのはWindowsだけです。LinuxはNTFSパーティションのみをコピーできます。

この記事は役立つかもしれません: Microsoftからダウンロードできる無料の仮想マシンを使用して、LinuxにMicrosoft Windowsを無料でインストールして実行する方法


よくわかりませんが、ntfs-3gのマンページによると、このオプションstreams_interface=xattrはデフォルトで設定されています。私がそれを正しく理解していれば、これはNTFSファイル属性(Windows権限を含む)がxattrLinuxの属性にマッピングされていることを意味します。以来cp -arsync -Xこの属性をコピーしない、それは正確なコピーではないでしょうか?
JojOatXGME 2018

@JojOatXGME:WindowsとLinuxのアクセス許可モデルは完全に異なります。最も基本的な属性のみが正確に対応します。
harrymc 2018

知っている。Linuxがこの属性を理解しているとは私は主張しませんが、xattr属性はオペレーティングシステムが理解する必要のないキーと値のパリです。ntfs-3gは、Windowsのアクセス許可をxattr属性として使用できるようにしますsystem.ntfs_acl。同じことがNTFSの他のmatadataにも当てはまるようです。rsync -Xまたはを使用するとxattr属性がコピーされるためcp -a、メタデータもコピーされる場合があります。の具体的な制限xattrと実装に依存しntfs-3gますが、私には可能に見えます。
JojOatXGME 2018

1

まず最初に、ファイルをコピーしたい場合は、決心する必要があります...

または、「古いデータ」、「その他のファイル」、および上記で非常に広く言及している「すべてのメタデータ」を含む、NTFSパーティションの完全なセクターごとのコピーを作成したい場合。

後者の場合は、ddを使用します。

dd if=/dev/sda2 of=/mnt/usbdisk/my-ntfs-partition-D.img bs=1M

楽しんで。


2
まあ、私は決心しました、そしてそれはすでに問題になっています。関連するすべてのメタデータを含むファイルをコピーしたい。ソースFSおよび宛先FSはNTFSであり、同じ機能を備えているため、これは可能です。ddFS情報が考慮されないため、使用するのは適切ではありません。NTFSを使用ntfscloneしている場合は、常にイメージの作成に使用する必要があります。
Scolytus 14

この場合、robocopyor ntfscopy(tzworks.net/prototype_page.php?proto_id=9)を使用しますが、Linuxではどちらも使用できません。
Paxsali 2014

さて、私もrobocopy私の質問で述べました。だから私はあなたの余裕に感謝しますが、それは私の質問への答えではありません。
Scolytus 14

1

LinuxはNTFSファイルの内容を問題なくコピーできますが、変更/作成/アクセスされた日付と属性のすべてではありません(保存したいものだと思います)。

それでは、現在の日付と属性をメモして(dirそれらを表示できるはずです)、Linuxでファイルをコピーし、Windowsを実行したら、日付と属性を元に戻します。

次のいずれかのように、ファイルを変更できるWindowsのツールを使用します。

どうやら、Windows独自のファイルエクスプローラーも、すべてのファイルの日付を適切に保存することはできません。ただし、zipおよびcygwinのtarコマンドはファイルの日付を保存する必要があるため、Windowsでそれらのいずれかを使用して最初にアーカイブを作成することもできます。次に、古い方法でアーカイブをコピーします。


属性が非常に重要で、Windowsでもコピーするのが難しい場合は、おそらくテキストファイルまたはデータベースにバックアップするか、ファイル名の一部にする必要があります...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.