はじめに
UbuntuではデフォルトでexFATでフォーマットされているドライブはサポートしていません。そのため、exFATでフォーマットされているUSBドライブやSDカードを使おうとしても、認識はするものの開こうとすると以下のようなエラーが表示されてしまいます。
この記事では、exFATをUbuntuで使えるようにするための手順をまとめます。
exFATについて
exFATは2006年にマイクロソフトによって導入された新しいファイルシステムです。Windows、macOSでも使用することができます。従来からあるFAT32では単一のファイルの最大サイズが4GBという制限がありましたが、exFATは最大16EB(16エクサバイト、実質制限なし)まで扱うことができます。なお、2019年8月28日(現地時間)には、米マイクロソフトがexFATの技術仕様を公開し、LinuxでのexFATサポートの支援を行うと発表しました。マイクロソフトも最近は特にLinuxを意識が動きが活発な印象ですので、もしかしたら近い将来にexFATがLinuxでデフォルトでサポートされるかもしれません。
英語となりますが、以下がexFATのサポート支援を行うと発表した米マイクロソフトの記事になります。
exFAT in the Linux kernel? Yes! – Open Source Blog
We’re pleased to announce that Microsoft is supporting the addition of Microsoft’s exFAT technology to the Linux kernel.
前提と環境
ここではUbuntu18.04を使用します。
- OS : Ubuntu 18.04
universeリポジトリを有効化する
exFATを扱うためのパッケージをインストールするために有効化が必要となります。以下のコマンドを実行することで有効化できます。すでに有効化されている場合は以下のように表示されます。
$ sudo add-apt-repository universe
'universe'のコンポーネントはすべてのソースで有効になっています。
有効化した後でアップデートを実行します。
$ sudo apt update
なお、Ubuntuには4種類のリポジトリがあり、「universe」はその1つです。以下の記事が詳しいの興味のある方は見てみてください。
Ubuntu Japanese Teamメンバーによるインストール高座じゃなかった、インストール講座が開講!まずは、いろいろありすぎて選ぶのに迷う、Ubuntuの各バージョンの特徴を直球で解説しちゃうぞ。
exFATを扱うためのパッケージをインストールする
UbuntuでexFATを扱うには、exfat-fuse
とexfat-utils
の2つのパッケージが必要です。以下でインストールします。
$ sudo apt install exfat-fuse exfat-utils
上記でインストールするだけで再起動なども不要でexFATでフォーマットされているドライブをマウントでき、扱えるようになります。
ちなみに、以下のようにカーソルを合わせればマウントされているパスを確認できます。
上記の画像から、/media/albion/disk
にマウントされていることを確認できます。albion
というのは私が使用しているUbuntuのユーザ名ですので、各自のユーザ名になっているかと思います。
そしてlsblk
コマンドでマウント元がどこかを調べると以下のようになります。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
(...途中省略...)
sdb 8:16 1 119.3G 0 disk
└─sdb1 8:17 1 119.2G 0 part /media/albion/disk
(...以下省略...)
上記から分かるように、/dev/sdb1
のマウントポイントが/media/albion/disk
になっていることを確認できました。
これらは自動マウントされているので特に意識することはないですが、コマンドでマウントしたい場合等はマウント先のパスなどは把握する必要あるのでメモしておきます。
lsblk
については以下に詳しく載っています。
【 lsblk 】コマンド――ブロックデバイスを一覧表示する
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、現在利用できるHDDやUSBメモリなどのブロックデバイスを一覧表示する「lsblk」コマンドです。
mountコマンドでexFAT形式のドライブを操作する
mount
コマンドを使ってマウントすることももちろん可能です。まずは以下のようにマウントポイントを適当に作成します。
$ sudo mkdir /media/myexfat
後は以下のようにmount
コマンドを使用してマウントします。/dev/sdb1
は目的のexFATドライブのパスです。
$ sudo mount -t exfat /dev/sdb1 /media/myexfat
アンマウントしたい場合は以下のようにumount
コマンドを実行します。
$ sudo umount /dev/sdb1
なお、マウント先として/mnt
配下を使うこともありますが、/mnt
は例えばSamabaサーバー等のマウント先として使うことが多いです。/media
配下はUSBドライブやSDカードなど、一時的に使用するリムーバブルディスク用に使用します。なお、/mnt
配下のマウント先はファイルマネージャーには表示されませんが、/media
は冒頭に載せた画像のように表示されます。(冒頭の画像内の「128 GBボリューム」)
まとめ
exFATをUbuntuで扱うために必要となるパッケージのインストール手順とexFAT形式のドライブをコマンドでマウントする方法をまとめました。
SPONSORED LINK