microSDにWindows 11と原神を入れてSteamDeckで遊ぶ

Steam Deck側に手を付けずに、尚且つちゃんとした方法で原神が遊びたいなと思ったので、microSDカードからWindowsを起動するようにしてみました。

コントローラーが仮想デバイスとなる関係上、絶対にBANはないと言い切れませんが、SteamOS上で無理矢理動かそうと試みるよりはまだ安全でしょう。実行は自己責任でお願いします。

Windows To GoとしてmicroSDへ書き込む

Windows To Goはとっくの昔にサポートが終了していますが、お手軽なのでこれでいきます。

Windows To Goの特徴

  • Steam Deckの内部ストレージをマウントしない
  • ハイブリッドスリープや休止状態が規定で無効
  • 回復環境が使用できない
  • 機能更新プログラムがサポートされない

RufusでWindows To Goとして書き込む

Windows 11のディスクイメージをダウンロードします。

Windows 11 をダウンロードする

書き込みにはRufusを使用し、Windows To GoとしてmicroSDへインストールを行います。

Rufus - 起動可能なUSBドライブを簡単に作成できます
Rufus: Create bootable USB drives the easy way

ダウンロードしたディスクイメージを読み込んだ後、イメージオプションからWindows To Goを選択します。

この状態でスタートを選ぶと、どのバージョンのWindowsをインストールするか尋ねられます。お手持ちのWindowsライセンスに合わせて選択します。Homeのライセンスを持っている場合はHomeを選んでください。

最後にインストール時の設定を行います。

  • 内部ストレージにアクセスしないようにする
  • Microsoftアカウントでのセットアップをスキップする
  • ローカルアカウント名の設定(ここにユーザー名の入力をします)
  • 地域設定を現在のユーザーと同じにする
  • データ収集の無効化(プライバシー設定のスキップ)

書き込みにそこそこの時間が掛かりますので、のんびりと待ちましょう。完了したら、SteamサポートからダウンロードしておいたドライバファイルをフォルダにまとめてmicroSDカードに入れておきましょう。

Steamサポート :: Steam Deck-Windowsリソース

microSDカードをSteam Deckに差し込み、そのまま電源を入れるだけでセットアップ済みのWindowsが起動します。

ドライバのインストールとWindows Update、ライセンス認証

タッチパネルや方向キー、Aボタンなどは通常通り動作しますので、ドライバ類をインストールします。

Windows Updateも行い、一通り動作することを確認したらライセンス認証をしておきましょう。十分な猶予はあるので、原神をインストールして動作確認してからでも大丈夫です。

microSDで大丈夫?ベンチマーク結果

Steam DeckのmicroSDカードスロットはUHS-I対応となっており、最大104MB/sの転送速度をサポートしています。実際の所は100MB/sに少し届かないところで頭打ちをするので、UHS-IIやUHS-IIIといった超高速なmicroSDカードを選ぶ必要はありません。

最近はAndroidスマートフォンやNintendo Switch対応を謳う「アプリケーションパフォーマンスクラス」の表記があるmicroSDが数多く販売されるようになりました。これはmicroSDにアプリやゲームをインストールすることを想定した基準です。「A1」や「A2」といった表記がされているものを選ぶと、ランダムアクセスが致命的に遅いということだけは避けられるかと思います。しかし、Steam DeckはA2には対応していないようなので、本来の性能は出せずにA1よりも遅くなる場合があるようです。

とりあえず、2製品ほど試してみましたのでご紹介します。時間も掛かるし2回ぐらい測定すればいいやってことでテスト回数は2回に設定しています。

シリコンパワー SP256GBSTXDU3V20AB

まずはシリコンパワーのSP256GBSTXDU3V20ABです。UHS-I U3 / V30 / A1規格のSDカードで、最大読み込み100MB/s、最大書き込み80MB/sとなっています。なんだかシーケンシャルアクセスでの書き込み速度が半分ぐらいになっていますが、ランダムアクセスは十分な速度が出ているように思います。2回しか測定してませんので、誤差かもしれませんね。(適当)

トランセンド

次にトランセンドのTS256GUSD460Tです。こちらは産業用のmicroSDで、分散書き込みのウェアレベリングやエラー訂正のLDPC ECC、エラー訂正の限界に到達する前に別ブロックへデータを移動するEarly MoveにS.M.A.R.T.といった機能に対応しています。それ以外はシリコンパワーのものとほぼ同じですが、アプリケーションパフォーマンスクラスがA2となっています。尚、お値段は倍ぐらいします。

