SteamDeckにWindowsを入れてデュアルブートにしてみた(BTRFS) #SteamDeck
基本的には上の動画に従いつつ、ちょいちょい端折ったりしてます。
例えば、動画では、SteamOS用のリカバリディスクを作成していますが
私はSteamDeckを買ったばかりなので飛ばしました。
最初に
あくまでも、これは私が作業を実施した記録であり、この通りに実施してもうまくいかなかったなどの責任は負いかねます。自己責任でお願いします。
なぜこの手順がいいのか
ファイルシステムをBTRFSにすることで、LinuxからもWindowsからもドライブを使いやすくできるからです。この手順を踏まないと、それぞれのOSから触れる領域が独立する形になり、必要なときに容量を調整したりできなくなります。ただし、かなり複雑な手順となります。
多少使いづらくても、とりあえず動かしてみたいならパーティションを分割してしまうのがよいでしょう。こちらの記事が参考になるでしょう。
なお、SDメモリにWindowsをまるごとぶちこむやり方もあるようですが、アクセス数が多いためSDメモリの寿命が逝ってしまうという話です。
必要なもの
USBドライブ
USBキーボード
USBマウス
USB-CからUSB-Aへのハブ ※SteamDeckはUSB-Cしかついていないため
ダウンロードしたもの
https://www.microsoft.com/ja-jp/software-download/windows11
Windows11ディスクイメージ(ISO)
https://rufus.ie/ja/
Rufus3.21
https://help.steampowered.com/en/faqs/view/6121-ECCD-D643-BAA8
Windows用SteamDeckドライバー一式
https://github.com/maharmstone/btrfs/releases
Windows用BTRFSドライバー
手順1.Windows用USBドライブ作成
Rufusを起動して、Windowsディスクイメージを選択します
スタートをクリックすると出てくるオプションを、すべてチェックします。
作成完了後、Driversというフォルダを作り、その中にWindows用ドライバーファイルを入れておきます。
手順2.ファイルシステムをBTRFSにする
※動画の手順では、1と2の間にSteamOSの初期化がありますが、私は買ったばかりなので飛ばしています。SteamDeckをしばらく使っていた場合には初期化したほうがいいのかも。
SteamDeckをデスクトップモードにします
【Steamボタン>電源>デスクトップに切り替え】
Firefoxをダウンロードして起動しSteam BTRFSを開きます
https://gitlab.com/popsulfr/steamos-btrfs#install
指示に従ってインストールします。途中でSudoパスワードが未設定の場合には設定を促されます。
私の場合は「/dev/disk/by-partsets/self/rootfs」「home/Convert」「Enable Auto-update」「Reboot now」を選択しました。
BTRFS変換画面が出てきます。待ちましょう。つ旦
ここで、SDメモリも差してあると一緒にBTRFSフォーマットしてくれるようなのですが、私は抜いてしまっていたので後からフォーマットします。
変換が終わって再起動してからゲーミングモードを開いて
【Steamボタン>設定>システム>SDカードカードをフォーマット】します。上記SteamOS-BTRFSのインストールが終わっていれば、これでSDカードもBTRFSでフォーマットされます。
手順3.Windows用パーティション作成
デスクトップを開き、KDE Partition Managerを起動します。SUDOパスワードが必要です。
/homeマウントを選択して【>>Resize/Move】を選択します。ここで、容量を減らします(減らしたぶんがWindowsのパーティションになります。100GB程度推奨)
【Apply】を選択して、実際に変更を適用します。
減らしたぶんがunknownマウントとして認識されているので、これを選択して【New】を選択します。
ここで、FileSystemをntfsに変更してマウントします。このマウントぶんのサイズを覚えておいてください。
手順4.Windowsインストール
SteamDeckの電源を切って手順1で作成したUSBドライブを挿して、音量↓を押しながら起動します。BootManager画面になります。USBドライブを選択して起動します。Windowsインストール画面となります。
USBマウスを繋いでない場合、タッチスクリーンなので画面タップで進めていくことができます。
重要なのは、途中で【カスタム:Windowsのみをインストール】を選択して、手順3で作成したパーティションを選択することです。ここでしっかり間違えないように、手順3でサイズを覚えました。
再起動して、しばらく待つとWindowsの画面が表示されます。ここから初期設定を行っていきます。
まず、デスクトップで右クリックして【ディスプレイ設定】を開き、【画面の向き】を横に変更しましょう。かなり見やすくなります。
手順1.でUSBドライブのDriversに格納したドライバをインストールしていきます。
・Setup.exeをダブルクリックして指示に従う
・.infを右クリックしてインストール
・installdriver.cmdをダブルクリック
基本的には、このどちらかでインストールできます。拡張子表示ON、システム隠しファイル表示ONにしたほうがやりやすいでしょう。
SteamDeck用Windowsドライバーをインストール後
Windows用BTRFS用ドライバーをインストールするとLinuxのディスク領域をWindowsから見られるようになります。
手順5.Windows用のディレクトリ作成(オプション)
この手順は好みに応じて行います。
/homeとSDカードのルートに、「Windows_installs」といった感じの名前のディレクトリを作成して、Windows版Steamのダウンロードディレクトリとして指定します。
こうしておいて、SteamOSで遊ぶゲームはSteamOSでインストールして、Windowsで遊ぶゲームはWindowsでインストールすると、それぞれのディレクトリのルートとなるパーティションは同じなので、最小限の節約で済むことになります。また、ModなどLinuxでもWindowsでも使えるファイルは、両方から参照することができます。
※SteamOSとWindowsのインストールディレクトリを完全に一致させることで、どちらからも起動させるという見込みはありますが、この動画の作者によると半分のケースはゲームが壊れてしまうのでやめたほうがいいとのことです。
手順6.Refindのインストール(オプション)
この手順は好みに応じて行います。
ここまでの手順で、WindowsとSteamOSのデュアル環境は完成しました。ですが、このままだとWindowsが常に優位であり、SteamOSを起動したいときには音量↓と起動ボタンを押して起動する必要があります。
この設定を柔軟にするため、Refindをインストールします。
まず、一度シャットダウンして音量↓と起動ボタンを押して起動して、SteamOSを選択して起動します。
デスクトップに切り替えてコンソールを開き、下記のコマンドを入力します。
※このサイトのインストール手順に従っています
git clone https://github.com/jlobue10/SteamDeck_rEFInd/
cd SteamDeck_rEFInd
chmod +x SteamDeck_rEFInd_install.sh
./SteamDeck_rEFInd_install.sh
しばらく待てばインストールが終わります。
以後は、SteamOSからでもWindowsからでも、再起動するとロゴ画面が表示されて、どちらかを選んで起動できるようになります。お疲れ様でした。
※デフォルトでは5秒選択しないと、自動でSteamOSが起動します。refind.confを書き換えて調整することができます。
アップデート
SteamOSをアップデートすると、起動がおかしくなることがあります。(refind導入時)
その時は、ブートメニューから「Boot from file」>「(3つ表示される記憶デバイスのうち、1番上を選択)」>「efi」>「SteamOS」>「steamcl.efi」を選択して起動します。SteamOSが起動します。
あとは、手順6を再度実行するとデュアルブート環境が復活します。
こちらの動画を参考にしました