xcopyで「相手側のファイル システムはセキュリティ情報をサポートしていません。」が出る原因と対処法
xcopyで「相手側のファイル システムはセキュリティ情報をサポートしていません。」が出る原因
xcopyで「相手側のファイル システムはセキュリティ情報をサポートしていません。」が出る原因は下記2つの条件が重なったことです。
1つ目は、コピー元のファイルシステムがNTFSでコピー先のファイルシステムがFAT/FAT32であることです。
XP以降のWindowsでは、標準のファイルシステムがNTFSというものになっています。
NTFSでは、旧来使用されていたFATとは異なり、アクセス制御リスト(ACL)という機能が備わっています。
ACLの機能はざっくりいうと「誰がそのファイルにアクセスできるかを設定できる」という機能です。
このエラーが出たとき、おそらくxcopyでWindowsのデータをUSBにバックアップしようとしているのではないかと思いますが、USBメモリの多くはWindowsだけでなくMacなどでの利用も想定して、FATかFAT32でフォーマットされています。
このACLというものはFAT/FAT32ではサポートされていないため、エラーが発生してしまうんですね。
2つ目はxcopyのオプションで /Oを設定していることです。
xcopyのオプション/Oはどういうものか、ヘルプによると、
/O ファイルの所有権と ACL 情報をコピーします。
ということで、/Oを付けると、ACLの情報をコピーしようとするわけです。
この2つの条件が重なると、ACL情報をもつNTFSから、ACL情報を持てないFAT/FAT32にACL情報をコピーしようとすることによりエラーが出てしまう、というわけですね。
対応方法1./Oオプションを外す
ではこのエラーが出た時の対応方法ですが、一番単純なのは、/Oオプションを外してしまうことです。
すると、ACL情報をコピーしなくなりますので、エラーが発生しなくなります。
ただし、当たり前ですがACL情報は保持されなくなります。
対応方法2.コピー先をNTFSでフォーマットする
どうしてもアクセス制御リストのコピーをする必要がある場合は、コピー先をNTFSでフォーマットしてあげます。すると、/Oオプションを付けていてもエラーが出ずにACL情報を保持したままコピーすることができます。
ただし、USBメモリをNTFSでフォーマットするとUSBメモリに保存されているデータは消え、それ以降Windowsでしか利用できなくなりますので、この方法はNTFSでフォーマットすることの意味をよくわかっている人のみ行ってください。