NTFS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page NTFS and the translation is 100% complete.
Other languages:
これと混同しないでください: NFS.


NTFS (New Technology File System) は、Windows および Windows ベースのオペレーティングシステムのための、Microsoft によるプロプライエタリなディスクファイルシステムです。

Linux の使用時に NTFS サポートを実現する主要な方法は、2 通りあります。Linux カーネル 5.15 は、圧縮機能も含む NTFS ファイルシステムの完全なサポートを備えた、新しいドライバ NTFSv3 を提供しています。NTFS-3G という FUSE ファイルシステムドライバもあります - 低速ですが、より安定していて、長くテストされてきた方法です。

インストール

カーネル

Linux カーネル 5.15 より前は、主流だった古い NTFS カーネルドライバは NTFS のうち非常に限られた機能のみをサポートしていました。カーネルコンフィグの情報では、サポートを「部分的だが安全」としています。古いドライバは既存のファイルを上書きすることはできましたが、ファイルやディレクトリの作成、削除、名前の変更を行うことができません。Linux 5.15 現在、古い NTFS コードは、 "NTFSv3" と呼ばれる新しい Paragon のカーネル内 NTFS ドライバによって置き換えられました。このドライバのほうがより多機能で、完全な読み書きと圧縮機能をサポートしています。

5.15 より前のカーネルを実行しているシステムで NTFS を使用する場合は FUSE を利用した NTFS-3G 実装を有効化するのがよいでしょう。

ネイティブサポート

Linux 5.15 以降、新しい NTFSv3 ドライバを使用するには次のカーネルオプションを有効化する必要があります:

カーネル 新しい NTFSv3 ドライバを、Windows 圧縮ファイル (lxz/xpress) のサポート付きで有効化する (CONFIG_NTFS3_FS, CONFIG_NTFS3_LZX_XPRESS)
File systems  --->
    DOS/FAT/NT Filesystems  --->
        <*> NTFS Read-Write file system support
        <*> activate support of external compressions lzx/xpress

NTFS-3G (FUSE 実装)

5.15 より前の Linux で、FUSE 上での NTFS 読み書きを可能にするには、次のカーネルオプションを有効化する必要があります:

カーネル NTFS-3G を使用して FUSE 上で NTFS を有効化する (CONFIG_FUSE_FS)
File systems  --->
    <*> FUSE (Filesystem in Userspace) support

sys-fs/ntfs3g パッケージも必要です (下の emerge の節を参照してください)。

Emerge

NTFS-3G

重要
このパッケージは NTFS-3G を使用する場合にのみ必要です。ネイティブサポートを使用する場合には必要ありません

NTFS-3G は FUSE ベースのファイルシステムなので、ユーザ空間ユーティリティが必要です。これは現時点で、メイン Gentoo リポジトリで利用可能な唯一の FUSE ベース実装です。suid USE フラグが有効化されていることを確認してください。さもないと、"read only filesystem" エラーが発生することがあります。

USE flags for sys-fs/ntfs3g Open source read-write NTFS driver that runs under FUSE

acl Add support for Access Control Lists
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
fuse Enable ntfs-3g FUSE driver
mount-ntfs Install mount.ntfs symlink
ntfsdecrypt Build and install the ntfsdecrypt application.
ntfsprogs Enable ntfsprogs
static-libs Build static versions of dynamic libraries as well
suid Enable setuid root program(s)
xattr Add support for extended attributes (filesystem-stored metadata)

USE フラグを再確認し、必要に応じて修正を加えたら、FUSE ユーザ空間ツールをインストールしてください。これにより NTFS ファイルシステムの操作が可能になるでしょう:

root #emerge --ask sys-fs/ntfs3g

使い方

作成

警告
mkfs.ntfs コマンドはフォーマットするよう指示されたパーティションの内容を不可逆的に破壊します。このコマンドを実行する前に、正しいパーティションを選択しているか必ず確認してください!

NTFS ファイルシステムを /dev/sda1 パーティション上に作成するには (ntfsprogs USE フラグが必要です):

root #mkfs.ntfs /dev/sdyX

/dev/sdyX は実際にフォーマットするパーティションに置き換えてください。

マウント

NTFS ファイルシステムをマウントする方法は複数あります:

  • mount - 手動マウント。
  • fstab - 起動時の自動マウント。
  • removable media - 必要に応じた自動マウント。
  • AutoFS - アクセス時の自動マウント。

ネイティブサポート

ネイティブドライバ NTFS3 (カーネル 5.15) を使用して:

root #mount -t ntfs3 /dev/device /path/to/mountpoint
メモ
mount /dev/device /path/to/mountpoint では、ntfs3 ドライバがロードされている場合でも実行に失敗するかもしれません。-t ntfs3 付きでコマンドを実行するようにしてください。

FUSE (NTFS-3G)

ntfs3g パッケージが提供する、読み書き可能なドライバを使用して:

root #mount -t ntfs-3g /dev/device /path/to/mountpoint

トラブルシューティング

NTFS-3G

Windows がハイバネートした後の NTFS パーティションを強制的にマウントする

Windows によって管理されている NTFS ファイルシステムは、システム起動時間を節約するために、完全にシャットダウンされるのではなくハイバネートされることがあります。これが発生していると、hiberfil.sys ファイルを削除しない限り、その NTFS パーティションをマウントすることはできないでしょう。ハイバネートされたパーティションを強制的にマウントするためには、次のコマンドを使用することができます。これを行うと hiberfile が削除されるので、ファイル内のすべてのデータは失われます。Windows が動作を再開するためには、クリーンブートする必要があるでしょう。

root #mount -t ntfs-3g -o remove_hiberfile /path/to/device /path/to/mountpoint

Windows システム側では、Windows の不完全なシャットダウンが発生するのを防ぐために、管理者コマンドプロンプトから powercfg /h off を実行することができます。これはハイバネーションを無効化し、おそらく Windows をブートするときのブート時間が増加するでしょうが、ドライブが完全にアンマウントされるメリットがあります。

ヒント
Windows 10 システムで、ハイバネーションを防止するための管理者権限が取得できない場合、次の回避策を試してみてください:
  1. Windows をブートし、Windows ログイン画面を表示します。
  2. 電源ボタン (右下隅) をクリックして、shift キーを押しながら再起動をクリックします。
  3. 詳細オプションを選択し、UEFI ファームウェアの設定を選択して再起動します。
  4. UEFI ファームウェアに入ったら、Linux のための適切なブートエントリを選択します。
これで Windows が完全なシャットダウンを行うように強制されるはずで、NTFS-3G でファイルシステムをマウントできるようになるでしょう。

ntfsfix

NTFS でフォーマットされたパーティションを、Linux システムから修復する必要がある場合があるかもしれません。ntfsfix はこの作業を行うためのツールです:

root #ntfsfix /dev/nvme0n1p3
Mounting volume... $MFTMirr does not match $MFT (record 3).
FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 3...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/nvme0n1p3 was processed successfully.

関連項目

外部資料

参照