MacとWindowsで共用のUSB-HDDのフォーマットをNTFSにした(MacからはReadOnly)

MacWindowsの両方から参照するデータ保存用のUSB-HDDで最初はExFatでフォーマットしたものを使っていたがNTFSでフォーマットしたものを使うことにした話

 

書こうと思ってから日が経ち過ぎて細かいところを覚えていないのでとりあえず覚えている範囲で備忘録として残す

 

ExFatNTFSに比べて余計にディスク容量を消費する

 MacWindowsの両方から読み書きできるフォーマットとしてExFatを勧める記事をよく見かけるので最初はExFatで使っていた

いろいろコピーしているとコピー前に元々使っていた容量よりも、ExFatでは多くの容量を消費していることに気が付いた

クラスタサイズやアロケーションユニットサイズと呼ばれるものが関係していた(HDDでデータを管理する際の最小単位のようなもの)

現在の設定の簡単な確認方法が見つけられなかったのでサイズが1バイトのファイルを作ってみたところ容量3TバイトのExFatのHDDでは「ディスク上のサイズ:256KB(262,144バイト)」となった

どんなに小さなファイルでも 最低256KB消費する

保存してあるファイルの多くはデジカメで撮った画像ファイルで1つ6MBぐらいあるので4%程度の差と思えばそれほど気にしなくてもいいかも知れないが…

 

NTFSの場合クラスタサイズは4KB(3TBのHDDの場合)なので無駄になる容量が少なくて済む

ExFatからNTFSへの変換は簡単にはできなさそうだったので、もう1台HDDを買ってコピーした

 

Macから書き込み可能なExFatにはWindowsでは不要なファイルができる

Macにつないでいた(ExFatの)HDDをWindowsから見ると .Trashes や .fseventsd といったファイル、フォルダがあるのに気が付く(消してしまったので正確な名前は覚えていない .Spotlight-?みたいなファイルもあった気がする)

Macでファイルを管理するのに必要なようだがファイル名と日付を見れば分かるようなファイルばかりなので特別な管理は不要

必要に応じて勝手に作成されるので消してしまっても大丈夫なのだが、見つけるたびに「この.Trashesって消しても大丈夫だったよな…」と思いながらネットで検索して確かめたりして無駄な時間がかかっていた

さらにこの勝手に作成されるファイルはサイズは小さいがファイル一つにつき一つ作成されるので先のクラスタサイズの関係で256KBずつHDDの容量を消費する(ExFatの方が多めに容量を消費する主因はこれだったように思う…違いが4%ならたぶん気づいていなかった)

特に必要性を感じていない(Windowsでは使われていない)ファイルのせいで時間やディスク容量を無駄にしていたが、Macから直接書き込みしない(できない)ということにしてしまえば解決する

書き込み時はWindowsを経由することにしてMacからは基本ReadOnlyということにしてもそれほど困らないのでそうすることにした

 

ファイル名の衝突についての注意事項(8.3形式)

細かいところを覚えていないので中途半場な内容なのだが…

元々はMacのHDDに保存してあったファイルをExFatのHDDにコピーしてあってそれをNTFSのHDDにコピーしなおしたように思う

全部コピーした後にツールを使って確認したところ一部のファイルがコピーできていなかった

原因はMacでは長い名前のファイルだったものがWindows側にコピーされたときに短い名前(8.3形式…この辺の歴史については割愛)も同時に付けられていて、短い名前にした時に同じ名前になるファイルをコピーすると上書きされていた(2つのうち片方しか残っていなかった)というものだった

一部の古いプログラムでは8.3形式のファイル名でないと動かないものもあるようだが今さら古い8.3形式のファイル名などいらないだろうということで8.3形式の名前の保存を無効にした

細かいところは覚えていないがたぶんこの辺りの記事を参考にした気がする

8.3形式の短いファイル名を生成しないようにする − @IT

ディスク(内臓、外付け、フォーマットの種類)によってデフォルトの動作が違っていたので場合によっては何もしなくても大丈夫だったはず

 

Hatena Blogから別のところに移った後に書くつもりで保留にしていたのだが、日が経って書くつもりの内容自体忘れてきて、OSのアップデートなどで内容が合わなくなってきたりもしそうなのでとりあえず備忘録として書いておいた

もう一度似たような作業をすることになったら書き直すかもしれない