先ほどと比べるとランダムアクセスでの書き込み速度が若干遅いようですが、大きな違いはありません。残念ながらS.M.A.R.T.情報は容易に読み出す方法が無いようなので、そこは諦めました。少なくとも、Crystal Disk Infoからはディスクを見つけることが出来ませんでした。(アドバンスドディスクサーチなどをテスト)

性能差はほぼ無いのですが、高耐久な分だけ長持ちするかもしれません。安価なmicroSDカードを1枚使い潰してからもう1枚買うのと値段は変わらないので、ある程度長持ちしてくれれば再セットアップの手間が省けてラッキーかなってところでしょうか。

これでゲームは遊べる?

安価なWindowsタブレットに搭載されるeMMCよりも少々遅いのですが、遅さはあまり感じられません。これで原神を遊ぶのはどうなのかというと、時々数秒だけフリーズしたり音のロードが間に合ってなかったりすることはあります。それでもワープ速度はミドルレンジのAndroidスマートフォンで遊んだときぐらいの感じで、苦ではありません。(※速いとは言ってない)

何が一番ツラいかというと、ダウンロードしたリソースパックの展開が非常に遅い事です。ランダムアクセスが3~5MB/sしか出ないことも考えると、初回インストールは多めに見積もって5時間ぐらいは掛かります。ゲーム起動時の読み込み速度は最大でも60MB/sぐらいでした。

尚、どのような差が生じたのかは不明ですが、トランセンドの高耐久microSDに変更してからは、一時的なフリーズなどのトラブルはかなり減りました。

ただ、正直なところオススメはしづらいので、デュアルブートやSSDへの完全なインストールを行う前の動作テストとして使うのが無難なところかもしれません。

Amazon

Windows To Goの利用をやめ、microSDを初期化したい場合

Windows To Go用に書き込んだmicroSDカードは、ドライブレターが自動的に割り当てされないようになっています。その為、フォーマットを行ってもそれらの設定は残ったままとなります。ボリューム属性を含めて完全に削除するには、管理者権限で起動したDiskPartでcleanを実行する必要があるようです。

ディスク番号の確認
list disk

ディスクの選択
select disk ディスク番号

ディスクの削除(※間違ったディスクを選んでないか再度確認すること)
clean

コマンドは省略できるので、lis disやsel disと入力しても動作します。

ddコマンドでSDカードを丸ごと移行する

SteamOSのデスクトップモードで、microSDカードを丸ごとコピーすることが出来ます。シリコンパワーのものからトランセンドの高耐久カードに変更する際にddコマンドを利用しました。

microSDカードのサイズが小さければ、イメージファイルとしてSteam Deck本体に一時的に保存するのもありですが、Steam Deckと同容量だったので直接コピーすることにしました。

Steam Deckのスロットにコピー元のmicroSDを入れておき、USB Type-Cコネクタにカードリーダーを接続してコピー先の新しいmicroSDカードを入れます。あとはddコマンドでコピーするだけですが、fdiskコマンドでちゃんとデバイスの位置を確認しておきましょう。

そうそう、Steam Deckのデフォルトユーザーでsudoコマンドを使用するにはパスワードの設定が必要なので、予め設定をしておきます。

passwd

ディスクの確認はfdiskで。

sudo fdisk -l

手元では、/dev/mmcblk0が本体SDカードスロットで、/dev/sdbがカードリーダー側でした。

sudo dd if=/dev/コピー元 of=/dev/コピー先 bs=4M status=progress

宛先を間違えると簡単に吹き飛びますので、注意するようにしましょう。

そう言いつつ、ddについてろくに調べもせずにえいやっ!とやってますが……。まぁいいや。

何も考えずにブロックサイズを4Mに指定して実行しましたが、見ての通り3時間半程掛かっています。適切な設定にすればもっと早く終わると思います、多分。

Windows側の各種設定

気休め程度ですが、microSDカードへのアクセスをできる限り減らすようにします。セキュリティを緩くするものが含まれるので、自己責任での実行をお願いします。

Windowsの各種サービスを停止

とりあえずWindows Searchぐらいは停止しておこうと思います。設定はサービス管理ツールから行います。

Windows Searchの停止

インデックスの作成を停止します。今回は原神などのゲーム類しか入れませんし、ファイル検索をすることもないでしょう。

Windows Event Logの停止(一時停止なら可)

