Linuxを日常的に使う実験ブログ

Arch LinuxでNTFSファイルシステムを扱う

 2016-04-08

 Arch Linux

こんにちは。今回のテーマは『Arch LinuxでNTFSファイルシステムを扱う』です。Ubuntuを使っていると当たり前にできたことがArch LinuxやSlackwareだと壁にぶつかることがあります。ファイルシステムや文字コードの取扱などが該当するのではないでしょうか。今回扱うNTFSファイルシステムの取扱もUbuntuでは特に意識せずにマウントできていたのですが、Arch Linuxでは少々設定が必要でしたので記事にしてみました。 [adsense02] 【目次】 Arch LinuxでNTFSが正しくマウントできない? ntfs-3gをインストール ntfsフォーマットのドライバをマウントす ntfs-3gのオプションについて fstabに設定してマウントする Windowsとデュアルインストールしている場合

Arch LinuxでNTFSが正しくマウントできない?

筆者はHDDにバックアップ用のパーティションを作りNTFSファイルシステムにフォーマットしてファイルのバックアップを行っていました。Windowsを使用していた頃の名残だったのですが、Windowsに接続すればすぐにファイルを救出できる利点もあり割とntfsフォーマットは気に入っています。Ubuntuでは特に意識することなくマウントできたntfsフォーマットですが、Arch Linuxではntfs-3gがインストールされていないために読み込み専用でしか読み込めない状態に陥りました。 —2016/04/09追記— コメント欄にて「ntfs-3gなしではマウント自体できないはず」とのコメントいただきましたが、Arch LinuxのカーネルはNTFSサポートが有効となっているため読み込み専用でならマウント可能です。Arch wikiのNTFS項にも記載されています。他のディストリビューションではマウントできない場合もありますので追記しておきます。

ntfs-3gをインストール

Arch Linuxでntfsフォーマットを扱うにはまずはntfs-3gをインストールしましょう。以下コマンドを実行します。

$ sudo pacman -S ntfs-3g

ntfsフォーマットのドライバをマウントする

ntfsをマウントするコマンドはいくつかあるのですが、まずはオーソドックスなmountコマンドを使います。以下のコマンドでマウント出来ます。

root# mount -t ntfs-3g -o <オプション> <デバイス> <マウントポイント>

例えばntfs形式でフォーマットされたsda2を読み込むときには以下のようなコマンドになります。

root# mount -t ntfs-3g /dev/sda2 /media/ntfs

mountコマンドを使わなくてもntfs-3gコマンドでもマウント出来ます。一般的なコマンドとしては以下の通りです。

root# ntfs-3g -o <オプション> <デバイス> <マウントポイント>

ntfs-3gのオプションについて

ntfs-3gコマンドでは以下のようなオプションを使用可能です。詳細はmanコマンドでも調べられますしhttp://www.tuxera.com/community/ntfs-3g-manual/でも調べることが可能です。ここではいくつか紹介するに留めます。 画像はman ntfs-3gで出したマニュアル画面 01

主要なオプション

uid 所有者を指定する際に使います。値はidコマンドで取得できます。 gid 所有グループを指定する際に使います。値はuidの場合と同じくidコマンドで取得できます。 ro 読み込み専用でマウントしたい場合にはroオプションを指定します。 umask 新規作成のファイルとディレクトリのパーミッションを設定します。Arch Linuxではrootとuserのデフォルとumaskが0022に設定されています。この設定ではディレクトリは775,ファイルは644のパーミッションになります。umaskについてはコチラが詳しいです。

使用例

以下のようなコマンドとして使用します。

root# mount -t ntfs-3g -o uid=1000,gid=100 /dev/sda2 /media/ntfs

fstabに設定してマウントする

現代的なGUIデスクトップ環境では大抵GUIで手軽にデバイスのマウントが簡単になりましたが、起動時に自動的にマウントしたり、マウントポイントを意図的に指定したい場合はfstabに指定しておくと便利です。今回はデバイスをsda2、マウントポイントを/media/ntfsとしてfstabを設定してみます。 まずはエディタで/etc/fstabを開きます。今回はvimを使用しますがnanoや他のエディタでも構いません。ルート権限で開いて下さい。

$ sudo vim /etc/fstab

fstabの書式に従い以下の例のようなフレーズを追記します。 【書き方例】

/dev/sda2 /media/ntfs ntfs uid=1000,gid=100,umask=0022 0 0

尚、fstabは記載を誤ると起動できなくなることがありますので、注意して下さい。もし起動不可能になったらArch Linux等のLiveCD/DVDを用いてfstabの修正を行って下さい。また、本記事の内容でもうまく行かない場合はArch wikiも参考にして下さい。

Windowsとデュアルインストールしている場合

—2016/04/09追記— コメント欄にて「ntfs-3gのインストールだけでは不足でWindwosの高速スタートアップをオフにする設定が必要なので情報不足」とコメント頂きましたので、本項を設けました。筆者がWindowsを使っていないために特にきにしていなかったのですが、調べてみると高速スタートアップがネックとなっているケースが見受けられたので触れておきます。本項はWindowsとのデュアルインストールをしている方のみ対象となります。 Arch wikiにも記事があるのですがWindows 8や10とデュアルインストールしている場合には「高速スタートアップ」機能が原因でマウント時にエラーが出ることがあるそうです。この問題は高速スタートアップを無効化することにより解決できるようですが、前述の通り筆者はWindows機がなく検証できていませんので、無効化する際にはご自身の責任でお願いします。 【ご参考:外部リンク】 Windows 10で高速スタートアップを無効にする方法 Windows 8 / 8.1で高速スタートアップを無効にする方法

最後に

わざわざ記事にするほどのこともないかと思いましたが、案外引っかかるポイントかも知れないと思い記事にしました。Windowsとデュアルインストールにする方はntfsファイルシステムをマウントする機会も多いと思います。本記事がお役に立てば幸いです。 【関連記事】 Arch Linuxのインストール後の環境設定まとめ Arch LinuxをUEFI + GPT環境にインストールする [adsense]