UbuntuでexFATを使えるようにするための手順

公開日:2019/11/05 更新日:2019/11/05
UbuntuでexFATを使えるようにするための手順のサムネイル

はじめに

UbuntuではデフォルトでexFATでフォーマットされているドライブはサポートしていません。そのため、exFATでフォーマットされているUSBドライブやSDカードを使おうとしても、認識はするものの開こうとすると以下のようなエラーが表示されてしまいます。

cant-mount-exfat-message.png

この記事では、exFATをUbuntuで使えるようにするための手順をまとめます。

exFATについて

exFATは2006年にマイクロソフトによって導入された新しいファイルシステムです。Windows、macOSでも使用することができます。従来からあるFAT32では単一のファイルの最大サイズが4GBという制限がありましたが、exFATは最大16EB(16エクサバイト、実質制限なし)まで扱うことができます。なお、2019年8月28日(現地時間)には、米マイクロソフトがexFATの技術仕様を公開し、LinuxでのexFATサポートの支援を行うと発表しました。マイクロソフトも最近は特にLinuxを意識が動きが活発な印象ですので、もしかしたら近い将来にexFATがLinuxでデフォルトでサポートされるかもしれません。 英語となりますが、以下がexFATのサポート支援を行うと発表した米マイクロソフトの記事になります。

cloudblogs.microsoft.com

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'のコンポーネントはすべてのソースで有効になっています。
Bash

有効化した後でアップデートを実行します。

$ sudo apt update
Bash

なお、Ubuntuには4種類のリポジトリがあり、「universe」はその1つです。以下の記事が詳しいの興味のある方は見てみてください。

ascii.jp

Ubuntu Japanese Teamメンバーによるインストール高座じゃなかった、インストール講座が開講!まずは、いろいろありすぎて選ぶのに迷う、Ubuntuの各バージョンの特徴を直球で解説しちゃうぞ。

exFATを扱うためのパッケージをインストールする

UbuntuでexFATを扱うには、exfat-fuseexfat-utilsの2つのパッケージが必要です。以下でインストールします。

$ sudo apt install exfat-fuse exfat-utils
Bash

上記でインストールするだけで再起動なども不要でexFATでフォーマットされているドライブをマウントでき、扱えるようになります。

mounted-my-exfat-drive.png

ちなみに、以下のようにカーソルを合わせればマウントされているパスを確認できます。

path-to-exfat-drive.png 上記の画像から、/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

(...以下省略...)
Bash

上記から分かるように、/dev/sdb1のマウントポイントが/media/albion/diskになっていることを確認できました。 これらは自動マウントされているので特に意識することはないですが、コマンドでマウントしたい場合等はマウント先のパスなどは把握する必要あるのでメモしておきます。 lsblkについては以下に詳しく載っています。

www.atmarkit.co.jp

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、現在利用できるHDDやUSBメモリなどのブロックデバイスを一覧表示する「lsblk」コマンドです。

mountコマンドでexFAT形式のドライブを操作する

mountコマンドを使ってマウントすることももちろん可能です。まずは以下のようにマウントポイントを適当に作成します。

$ sudo mkdir /media/myexfat
Bash

後は以下のようにmountコマンドを使用してマウントします。/dev/sdb1は目的のexFATドライブのパスです。

$ sudo mount -t exfat /dev/sdb1 /media/myexfat
Bash

アンマウントしたい場合は以下のようにumountコマンドを実行します。

$ sudo umount /dev/sdb1
Bash

なお、マウント先として/mnt配下を使うこともありますが、/mntは例えばSamabaサーバー等のマウント先として使うことが多いです。/media配下はUSBドライブやSDカードなど、一時的に使用するリムーバブルディスク用に使用します。なお、/mnt配下のマウント先はファイルマネージャーには表示されませんが、/mediaは冒頭に載せた画像のように表示されます。(冒頭の画像内の「128 GBボリューム」)

まとめ

exFATをUbuntuで扱うために必要となるパッケージのインストール手順とexFAT形式のドライブをコマンドでマウントする方法をまとめました。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。