イベントログの記録を停止します。とはいえ、軽く調べたところ一時停止は行えても完全停止は面倒そうなので、やる気があれば完全停止に挑戦してみるのも良いでしょう。

Windows Defenderの除外設定

「原神のインストールフォルダ」を検索から除外します。セキュリティリスクとなりますが、リアルタイムスキャンの対象にしないことで、低速なmicroSD上での読み書きが多少はマシになるかもしれません。

Windows セキュリティダッシュボードから、「ウイルスと脅威の防止 → ウイルスと脅威の防止の設定 → 除外の追加または削除 → 除外の追加」から追加します。

おすすめ機能などの停止

なにかと邪魔かつ地味に負荷が掛かるWindowsのお節介機能を停止します。それぞれのチェックを外してください。

  • システム→通知→追加の設定
    • 更新後およびサインイン時にWindowsのウェルカムエクスペリエンスを表示して、新機能と提案を表示する
    • Windowsを最大限に活用し、このデバイスの設定を完了する方法を提案する
    • Windowsを使用する際のヒントや提案を入手する
  • 個人用設定→スタート
    • 最近追加したアプリを表示する
    • よく使うアプリを表示する
    • 最近開いた項目をスタート、ジャンプリスト、ファイルエクスプローラーに表示する
  • プライバシーとセキュリティ→全般
    • Windowsにアプリ実行の追跡を許可して、スタートメニューと検索結果の質を向上させる
    • 設定アプリでおすすめのコンテンツを表示する
  • プライバシーとセキュリティ→診断とフィードバック
    • オプションの診断データを送信する
    • カスタマイズされたエクスペリエンス
  • プライバシーとセキュリティ→アクティビティの履歴
    • このデバイスでのアクティビティの履歴を保存する
  • プライバシーとセキュリティ→検索アクセス許可
    • このデバイスの検索履歴
    • 検索のハイライトを表示する

ウィジェットを停止する

Windows 11 Proであればローカルグループポリシーエディターから停止できます。今回はウィジェットそのものをアンインストールします。

Windows ターミナルを管理者権限で起動してから、Wingetコマンドで「Windows Web Experience Pack」のアンインストールを行います。

winget uninstall "windows web experience pack"

再インストールは以下から行えます。

Get Windows Web Experience Pack from the Microsoft Store
Windows Web Experience Pack

復元ポイントの作成を停止する(任意)

「システム→バージョン情報→システムの保護」を開き、「構成」を選択。システムの保護を無効にするを選んで復元ポイントの作成をしないようにします。

但し、万が一の時にシステムの復旧が行えませんので、無効にするかどうかは自己判断で。

仮想メモリを使用しないようにする

microSDへスワップされると非常に困るので、仮想メモリを使用しないようにします。

「システム→バージョン情報→システムの詳細設定」にある「パフォーマンスオプション」を開き、詳細設定タブで「変更」を選択します。「全てのドライブのページングファイルのサイズを自動的に管理する」のチェックを外して、「ページングファイルなし」を選び、設定ボタンを押すと仮想メモリが無効になります。

Steam Deckは16GBのメモリが搭載されており、メモリを2~3GB程度しか使わない原神を遊ぶぐらいであれば十分です。グラフィックス用の1GBを加味してもまだ余裕があります。

とはいえ、仮想メモリがある前提で動いているものもありますし、Windows Updateなどが上手くいかないときだけ、仮想メモリを有効にする必要があるかもしれません。

システムログの停止

「システム→バージョン情報→システムの詳細設定」から「起動と回復」を選び、「システムログにイベントを書き込む」のチェックを外します。

ハイバネーションの無効

Windows To Goであれば、ハイバネーションは規定で無効のはずですが、一応確認しておきます。Windowsターミナルを管理者権限で起動して、以下のコマンドで確認と無効化が行えます。

ハイブリッドスリープや休止状態が利用不可能な状態になっていればOKです。

確認
powercfg /a

無効化
powercfg /h off

ドライブの最適化の停止

ドライブの最適化ツールを確認すると、Windowsを入れたmicroSDカードは「ハードディスクドライブ」として認識されているようなので、このままでは「デフラグ」が行われてしまいます。Trimコマンドに対応したSDカードも存在するようですが、Windows側はHDDと思い込んでいることから、OS標準機能でTrimコマンドの発行は利用できないようです。あまり期待しないでおきましょう。

