Windows/Linux 共有システムドライブストレージのフォーマット

Windows/Linux 共有システムドライブストレージのフォーマット

Windows10 と ArchLinux のデュアルブートを設定する予定です。1TB SSD と 3TB HDD を共有します。異なるドライブのパーティションをどのようにフォーマットすればよいでしょうか?

ext4 と NTFS の違いは何ですか? ext4 以外のもので Linux を実行すべきでしょうか?

編集:

明確に言うと、メイン システムの SSD と、後でストレージを拡張するために追加する予定の HDD のフォーマットの選択について質問しています。Windows10 の主な使用例はゲームで、Linux の場合はプログラミングとデータ処理です​​。

これが私の現在のアイデアです:

システム SSD:

+-------------------------------------------------------------------------------+
|500MB EFI     | 250GB NTFS Windows10  | 250GB ext4(?) Arch  | 500GB ?? Shared  |
+-------------------------------------------------------------------------------+

将来拡張可能な3TB以上のHDD:

+-----------------+
| 3TB+ exFat(?)   | 
+-----------------+

SSD の共有スペースには何を選択すればよいですか? これは SSD に適したレイアウトですか? 将来追加する内部拡張ドライブには何を選択すればよいですか?

答え1

まったく同じ目的で使用されるデュアルブート セットアップ (Arch ではなく Gentoo を使用) の個人的な経験に基づくと、5 つのプライマリ パーティションが必要です。

  • EFI システム パーティション (UEFI を使用して起動することを前提としています。従来のマルチブート構成よりも管理がはるかに簡単なので、UEFI を使用することをお勧めします)。FAT32 としてフォーマットする必要があり、インストール中に Windows によって自動的に作成されます。Linux ブート パーティションとしても使用しない限り、おそらく 128 MB のスペースしか必要ありません (MS ブートローダーと基本的な GRUB インストールは現在約 64 MB で、それほど大きくなる可能性は低いです)。
  • Microsoft 予約パーティション。これは、Windows インストーラーが通常は理由が不明なまま作成する、奇妙な約 100 MB の空のパーティションです。最近はほとんど使用されていませんが、Windows の一部の機能は、このパーティションがないと動作しなくなります。
  • WindowsのC:ドライブ。NTFSフォーマットにする必要があります(WindowsはCドライブにNTFS以外のフォーマットを使用することを長い間サポートしておらず、ReFSはまだ一般ユーザー向けには準備が整っていません)。このボリュームをLinuxからデフォルトでマウントしないでください。意思最終的には、面倒なことになります (ただし、必要に応じて Linux から読み取り/書き込みでマウントできるように設定してください)。Windows と、共有パーティションに配置するために使用するゲーム ランチャーを構成すると仮定すると、必要なのは 32 GB 程度と、ここに保存するデータに必要な容量だけです。
  • Linux ルート パーティション。標準の Linux ファイルシステム (ext4、XFS、BTRFS など) である必要があります。Windows からはいずれにも確実にアクセスできないため、どれを選択しても問題ありません。個人的には、LVM に加えて BTRFS を使用しますが、それを実現するには Linux 専用のブート パーティションが必要になります (これも標準の Linux ファイルシステムである必要があります。ほとんどすべての標準ブート ローダーが BTRFS をより適切にサポートしているためです)。また、適切に維持するにはさらに労力が必要です。共有データ パーティションをホーム ディレクトリに使用することを選択した場合は、問題なくこれを簡単に (安全に) 16 GB まで小さくすることができます。
  • 共有データ パーティション。NTFS または exFAT のいずれかである必要があります。NTFS を使用する場合は、カーネル ドライバーではなく NTFS-3G を使用し、適切なユーザー マッピングを設定します (これを行う方法については、NTFS-3G のドキュメントを確認してください)。exFAT を使用する場合は、Samsung ドライバーではなく FUSE ドライバーを使用することをお勧めします (MS が尻から頭を出して、近い将来に実際にマージされる LKML のパッチを提案してくれることを期待してください)。これは、Windows と Linux の両方が最大限に活用されるように構成している場合は特に、ディスク領域の大部分を占めるのが理想的です。

コメントに対応するために更新されました:

exFAT 上の Windows にゲームをインストールすると、NTFS と比較してパフォーマンスが低下する場合と低下しない場合があります。パフォーマンスの違いのほとんどは、ファイルの書き込み時にのみ実際に影響し、読み取り時には影響しません (そのため、更新またはインストール中に若干の違いが見られますが、ゲームプレイ中には通常は見られません)。また、重大な問題が発生するには、ソフトウェアがかなり病的に悪い必要があります。

共有データ パーティションに Linux ソフトウェアをインストールする場合、exFAT または NTFS を使用している場合は、POSIX セマンティクスを実現するために別のレイヤーを追加しない限り、おそらくインストールできません (それでも、少なくともパッケージ マネージャー経由ではインストールできないでしょう)。ただし、その必要はありません。Windows とは異なり、Linux は基本的に同じライブラリのコピーを何十個も保存して大量のディスク領域を無駄にすることはないため、ドキュメントと開発ワークスペースを別のパーティションに保存すれば、完全なオフィス スイートと複数の言語/フレームワークの完全な開発環境を含む完全なデスクトップ環境を備えた Linux を 8GB 未満の領域でインストールすることは十分に可能です。

答え2

exFAT を使用することをお勧めします。その理由は次のとおりです。

  • 私の知る限り、Windows と Linux の両方で使用できる方法で権限を設定できるファイル システムは存在しません。つまり、ファイル システムのセキュリティを考慮する必要はありません。
  • exFATはWindowsでは完全にサポートされており、LinuxのサポートはFUSE経由で動作しますが、私の経験ではSamsungカーネルモジュールを使用するとさらに優れています。ギットハブさらに、Microsoft は exFAT を Linux の第一層 FS にすることを約束しました。
  • Linux (カーネル ドライバーを使用) での実際のパフォーマンスは、特に同時アクセス パターンがある場合、NTFS のほぼ 2 倍になります。

答え3

マルチパーティション アプローチを検討してください。EFI (UEFI/ブートローダー サポート用の小さな FAT パーティション)、専用の Linux (おそらく EXT4)、専用の Windows NTFS パーティションを検討します。

私はデータ用に3つ目(HDDとSSDが必要な場合は2つ目)のパーティションを作成し、VFATでフォーマットします(NTFSでも構いません)。このデータを暗号化して両方のOSで読み取り可能にしたい場合は、TrueCryptの使用を検討してください。

関連情報