LinuxカーネルはWindows NTFSファイルシステムをどのように処理しますか?

LinuxカーネルはWindows NTFSファイルシステムをどのように処理しますか?

私は次の記事(RW Smith LPIC_1学習ガイド)を読んでいます。

LinuxはNTFSを確実に読み取り、既存のファイルを上書きできますが、LinuxカーネルはNTFSパーティションに新しいファイルを書き込むことはできません。

「カーネル」がNFTSパーティションに新しいファイルを書き込めないということはどういう意味ですか?

他の場所ではこう言いました。

NTFS-3Gは、カーネルスペースではなくユーザースペースに常駐する読み取り/書き込みNTFSドライバです。一部のLinuxディストリビューションでは、デフォルトのNTFSドライバとして使用されます。

カーネル空間とユーザー空間の違いは何ですか?

また、デュアルブートシステムからWindowsドライブにアクセスできますが、次のコマンドを使用してWindowsファイルシステムの種類を表示できないのはなぜですかdf -T

答え1

NTFS-3G以前は、適切な読み取り/書き込みNTFSサポートがありませんでした。最初はデュアルブートシステムからNTFSパーティションにファイルを書き込むことができますが、Windows NT / XPで再起動するときは、ファイルシステムチェックを実行してディスクの(メタ)データを変更する必要があります。したがって、Windows NT / XPとLinux間のデータ交換にVFATパーティションを使用するのが一般的です。これは、ファイルシステムタイプのドライバにはこれらの制限/問題がないためです。

NFTS-3G(2006)の導入以来、これは不要になり、新しいファイルを作成して既存のファイルを更新したり、Windowsで再起動したりファイルシステムをスキャンしたりすることなくこれらのファイルを使用できます。 (その時点では、デフォルトではもう再起動する必要はなく、仮想マシンでWindowsを使用していました。)

NTFS-3Gはユーザー空間で動作します。つまり、カーネルデータとルーチンに直接アクセスすることはできませんが、通常のプログラムのようにシステムコールを実行する必要があります(カーネルスペース(デバイス)ドライバとは反対)。

に関しては、df -TFuseで実行されているように見え、ファイルシステムの種類をfuseblk。 FuseはNTFSについて何も知らないので、より深い調査を提供しません。ディスクも検出できず、df -Tファイルシステムドライバに処理中の種類を尋ねます。可能であれば、表示するためにファイルシステムをマウントする必要はありませんdf -T。この場合、デバイスブロックを直接検出できます。推測してください。)

関連情報