Cドライブのプロパティを開き、「ツール→最適化」からドライブの最適化を開きます。スケジュールされた最適化の欄で「設定の変更」を選択し、「スケジュールに従って実行する(推奨)」のチェックを外してください。

ハードウェアクロックをUTCとして設定する(任意)

WindowsとLinux(SteamOS)とではマザーボード側で保持している時間(RTC)の解釈の仕方が違うため、OSを切り替えると9時間(日本標準時設定の場合)ずれてしまいます。

以下のレジストリを開き、

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

DWORD型のキーで「RealTimeIsUniversal」を作成し、値を1に設定します。

次に、「手動」となっているWindows Timeサービスを「自動起動」するように変更しておきます。ログオン後に日本標準時に補正されるはずです。

但し、この設定を行うとRTCの更新をWindowsが行わないようになるので、Windowsしか起動していないとそのうち数分ズレる事になります。(Windowsが時刻を補正しても保存はされない)

今回はSteamOSを主体として利用することを想定しているので、Windows側で対処することにしました。ちゃんとSteamOS側でゲームを遊んでいれば、SteamOSによって自動的に時刻の補正が行われるはずです。

Steam Deckのコントローラーを使えるようにする

SteamをインストールせずにSteam Deckのコントローラーを使いたい場合は、「Handheld Companion」か「Steamdeck Windows Controller Driver(SWICD)」のどちらかをインストールします。

GitHub - Valkirie/HandheldCompanion: ControllerService
ControllerService. Contribute to Valkirie/HandheldCompanion development by creating an account on GitHub.
GitHub - mKenfenheuer/steam-deck-windows-usermode-driver: A windows usermode controller driver for the steam deck internal controller.
A windows usermode controller driver for the steam deck internal controller. - GitHub - mKenfenheuer/steam-deck-windows-...

ただ、手元の環境(Steam未インストール状態)ではどちらも上手く動かなくなってしまったので、Steam Deck Toolsに変更しました。

GitHub - ayufan/steam-deck-tools: (Windows) Steam Deck Tools - Fan, Overlay, Power Control and Steam Controller for Windows
(Windows) Steam Deck Tools - Fan, Overlay, Power Control and Steam Controller for Windows - GitHub - ayufan/steam-deck-t...

お手軽なのはSWICDで、凝った感じなのはHandheld Companionって感じです。SWICDはキーボードショートカットの設定が上手く動かなかったので、例えばスクリーンショットを撮りたいときに困るかもしれません。

Steam Deck Toolsはオンラインゲームなどのアンチチートを利用するソフトで引っかかる可能性のある操作(カーネルドライバを利用する)をすると警告をしてくれます。それはさておき、なんとなく入力遅延があるような気がするのですが……。

リフレッシュレートを最低40Hzに変更できるようにする

CRUに設定ファイルを読み込んで、リフレッシュレートを変更できるようにします。以下のサイトを参考にしました。原神の45FPS設定に合わせて45Hzで使っています。

Steam Deck のリフレッシュレート 40Hz 設定方法|SteamOS / Windows版
Steam Deck のリフレッシュレートを 40Hz に設定する方法を解説します。リフレッシュレートを制限することで、ゲームのパフォーマンスとバッテリー持ちを

原神のインストール

とても時間が掛かるので、電源に繋いだ状態でほったらかしておきましょう。5時間ぐらい……。

バージョン3.5へのアップデートは、事前ダウンロード済みの状態で30分程度掛かりました。一般的なゲーミングPCであれば5分ぐらいで終わるので、やはりストレージの遅さがネックですね。

ちなみに、初期設定の状態だとはみ出すので、原神のランチャーをスケーリングしないようにしておくと画面に収まるようになります。ディスプレイが小さいので項目が小さくなりますが、Windowsのスケーリングを100%にしてもいいです。

電池持ち優先で最低設定45FPSとしましたが、TDP 5Wの設定でもスムーズに動いてくれました。

余談ですが、「崩壊:スターレイル」も快適に動作します。microSDからでもかなりロードが早いですし、アクションゲームではないのでプチフリしたとしても遊びやすいかと思います。

やっぱ内蔵SSDにインストールした方がいい?

それは言うまでもなく内蔵SSDにインストールした方が快適です。

microSDでも崩壊:スターレイルあたりはサクサク遊べますが、原神はかなりストレージ性能を要求される感じがあります。microSDで試してみて、やはり我慢できなくなった場合は素直に内蔵SSDにインストールしましょう。

タイトルとURLをコピーしました