mac windows ファイル フォーマット|渡す前に決める3つの分岐
USBメモリを相手に渡したら開けないと言われた、外付けディスクをつないだのに書き込みだけができない、圧縮して送ったら中身の名前が読めない文字列になっていた。mac windows ファイル フォーマットで検索する動機はだいたいこの3つのどれかで、しかも原因は3つとも別の層にあります。同じ「フォーマット」という言葉で語られているせいで、ディスクの話をしているのか、ファイル名の話をしているのかが混ざります。ここでは層を分けて、どこを直せば手元の症状が消えるのかを先に切り分けます。
「フォーマット」が指しているものが2つある
日本語で「フォーマットする」と言うとき、多くの場合はディスクを初期化する作業を指します。一方で「ファイルのフォーマット」と言えば、それは書類の形式、つまり拡張子の話です。検索結果に両方が混ざって出てくるのはこのためで、記事を読み進めても自分の症状に当たらないのは、たいてい別の層の記事を読んでいるからです。
層は3つに分かれます。1つ目はディスクそのものの形式で、これは書き込む前に決めるものです。あとから変えるにはディスクを消すしかありません。2つ目はパーティション方式で、これも初期化のときに一緒に決まります。3つ目はディスクの上に置くファイルの名前と付随物で、これは書き込むたびに毎回発生します。
症状で見分けると早いです。相手のパソコンにディスク自体が出てこないなら2つ目、ディスクは見えるのに大きなファイルだけ書けないなら1つ目、ディスクも中身も見えているのに一部のファイルだけ名前が壊れているなら3つ目です。3つ目は初期化しても直りません。
ディスクユーティリティが実際に作れる形式
Appleが公開している資料では、ディスクユーティリティで扱える形式は大きく2系統として整理されています。macOS 10.13以降の標準であるAPFS系と、Windows互換の系統です。Windowsと共有するディスクの場合、選ぶのは後者になります。
境目は容量で決まっていて、Appleの手順書に数字がそのまま書かれています。
MS-DOS(FAT): ディスクのサイズが32 GB以下の場合は、このフォーマットを選択します。exFAT: ディスクのサイズが32 GBを超える場合は、このフォーマットを選択します。 出典: support.apple.com
同じページには、ボリューム名の最大文字数が11文字だという注意も書かれています。ここを長い日本語の名前にしようとして弾かれ、名前が付けられないから初期化に失敗したと勘違いする例があります。半角英数字で短く付けるのが無難です。
もう1つ、選択肢に無いものを知っておくと迷いません。NTFSはディスクユーティリティの「フォーマット」メニューに出てきません。Windowsで初期化したディスクの多くはNTFSなので、Macにつなぐと読めるのに書けない状態になります。この場合、中身を退避してからexFATで初期化し直すのが素直な手順です。逆にAPFSやMac OS拡張で初期化したディスクは、Windows側で標準では扱えません。どちらのOSが不自由になるかを選んでいるだけで、両方が満足する形式はexFATとMS-DOS(FAT)の2つしかない、という構図です。
方式を間違えるとディスクごと見えない
「消去」ダイアログには「フォーマット」のほかに「方式」というメニューがあります。ここで選ぶのがパーティション方式で、GUIDパーティションマップ、マスターブートレコード、Appleパーティションマップの3択です。Appleの手順書でも、フォーマットを選ぶ前の段階でここを決める流れになっています。
初期状態ではGUIDパーティションマップが選ばれています。最近のWindowsであればこれで問題ありませんが、テレビやカーオーディオ、業務用の機械のように、USBメモリを読む相手がパソコンとは限らない場面ではマスターブートレコードのほうが通ります。相手が「認識しない」と言っていて、しかもファイルの話ですらなくディスク自体が出てこないなら、疑うのはフォーマットではなくこちらです。
この設定は「表示」から「すべてのデバイスを表示」を選んでおかないと画面に出ません。ボリュームだけを選んで消去すると方式は変えられず、ディスク本体を選んだときだけ方式のメニューが有効になります。手順どおりにやったのに選べない、という詰まり方のほとんどはここです。
コマンドラインなら選択肢がもう少し広い
ディスクユーティリティの画面に出る選択肢は、実際に作れる形式の一部です。ターミナルで diskutil listFilesystems を実行すると、初期化に使える形式の一覧が出ます。ここにはMS-DOS FAT12、FAT16、FAT32が個別に並んでいて、画面のメニューでは「MS-DOS(FAT)」としてまとめられているものを名指しできます。
これが効くのは、相手の機械がFAT32を要求してくる場面です。32GBを超えるディスクをFAT32にしたい場合、画面からは選べませんが、コマンドからは指定できます。ただしFAT32には1ファイル4GBの上限があり、動画を1本渡すだけで越えます。上限が問題になるならexFAT、相手の機械がFAT32しか読まないならFAT32、という順で決めることになります。
ここで多くの人が面倒だと感じるのは、画面のディスクユーティリティと、ターミナルのdiskutilと、実際のファイルを見るフォルダの窓が、全部別々に開くことです。フォルダとターミナルとAIが同じ窓にある状態なら、一覧を見ながら形式を確かめて、そのまま同じ画面でファイルを移す流れになります。詳しくはできることにまとめられていて、フォルダの操作とコマンドの実行を1つの窓で続けられることが主眼になっています。
日本語のファイル名で起きること
ディスクの形式が正しくても、名前で落ちます。日本語圏でとくに多いのが濁点と半濁点の扱いです。「が」という文字には、1文字として持つ書き方と、「か」と濁点の2文字に分けて持つ書き方の2通りがあります。macOSは長く後者を使ってきました。
いまのAPFSは、この2通りを同じ名前として扱います。手元で同じ名前を2通りの書き方で作ろうとすると、片方は既にあるものとして扱われます。つまりMacの中だけで完結している限り、この違いは表に出てきません。表に出るのは、exFATのディスクを経由したときや、圧縮ファイルを渡したときです。相手のWindowsでは分解された書き方がそのまま並ぶので、濁点だけが後ろにずれた文字列に見えたり、検索に引っかからなくなったりします。
圧縮して渡す場合はもう1つ注意があります。Macで作った圧縮ファイルには、Mac固有の情報を保つための付随物が入ることがあります。相手の画面には__MACOSXというフォルダや、先頭が._で始まる小さなファイル、.DS_Storeが並びます。実害は無いのですが、相手からは中身が壊れているように見えます。渡す前にdot_cleanをフォルダに掛けておくと、まとめられるものはまとめられます。
Windows側が受け付けない文字も決まっています。\ / : * ? " < > |は使えず、末尾がピリオドや空白の名前も弾かれます。Mac側では問題なく作れてしまうので、コピー中に1件だけ失敗して止まる、という形で気づきます。名前の付け方を先に揃えておくほうが、失敗してから直すより速く終わります。
取り外し方でも中身は壊れる
exFATとMS-DOS(FAT)には、APFSやMac OS拡張が持っているジャーナルの仕組みがありません。ジャーナルは、書き込みの途中で電源が落ちたときに、どこまで書けていたかを追える仕組みです。これが無い形式では、コピー中に抜いたディスクの中身が中途半端な状態で残ります。
つまり、両方のOSで使える形式を選んだ時点で、取り外しの作法が今までより重要になっています。デスクトップのアイコンをゴミ箱に入れるか、Finderのサイドバーの取り出しボタンを押すか、diskutil ejectを使うか、いずれにしてもアンマウントしてから抜きます。コピーが終わって進捗のバーが消えても、書き込みが完全に終わっているとは限りません。
相手のWindows側でも同じで、取り外しの操作をせずに抜かれたディスクは、次にMacにつないだときに修復を求められることがあります。ディスクユーティリティの「First Aid」で直ることが多いものの、直らない場合もあります。渡すディスクに原本を入れない、という運用でしか防げない部分です。
暗号化を掛けたディスクは相手側で開かない
セキュリティの都合で暗号化したい、という要望はよく出ます。ここには相性の壁があります。macOS側でAPFSの暗号化を掛けたディスクは、Windowsからは中身どころかボリュームとして扱えません。逆にWindows側でBitLockerを掛けたディスクは、macOSからは標準では開けません。暗号化はそれぞれのOSの仕組みに乗っているので、両方から読めるという条件とは両立しません。
両方から開ける形で中身を守りたい場合、掛ける対象をディスクではなくファイルに移すことになります。パスワード付きの圧縮ファイルにする、あるいは暗号化に対応したアプリの書類形式で保存する、といった方法です。この場合、ディスク自体はexFATのままで構いません。守っているのは中のファイルであって、入れ物ではないからです。
社外に渡す前提のディスクなら、そもそも原本を入れないという設計も含めて考える価値があります。渡したディスクが返ってこない、途中で紛失する、という事故は、形式の選択では防げません。
そもそもディスクを渡さないという分岐
ここまでの手順は、物理的なディスクを行き来させる前提で書いてきました。ただ、渡すものが数GB以下で、相手も同じ建物にいるなら、共有フォルダ経由のほうが判断すべきことが減ります。macOSはSMBでの共有に対応しているので、Windows側からはネットワーク上のフォルダとして見えます。この経路にはディスクの形式もパーティション方式も出てきません。
判断の目安を並べると、次のようになります。
- 容量が数十GBを超え、相手が別の場所にいる場合は、exFATで初期化した物理ディスク
- 相手の機械がパソコンではない場合は、方式をマスターブートレコードにしたMS-DOS(FAT)またはFAT32
- 同じネットワークにいる場合は、共有フォルダ
- 単発で数GB以下なら、クラウドのリンク
どれを選んでも、ファイル名の作法だけは共通で効いてきます。名前を直すのは受け渡しの直前ではなく、作るときです。
窓を行き来する回数で作業量が決まる
この記事の作業を数えると、ディスクユーティリティの窓、ターミナルの窓、ファイルを見る窓、相手に送る手段の窓の4つを行き来しています。1回の受け渡しなら気になりませんが、月に何度も相手の環境に合わせて渡す仕事だと、この行き来そのものが時間を食います。
Finderの代わりになる道具を選ぶときの比較軸として、この行き来を減らせるかどうかは見ておく価値があります。他のファイル管理との比較では、2画面での操作や内蔵ターミナルといった機能が製品ごとに並べられていて、どこまでを1つの窓で済ませられるかが分かります。導入の判断材料としては料金も併せて見ることになりますし、動作環境や制限についてはよくある質問に整理されています。
最後に、今日から変えられることを1つだけ挙げるなら、ファイル名の作法です。ディスクの形式は渡すときに1回決めれば済みますが、名前は作るたびに発生します。記号を避け、末尾に空白やピリオドを置かず、濁点を含む名前は短くしておく。この3つを守ったファイルは、exFATでもFAT32でも共有フォルダでも、同じように相手に届きます。
よくある質問
WindowsとMacの両方で使うUSBメモリは、どのフォーマットにすればいいですか?
Appleの手順書では、32GBを超えるディスクはexFAT、32GB以下はMS-DOS(FAT)と案内されています。どちらも追加のソフトなしでMacとWindowsの両方から読み書きできます。ボリューム名は11文字までなので、半角英数字で短く付けておくと弾かれません。
Macで外付けディスクに書き込みだけができないのはなぜですか?
Windowsで初期化されたディスクの多くはNTFSで、macOSは標準では読み取りしかできません。ディスクユーティリティの「フォーマット」にNTFSが出てこないのはこのためです。中身を別の場所に退避してから、exFATで初期化し直すと双方向に書けるようになります。
渡したファイルの日本語名が相手の画面で崩れるのはなぜですか?
濁点や半濁点を、1文字として持つ書き方と2文字に分けて持つ書き方の2通りがあり、macOSは分けて持つ書き方を長く使ってきたためです。APFS上では2通りが同じ名前として扱われるので手元では気づきません。exFAT経由や圧縮ファイル経由で渡したときに、相手の画面で表に出てきます。
32GBを超えるディスクをFAT32にすることはできますか?
ディスクユーティリティの画面からは選べませんが、ターミナルのdiskutilからは形式を名指しできます。diskutil listFilesystemsを実行すると、FAT12やFAT16やFAT32が個別に並んでいるのが確認できます。ただしFAT32には1ファイル4GBの上限があるので、動画などを渡す用途には向きません。