【Btrfsのみ使用】LinuxとWindows11をDual bootするときにSteamで使用するための共有ドライブのファイルシステムについての考察と対策【NTFS、exFATを避ける。】【初心者ガイド】
TL;DR 共有ドライブをBtrfsにセットして、フォーマット。その後、Windows11でWinBtrfsというオープンソースのWindowsドライバーを使ってWindows11側で共有ドライブを読み込むと両OSで共用に成功。(同じタイプのツールがExt4では有料なので…)
※この記事の手順を実行するのは自己責任です。何らかのトラブルが発生しても私は一切責任を負いません。ハードディスクをフォーマットする関係でデータが全部消えます。大事なファイルは事前に外付けなどに保存しておいてください。
▼事の経緯(Steamのゲームが特定の状況下でLinux OS上で起動しない。)
Linuxでゲームを動かす上で問題が発生しました。
Linuxのシステムドライブ(Ext4)にインストールしたゲームは正常に動作しますが、別のパーティション(NTFS)に区切ったドライブにゲームをインストールしてもSteamのゲームがLaunchを押しても何も起動せず、すぐにPlayに戻ってしまうループに陥ってしまったのです。
最初はLinux固有のバグかと思い、色々な事を試しましたが、ある問題の構造に行きつきます。そもそもWindows NT系システムとUNIX系のシステムではファイルシステムがフォーマットの違いでバグを起こすんじゃない?と…
その通りでした、Linux上ではNTFSパーティションを読み込もうとすると、マウントすることはできますが、権限を保存できなかったり、大文字と小文字の区別がシビアなLinuxでは正常にプログラムをロードできなかったりしたらしいので、どうやら自分はこの状況に陥っていたみたいです。
解決策としては、もはや私はLinuxを拠点にしているのでLinuxサイドに寄ることにしました。簡単に説明すると共有ドライブをBtrfsというファイルシステムに全部フォーマットして、Windows11側でWinBtrfsというオープンソースのドライバーを使って読み込ませます。そうするとなるはやですがうまくいきます。
どうだ参ったか(?
Linux上で共有ドライブをBtrfsにフォーマットした後、Steamのゲームを共有ドライブにインストールしたんですが、さっきと反応が違います。Launch…の状態でStuck。おそらくSteam Linux Runtime関係のものと、Proton関係のものが前の設定でこんがらがっていると思ったので、RuntimeとProtonをSteamライブラリで検索して右クリックプロパティでインストールフォルダを参照して、その関係のものを全部削除して、再度、整合性をチェックで再ダウンロードしたら、どうやら無事にLinux OSでゲームが立ち上がりました。ふう。
さて、一度Linuxを再起動して、Windows11に切り替えます。
目論見が正しければWinBtrfsというオープンソースのWindowsドライバーでBtrfsにフォーマットした共有ドライブを読み込むことができるはずです。
さて…githubのdownload and extract the latest releaseからbtrfs.zipをダウンロードしてきて解凍、そして…
インストール後、PCによっては再起動要求が発生するのでここで再起動をしてシステムを更新します。再起動後…
最後にWindows11側でSteamをインストールし、Btrfsフォーマットのドライブにゲームをインストールして実行、動作確認します。
という検証結果になりました。とりあえずBtrfsフォーマットならLinuxもWindowsも何も困らない感じでいいですね。また何か不具合対処したとき、Noteにメモ書きします。Linuxを自ら進んでいじっているユーザーはかなり限られるでしょうから…
おつかれさまでした!