Ubuntu 20.04 で作った exFAT が Windows10 で読めない
◆ mkfs.exfat でフォーマットしてから Windows につなぐとファイルシステムが認識されない
◆ Windows でフォーマットしてから Ubuntu につなぐと問題なくマウントして使用できる
◆ Linux 5.7 で exFAT がカーネルに取り込まれたけどユーザスペース側の exfatprogs は 20.10 から
◆ Windows でフォーマットしてから Ubuntu につなぐと問題なくマウントして使用できる
◆ Linux 5.7 で exFAT がカーネルに取り込まれたけどユーザスペース側の exfatprogs は 20.10 から
前記事までで見つけた古い PC の中の 1 つに Ubuntu20.04 を入れました
現時点の最新の LTS です
ついでに 遅いけど容量は大きい HDD も見つけたのでバックアップデータ保存用にしようと思います
用途は決めたものの フォーマットしようとしたときに困ったのが どのフォーマットにするかです
ext4 だと Windows で扱えないですし Linux 用で NTFS ってどうなのかなと思ったり
PC 以外の機器にも使うことを考えると FAT32 か exFAT が無難でしょうか
FAT32 は制限も多いので exFAT にしようと思います
インストールすると使えるようになる mkfs.exfat コマンドでフォーマットできます
/dev/sdb1 をフォーマットして問題なくマウントして読み書きできました
しかし Windows10 につなぐと見れません
ディスクの管理でパーティション自体は認識されてるようですが 不明な未フォーマットパーティションのように扱われます
操作はボリュームの削除のみできる状態です
今度は逆に Windows10 で exFAT にフォーマットしてみます
適当にファイルを作って Ubuntu につないでマウントしてみます
こっちは問題なくマウントできて Windows10 で書きこんだファイルを参照したり編集したりできています
Ubuntu で作った exFAT は Windows 側では読めない互換性がないものになってるみたいです
調べてみても exFAT の仕様は非公開なので 完全な互換性があるわけではないようです
こういうことは普通にあるみたいです
割と最近に exFAT の仕様が公開されてたはずですが まだ完全なサポートはされないのでしょうか
Ubuntu 20.04 でカーネルバージョンを見ると 5.8 でした
完全に互換性があっても良さそうですけど……
もう少し調べていると 20.10 からの対応になってそうでした
20.04 までは mkexfatfs は provided by exfat-utils ですが
20.10 からは mkexfatfs は provided by exfatprogs に変わっています
http://manpages.ubuntu.com/manpages/focal/man8/mkexfatfs.8.html
http://manpages.ubuntu.com/manpages/groovy/man8/mkexfatfs.8.html
exfatprogs はユーザスペースで exFAT を扱う公式のユーティリティらしいです
https://github.com/exfatprogs/exfatprogs
20.04 では parted/gparted も exFAT 未対応でしたし完全な exFAT 対応は期待しないほうが良さそうです
LTS を使うなら来年の 22.04 からでしょうか
一応 gparted は最新版では exfatprogs に対応した 1.2 がリリースされています
https://gitlab.gnome.org/GNOME/gparted/-/merge_requests/30
ただ Ubuntu 20.10 も現時点では apt のアップデートで 1.2 は来てないようです
現時点の最新の LTS です
ついでに 遅いけど容量は大きい HDD も見つけたのでバックアップデータ保存用にしようと思います
用途は決めたものの フォーマットしようとしたときに困ったのが どのフォーマットにするかです
ext4 だと Windows で扱えないですし Linux 用で NTFS ってどうなのかなと思ったり
PC 以外の機器にも使うことを考えると FAT32 か exFAT が無難でしょうか
FAT32 は制限も多いので exFAT にしようと思います
exFAT
parted や gparted では exFAT の作成がサポートされていないので exfat-utils をインストールしますインストールすると使えるようになる mkfs.exfat コマンドでフォーマットできます
/dev/sdb1 をフォーマットして問題なくマウントして読み書きできました
しかし Windows10 につなぐと見れません
ディスクの管理でパーティション自体は認識されてるようですが 不明な未フォーマットパーティションのように扱われます
操作はボリュームの削除のみできる状態です
今度は逆に Windows10 で exFAT にフォーマットしてみます
適当にファイルを作って Ubuntu につないでマウントしてみます
こっちは問題なくマウントできて Windows10 で書きこんだファイルを参照したり編集したりできています
Ubuntu で作った exFAT は Windows 側では読めない互換性がないものになってるみたいです
調べてみても exFAT の仕様は非公開なので 完全な互換性があるわけではないようです
こういうことは普通にあるみたいです
割と最近に exFAT の仕様が公開されてたはずですが まだ完全なサポートはされないのでしょうか
Linux の exFAT 対応
調べてみたら Linux 5.7 でカーネルに exFAT の機能が取り込まれたようですUbuntu 20.04 でカーネルバージョンを見ると 5.8 でした
完全に互換性があっても良さそうですけど……
もう少し調べていると 20.10 からの対応になってそうでした
20.04 までは mkexfatfs は provided by exfat-utils ですが
20.10 からは mkexfatfs は provided by exfatprogs に変わっています
http://manpages.ubuntu.com/manpages/focal/man8/mkexfatfs.8.html
http://manpages.ubuntu.com/manpages/groovy/man8/mkexfatfs.8.html
exfatprogs はユーザスペースで exFAT を扱う公式のユーティリティらしいです
https://github.com/exfatprogs/exfatprogs
20.04 では parted/gparted も exFAT 未対応でしたし完全な exFAT 対応は期待しないほうが良さそうです
LTS を使うなら来年の 22.04 からでしょうか
一応 gparted は最新版では exfatprogs に対応した 1.2 がリリースされています
https://gitlab.gnome.org/GNOME/gparted/-/merge_requests/30
ただ Ubuntu 20.10 も現時点では apt のアップデートで 1.2 は来てないようです
COMMENT
コメント一覧 (5)
-
- 2021/04/21 11:42
-
知識は乏しいのですが、Lubuntuを使っています
そういえばLinux側でexFATでのフォーマットをしたことがないなと思い、記事が気になりやってみました
内蔵ドライブにインストール済みのLubuntu 20.04.2に対し、手元にあった「exfat-fuse_1.3.0-1、exfat-utils_1.3.0-1」を「dpkg -i」でインストール、SanDisk microSD 32GBをBuffaloの小型のカードリーダー経由で接続し、以下のコマンドを実行したところ、ラベル01のexFATのmicroSDが出来上がり、Linux、Windowsで正常に認識され、読み書きができました。
sudo mkfs -t exfat -n 01 /dev/sdb2
またLubuntu 既定のパーティションマネージャ、「KDE パーティションマネージャ」はexfat-fuseのインストールよりexFATでのフォーマットができるようになるのでフォーマットしてみましたが、Windowsで正常に認識され、読み書きができました。
Windowsで認識できなかったとのことですが、どんな原因なのでしょうか?こちらでは再現できないので気になりました -
が
しました
-
- 2021/04/21 20:36
-
debian/ubuntu系の鳥いくつか使っててlinux側でexfatにformatした外部メディアがwin10で読めなかった経験は無いけどなあ
linuxでデータ書き込んだUSBスティックwin10に差したら修復が必要というアラートが出てそのままwinにチェックさせたら問題ナシってなった事が何回かあったからexfatの扱いがかんぜんではないのかもね -
が
しました
-
- 2021/04/22 22:08
-
おふたりとも普通に読めているんですね
exFAT はこれまで仕様が非公開だったことで 完全な実装じゃないという話は聞いたことがあり 調べてみても問題が発生したという例はいくつかあって exFAT を使うべきじゃないとまで書いてるようなところもあったくらいなので あんまり深くは考えずそういうものだと思ってました
ですが Linux でフォーマットすると Windows では確実に使えないというのならもっとわかりやすく注意書きとかにありそうですね
exfat-utils と exfat-fuse のバージョンはたしか えいたろうさん のと同じだったと思います
フォーマットは mkfs -t exfat ではなく mkfs.exfat コマンドでしたが同じものだと思います
「デバイスマネージャ」と書きましたが「ディスクの管理」でした(修正しました)
正常に読み込めていれば exFAT という情報が出ますが これが表示されず exFAT であることを認識できていないようでした
これ以上のことは私もわかっていません -
が
しました
-
- 2021/07/15 16:44
-
映像業界のインハウス雑用エンジニアのもので、exFATの互換性や最新状況について検証しているものです。
Ubuntu21.04かつmkfs.exfatをgithub上最新の1.1.2にしての話ですが。
Windows10ではGPTパーティションかつ、先頭パーティションに最低でも16MBのMSR(MicroSoftReserved)パーティションが配置されている必要があります。その後にMBP(Microsoft Basic Data)パーティションを用意した上で当該領域にmkfs.exfatを行うことでwin10でも読み書きできるexFATを作ることができます。
gdiskコマンドで当該パーティションを作成した上で、mkfs.exfat /dev/sd?2 してみてください。
参考までに自分がgdiskで作成してうまくいった時のgdisk pの結果を置いておきます。
Number Start (sector) End (sector) Size Code Name
1 2048 32767 15.0 MiB 0C01 Microsoft reserved
2 32768 1953525134 931.5 GiB 0700 Microsoft basic data
えいたろうさんが上手く行ってるのは、おそらくですがKDEパーティションマネージャが気を利かせてwin10でも読めるように第一パーティションにMSRパーティションを書いてくれてるからだと思います。
-
が
しました