SteamDeck疑似環境の構築方法


(2022/08/04追記:一番後ろに、SteamDeck用LinuxのSteam OSとそれを他機種でも使えるように細工したものの紹介を追加)

Steam Deckという手持ちゲーミング端末がリリースされる予定になっている。

現状は一部の開発者向けに実機の提供が行われているが、それ以外のPCでもSteam Deckで使われるManjaro Linux OSをインストールすることで検証ができるように公式の手順が公開されていた。

Developing for Steam Deck without a Dev-Kit

書いてある内容を要約すると・・・

ハードウェア構成

本体:MINISFORUM Elite Mini UM700 (日本代理店 Linksの製品紹介)の Ryzen 7 3750H 搭載モデル

AmazonのMINIFORUM直販より、日本代理店Links直販が安い場合も・・・


ディスプレイ:7インチで1280*800のカーナビ液晶を流用しているものを適当に調達

コントローラ: PS4コントローラかPS5コントローラが最適。XBOXやスイッチ用も使えなくは無いが、トラックパッドがないためフル機能が使えないことに注意。

以前売ってたSteam純正コントローラについては触れられてない・・・

OS設定について

Manjaro LinuxのKDE Plasmaエディションをインストールする。

注:実際にはGPD Pocketでインストールしてみたが、画面キャプチャが面倒だったので、以降の手順は仮想環境で行ったもので代用している。

インストーラで起動すると、下記の様に表示される

環境に合わせて「tz(タイムゾーン)」「keytable(キーボード配列)」「lang(表示言語)」を選び、「Boot with ~」を選ぶ。どっちがいいかは環境による?

しばらく待つとKDEデスクトップが表示される。

この状態でsteam導入もできなくはないのだが、起動ごとに毎回設定がやり直しになるので推奨しない。(OSアップデートがあると警告が表示されたりするが、再起動すると消えるので毎回表示される)

内蔵ディスクや、さらに別途用意したUSBメモリなどへインストールをした方が良い。

インストールはデスクトップ上の「Install Manjaro Linux」をクリックして、インストーラを進めていく。

標準では「スワップを使用しない」が設定されているが、どちらの方がいいんだろうか?(使用しないで進めた)

ゲーミング用途なら、パスワードなしの自動ログイン想定かなぁ?と

インストールを開始します。

…?

FAT32パーテーションを作成した後のLinuxパーテーション作成に失敗している?

パーテーション容量を最大サイズから少し減らしたらインストールが始まった・・・(パーテーション設定のキャプチャなし)

インストール完了

内蔵ディスクから起動しているのでデスクトップ上にInstallのアイコンが消えています。

つづいて、steamのセットアップを実施

左下の「m」メニューから「ゲーム」の「Steam (Runtime)」を選択するか

デスクトップ上で右クリックメニューにある「Show KRunnner」を選択

表示されるウィンドウに「steam」と入力して「アプリケーション Steam(Runtime)」を選択します。

そうするとデスクトップ上に「Steam (Runtime)」アイコンが追加され、Steam setupが開始されます。

セットアップではいろいろダウンロードが行われていきます。

いろいろ処理しているウィンドウが表示されなくなったらダウンロードが終わりなようで、改めてデスクトップ上の「Steam (Runtime)」をクリックすると、Steamのログイン画面が表示されます。

steamにログインすると、まあ、普通に表示されます。

最初に「Steam」の「Settings」を開きます。

「Interface」のlanguageを「日本語(Japanese)」に変更

「Steam Play」の「Enable Steam Play for all other titles」にチェックを入れて、Windowsエミュレーション機能を有効にします。

この設定でいろんなゲームがインストール可能な状態となります。

インストールを選ぶと選択したゲームの他に「Proton(Windowsエミュレーション機能)」と「Steamworks Common Redistributables」のダウンロードが始まります。

ダウンロードが終わり「プレイ」を選択します。

そうすると、「プラットフォーム互換ツールを使用して、このゲームをSteam Playで起動します」というメッセージが表示されます。

ゲームによっては起動前に Microsoft VC Redist Packageインストールなどの処理も実行されます。

やっかいな事に、こういった共有ライブラリが必須であるにも関わらず、特に設定されていないゲームの場合は、プレイボタンを押しても開始に失敗してしまいます。(そういうゲームで起動失敗した場合は何も表示されず、ただゲーム一覧のプレイボタンが再度押せるように戻っていることで察する、という感じ)

なお、仮想環境上での検証は下記の様な感じでDirectX11が上手く動かずに失敗となりました。

GPD Pocket 1で実験した所、FF3は実用的な速度で動作

A列車でいこう9は、かなり遅いものの動く

ライザのアトリエについては、タイトル画面までは出たものの、それ以後の画面は表示できず、という状態でした。


2022/08/04追記

SteamOSとその類似OS

Steam公式にある「自分だけのSteam Machineを組み立てる」はDebian 8ベースの古いSteam OSを使った説明

SteamOS 2.195 リリースノート(2019/07/18)

SteamDeck用のSteamOS 3.xはリカバリイメージとしての提供となっており「Steam Deckリカバリー手順」から入手可能

SteamOS 3.2リリースノート(2022/05/27)
SteamOS 3.3リリースノート(2022/08/03)

Steam Deckリカバリイメージは8GBのUSBメモリに書き込む形式のものとなっているが、vSphere環境上で起動してみようとしたが、うまくいかなかった。

Steam OSのバグについては https://github.com/ValveSoftware/SteamOS/issues から行える。

Steam Deckの内部構造について「Steam Deck Guide」にまとまっている。また、SteamOS相当の機能を他機種でも使えるようにしたLinuxについても紹介されている。

HoloISO

公式: https://github.com/theVakhovskeIsTaken/holoiso

Steam OS 3.xと同じArch Linuxをベースに作られているもの。

SteamDeckと同じAMD系GPUだけではなく、Intel UHD 630+ iGPUや、NVIDIA GTX 9xx GPUでも動く

Nobara Project

公式: https://gitlab.com/GloriousEggroll/nobara-images

こちらはFedora をベースにSteam OS的な機能を盛り込んだもの

ISO生成スクリプトを配布しているだけであるため、ISOファイルをつくるのは別のFedora OSが起動しているサーバで必要なパッケージをインストールした上でスクリプトを実行する必要がある。

winesapOS

公式: https://github.com/LukeShortCloud/winesapOS

USBメモリで起動して使うことを想定したもので、Intel Macでの動作もするらしい。

PlayStation4でLinuxを起動するプロジェクトと組んでPS4上でSteamゲームで遊ぶなんてこともできるらしい。→「WinesapOS 3, based on SteamOS 3 for PS4 with Mesa 22.0.3: PS4 Distro Release

USBメモリから起動する、というあたりはBatocera Linux を使っているようだ

NetAppでファイルのアクセス監査ログを取る


ファイルサーバで、誰かがエクスプローラーの誤操作で変なところにファイルを移動させてしまうことがある。

その時に、アクセス監査ログから誰が移動(削除)操作を行ったかなどを特定できないか、ということで、NetAppのStorage VMに対するアクセス監査の設定を行った。

CIFSアクセスとNFS v4アクセスで利用できる。

公式ドキュメント:SVMでのNASイベントの監査

まずは監査ログの出力先ディレクトリを作成する。これは設定するStorage VM配下のボリュームのどこかに作成する。

今回はvolume:testvolの中に「audit」というディレクトリを作成した。

Storage VMへの監査有効化は「vserver audit create -vserver SVM名 -destination /出力先ディレクトリ」で行う。

ontap98::> vserver audit show
This table is currently empty.

ontap98::> vserver audit create -vserver share225 -destination /testvol/audit

ontap98::>

設定されたことを確認する。

ontap98::> vserver audit show
Vserver     State  Event Types        Log Format Target Directory
----------- ------ ------------------ ---------- ----------------------------
share225    false  file-ops,          evtx       /testvol/audit
                   cifs-logon-logoff,
                   audit-policy-
                   change

ontap98::> vserver audit show -ins

                           Vserver: share225
                    Auditing State: false
              Log Destination Path: /testvol/audit
     Categories of Events to Audit: file-ops, cifs-logon-logoff,
                                    audit-policy-change
                        Log Format: evtx
               Log File Size Limit: 100MB
      Log Rotation Schedule: Month: -
Log Rotation Schedule: Day of Week: -
        Log Rotation Schedule: Day: -
       Log Rotation Schedule: Hour: -
     Log Rotation Schedule: Minute: -
                Rotation Schedules: -
          Log Files Rotation Limit: 0
            Log Retention Duration: 0s

ontap98::>

次にディレクトリに監査を設定する。

CIFSの場合

volume:testvolの中にある「test1」というディレクトリに設定を行うため、プロパティから「詳細設定」を選択

「監査」タブで設定を行う

今回はファイルやディレクトリの削除について記録したいので、「プリンシパル」を「Everyone」と指定し、「高度なアクセス許可」で「サブフォルダーとファイルの削除」と「削除」で設定します。

下記のような表示になります。

これで設定は完了です。

該当するファイルアクセスを行うと、指定したディレクトリ内に「audit_<vserver名>_last.evtx」というファイルにログが出力されていきます。

上記は毎日2:00にファイルをローテートする設定を追加しているので複数のファイルが存在しています。

ちなみに設定は下記の様に行いました。(-rotate-limit 3で設定しているのでファイルが日時入りのファイルが3つある)

ontap98::> vserver audit modify -vserver share225 -rotate-schedule-month all -rotate-schedule-dayofweek all -rotate-schedule-hour 2 -rotate-schedule-minute 0 -rotate-limit 3 -rotate-size 1M

ontap98::> vserver audit show -ins

                           Vserver: share225
                    Auditing State: true
              Log Destination Path: /testvol/audit
     Categories of Events to Audit: file-ops
                        Log Format: evtx
               Log File Size Limit: 1MB
      Log Rotation Schedule: Month: January-December
Log Rotation Schedule: Day of Week: Sunday-Saturday
        Log Rotation Schedule: Day: -
       Log Rotation Schedule: Hour: 2
     Log Rotation Schedule: Minute: 0
                Rotation Schedules: @2:00
          Log Files Rotation Limit: 3
            Log Retention Duration: 0s

ontap98::>

(1回設定した値を消すには 「-rotate-schedule-dayofweek -」などを行う)

で、どんなログが出るか、というあたりですが、ファイルを削除した場合には、イベントID:4656とイベントID:9999が出力されました。

イベントIDの詳細については「監査できるSMBイベント」を参照のこと…ただ、載ってないのもあるんですよね…

NFSv4の場合

NFS v4の場合はLinux上から nfs4_getfacl, nfs4_setfaclコマンドを使って設定する。

NFS v4でマウントして、「test3」というディレクトリのACLを確認

[root@linux mnt]# nfs4_getfacl test3/

# file: test3/
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy
[root@linux mnt]#

上記には「U:」で始まるものがありません。

ファイルとディレクトリに関して成功した操作→「fdS」
対象は全ユーザ→「EVERYONE@」
ACLの変更と削除に関して記録→「Cd」

ということを行いたい場合は「nfs4_setfacl -R -a U:fdS:EVERYONE@:Cd 対象ディレクトリ」と実行します。

[root@linux mnt]# nfs4_setfacl -R -a U:fdS:EVERYONE@:Cd test3
[root@linux mnt]# nfs4_getfacl test3/

# file: test3/
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy
U:fdS:EVERYONE@:dC
[root@linux mnt]#

で、ファイルを削除した場合、イベントID:4663 とイベントID:4658 が記録されました。

NFSで監査できるイベントについては「監査できるNFSファイルおよびディレクトリのアクセス イベント」に記載があるのですが、evtx出力した時にどういうイベントIDになるのか、という対応表はないようです。

また、どちらの場合でも、下記の様なエラーっぽいものが表示されています。この説明が見つかりませんは仕様で回避方法は無いようです。

ソース "NetApp-Security-Auditing" からのイベント ID 4658 の説明が見つかりません。このイベントを発生させるコンポーネントがローカル コンピューターにインストールされていないか、インストールが壊れています。ローカル コンピューターにコンポーネントをインストールするか、コンポーネントを修復してください。

イベントが別のコンピューターから発生している場合、イベントと共に表示情報を保存する必要があります。

イベントには次の情報が含まれています: 

172.17.44.87
EV_RenderedValue_2.00
false
Not Present
Not Present
Security
File
00000000000406;00;0000064f;046d016e
(nfsshare);/test3/test2.txt

メッセージ リソースは存在しますが、メッセージがメッセージ テーブルに見つかりませんでした。
The description for Event ID 4658 from source NetApp-Security-Auditing cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event: 

172.17.44.87
EV_RenderedValue_2.00
false
Not Present
Not Present
Security
File
00000000000406;00;0000064f;046d016e
(nfsshare);/test3/test2.txt

日本語メッセージリソースがないことが原因なのかと考え、英語UIに替えてみても表示は同じでした。

NetApp KB「The description for Event ID cannot be found in the EVTX logs generated by clustered Data ONTAP」があるので解決できるのかと思ったのですが、無理そうです。

単体ESXi環境でWindows 11仮想マシンを作る


Windows 11ではTPMが必須要件となる。

TPM無い場合、下記の様に表示されインストールが行えない。

vSphere 6.7 / vSphere 7.0環境では「仮想 Trusted Platform Module を使用する仮想マシンの保護」(vsphere8ドキュメント)にあるようにvCenterの管轄下に置くことでESXiサーバ間での暗号化情報をやりとりできるようにした上でvTPMの設定を行うことができる。

しかし、ESXi単体の場合、vTPMの設定を行うことができない。

これを回避するためには、TPMがなくてもWindows 11をインストールできるように細工する必要がある。

ただMicrosoft的には推奨では無いということを考慮した上で実施すること。(Microsoftの公式見解 最小システム要件を満たしていないデバイスに Windows 11 をインストールする/Installing Windows 11 on devices that don’t meet minimum system requirements)

このTPM回避の設定を行う場合、Windows 11のインストールISO/USBを修正する必要なく、普通にISO/USBから起動してから回避方法を実行することができる。

上記の画面やエディション選択などに来たら、Shiftキーを押しながらF10キーを押す(Shift+F10)、とコマンドプロンプトが開く。

コマンドプロンプトで「regedit」と入力し、レジストリエディッタを開く

「HKEY_LOCAL_MACHINE\SYSTEM\Setup」に、新規キー「LabConfig」を作成

その中に新規DWORD「BypassTPMCheck」を作成し、値を「1」とします。

また、SecureBoot非対応環境の場合は「BypassSecureBootCheck」を「1」、メモリの最低容量チェックを飛ばす場合は「BypassRAMCheck」を「1」とします。

設定後はレジストリエディッタを閉じて、あとは普通にインストールします。

ローカルアカウントでセットアップを行う手順

また、マイクロソフトアカウントではなく、ローカルアカウントで設定したい場合、Homeエディションの場合は非常に面倒です。

使うWindows 11のインストーラがいつ作成されたもの(どのバージョン)であるかによって変わります。

Windows 11 22H2以降のHomeエディション

Windows 11 22H2といった新しいHomeエディションではMicrosoftアカウントとして「no@thankyou.com」を指定して、パスワードは適当に入力してエラーを出します。

(上記ではno@thankyou.comを指定しているが、これはログインエラーを出すのが目的のメールアドレス指定であるため、Microsoft Accountとして登録していない自分が所有しているメールアドレスを使っても良い)

エラーを出した状態で次に進むとローカルユーザの作成ができます。

参考:tom’s hardware「How to Install Windows 11 Without a Microsoft Account

Windows 11 22H2より前のHomeエディション

しばらく前までの「Homeエディション」の場合は、ネットワーク接続をしない状態で設定する必要があります。

上記の状態まで来たら、ネットワークケーブルを外してから、「←」で戻ると、下記のローカルユーザ名入力画面となります。

なお、パスワードは未入力で進めると、電源ON後、パスワード入力無しでデスクトップ画面が表示されます。

Windows 11 Proエディション

「Proエディション」の場合は、下記で「職場または学校用に設定する」を選択

「サインインオプション」を選択

「代わりにドメインに参加する」を選択

これで下記のローカルユーザ名入力画面となります。

Proでもパスワードは未入力で進めると、電源ON後、パスワード入力無しでデスクトップ画面が表示されます。


インストールアシスタントを使ってWindows10からWindows11にアップグレードする場合

こちらについてはMicrosoftからの公式手順「Ways to install Windows 11」内の「Other ways to install Windows 11 (not recommended unless instructed by support)」から記載があります。

レジストリエディッタで「HKEY_LOCAL_MACHINE\SYSTEM\Setup」に新規キー「MoSetup」を作成
そこに新規DWORD「AllowUpgradesWithUnsupportedTPMOrCPU」を値「1」で作成してから、インストールアシスタントを実行するとのこと。

ただ、これはインストールアシスタントでの制約解除なようで、Windows11 ISOメディアから起動する場合には有効ではありませんでした。


2024/01/11追記

vSphere環境でvTPMを使う場合の資料

vTPMを使う場合、まずはvCenter上で キープロバイダの設定 を行う必要がある。(標準では設定されていない)

vSphere Native Key Provider の構成と管理 にある手順に従い設定すること。

なお、設定した場合は、損壊時の復旧に備えて vSphere Native Key Provider のバックアップを行い、そのデータを別の場所に保存しておくこと。

vTPM有効にして仮想マシンを作成しようとした場合の情報

Windows 11 guest operating system option is not available during virtual machine creation (85665) (仮想マシン作成時のOS選択にWin11が登場するのはHW ver19以降。それ以前で設定した場合は手動でvTPMハードウェアを追加する)

Failed to create a new Virtual Machine with virtual Trusted Platform Module (vTPM) device (85974) (vTPMハードウェア追加しようとした時にエラーとなる場合はvTPMが設定されていない)


2024/01/23追記

Nutanix でvTPM有効で Windows 11

Broadcomのせいでvsphereがアレなことになちゃってるので、Nutanixという話が出てるのでメモ書き追加

公式資料:Windows 11 on Nutanix AHV
Understanding UEFI, Secure Boot, and TPM in the Virtualized Environment
vTPM (Virtual Trusted Platform Module) support on AHV
Securing AHV VMs with Virtual Trusted Platform Module

vTPM環境を有効にするには基本的にはPrism Centralが必要(Prism Central上からvTPM有効にする)

AHV vTPMとしてハイパーバイザー側でvTPMを有効にする手法もあるが仮想マシンごとにコマンド操作での設定が必要?

単体Nutanix環境で仮想マシン作成すると標準で作成されるCD-ROMはIDE接続だが、それではSecure Boot有効にできない、というので、SATA接続のCD-ROMとして設定しなおすとSecure Bootが有効に設定はできる。

ただ、これで起動したところ以下のTianoCore画面で停止したままとなった。

おそらくvTPMについて設定していないからと想定している

インフラ屋とアプリ屋のあいだにAHVのUEFIの対応と注意点」をみると、TianoCore画面は表示されてるのでSecure Bootにはなってる模様?

とりあえずsshでCVMにログインして「acli」で「vm.list」を実行し、仮想マシンUUIDを取得してから情報をとってみる

<acropolis> vm.get 5468cc7a-f8d0-4f81-b487-9879a9034f07
win11vm {
  can_clear_removed_from_host_uuid: True
  config {
    agent_vm: False
    allow_live_migrate: True
    boot {
      firmware_config {
        nvram_disk_spec {
          create {
            container_id: 791
            size: 540672
          }
        }
        nvram_disk_uuid: "4dbf9ca7-fcc9-4ccb-bb09-68e6efc5e7e3"
        nvram_storage_vdisk_uuid: "7789ad26-5dd6-4449-94be-91d7826e5b1b"
      }
      secure_boot: True
      uefi_boot: True
      windows_credential_guard: False
    }
    cpu_passthrough: False
    disable_branding: False
    disk_list {
      addr {
        bus: "scsi"
        index: 0
      }
      container_id: 4
      container_uuid: "382d3533-a361-494d-a7a0-34a31189194d"
      device_uuid: "b1d3b8c7-55ca-4b54-bbb5-dc420af3c64f"
      naa_id: "naa.6506b8d861d47d56721f107382b7a77b"
      storage_vdisk_uuid: "4c7f99cb-9033-44d6-944c-d336c2e038ea"
      vmdisk_size: 42949672960
      vmdisk_uuid: "59b58d21-b5ae-46df-ac37-c13a09343eb6"
    }
    disk_list {
      addr {
        bus: "sata"
        index: 0
      }
      cdrom: True
      container_id: 4
      container_uuid: "382d3533-a361-494d-a7a0-34a31189194d"
      device_uuid: "286dd080-7c53-4591-a393-ccdfec69d4ba"
      naa_id: "naa.6506b8dad9fd1ba7c387201df7854712"
      source_vmdisk_uuid: "1632fefd-66b0-42aa-a25b-9eec7b545cb2"
      storage_vdisk_uuid: "eae8b9ee-c441-4e65-89ad-a247781fc2d0"
      vmdisk_size: 6549825536
      vmdisk_uuid: "becf4569-795f-4970-ab6b-8505f0f7f210"
    }
    flash_mode: False
    hwclock_timezone: "Asia/Tokyo"
    machine_type: "q35"
    memory_mb: 4096
    name: "win11vm"
    nic_list {
      connected: True
      mac_addr: "50:6b:8d:bb:57:0a"
      network_name: "VM Network"
      network_type: "kNativeNetwork"
      network_uuid: "803e5bea-e486-41f0-90d8-bbf1819393bb"
      type: "kNormalNic"
      uuid: "677e67ac-46c9-4359-be9f-e74f710240fd"
      vlan_mode: "kAccess"
    }
    num_cores_per_vcpu: 1
    num_threads_per_core: 1
    num_vcpus: 2
    num_vnuma_nodes: 0
    vga_console: True
    vm_type: "kGuestVM"
    vtpm_config {
      is_enabled: True
      model: "kCRB"
      version: "2.0"
      vtpm_disk_spec {
        create {
          container_id: 791
          size: 68157440
        }
      }
      vtpm_disk_uuid: "538c10f4-4d63-40bb-9941-75ef33fb5114"
      vtpm_storage_vdisk_uuid: "821c7765-91e2-4ab1-9962-bdad70758e90"
    }
  }
  is_rf1_vm: False
  logical_timestamp: 8
  state: "kOff"
  uuid: "5468cc7a-f8d0-4f81-b487-9879a9034f07"
}
<acropolis>

「secure_boot: True」と「machine_type: “q35″」があるので有効にはなっている模様(「Creating a VM with Secure Boot Enabled」)

「vtpm_config」が「is_enabled: True」ということはvTPMが有効になっていてもよさそう?

New Feature: Secure Boot for VM’s in AOS 5.16」ではさらに「nvram_container=NutanixManagementShare名」と設定している。

AHV Administration Guide の「UEFI Support for VM」を見てみるがPrism CentralなしでvTPMが使えるようになるやりようが見つからない・・・ないのかな?

Securing AHV VMs with Virtual Trusted Platform Module

Windows Serverでドメインの所属しているはずなのにドメインユーザでログインできない


Windows Server でドメインに所属しているはずなのにドメインユーザでログインできない場合は、まずはローカル管理者でログイン

PowerShellを起動して「Test-ComputerSecureChannel」を実行

ここで「False」と出る場合、修正する必要があります。

「Test-ComputerSecureChannel -Repair」を実行します。

結果が「True」と出れば、修正が完了しました。

再度、「Test-ComputerSecureChannel」を実行して、今度は「True」という結果になっていることを確認します

ASUS VivoBook E203NAにWindows10とChromeOSを入れた


秋葉原のMLcomputerにいったら整理中の箱の中にASUSの薄いノートが入っていた。

電源ボタンおしてみたけど、電源は入らない、という状態だったけど、「これいくら?」と聞いて見た。

すると、「ASUS E203MA(あとで調べたらCPUがN4000とちょっとスペックが上)でキーボードが使えないジャンク品を3千円としている」ということだったので、3千円で購入した。

裏面みるとネジが1つなく、1つがセロテープで無理矢理とめられていた。

んー、と思いつつ電源ON

F2キーでBIOS/UEFI画面に入ることができた。

スペックを確認するとASUS VivoBook E203NA の下位モデルでCPU N3350、RAM 2GB、eMMC 32GBというものだった。

メインストレージが64GB未満なのは現状Windows10で使うにはキツイものでした。

Windows 10 21H1をインストールして一通りWindows Updateをかけるとデバイスは全て正常に認識しましたが、問題が・・・

そう、OSだけでほぼ全て使ってしまうのです。

あと、注意点として、Windows 10インストール直後のQualcomm Atheros QCA9377ドライバだとバッファローWSR-1800AX4の802.11ax Wi-Fi EasyMesh対応版に接続出来ないという不具合が・・・

Windows Updateを行って下記のv12.0.0.919にアップデートすると接続出来るようになります。

このほかWebブラウザでサイトを見たりしていたら空き容量が2GBを切っているという・・・

裏面のネジがおかしいのもあるので中を確認

増設の余地は全くない構造でした。

基板がどうなっているかは下記の動画をみてもらうと良さそうです。

なお、ネジがちゃんとついていなかったのは、ネジの長さが2種類あって、2本だけ長いものがあるんですが、その2本の使いどころを誤っていたせいでした。

正しくは下記の画像の赤丸の2箇所なんですが、分解した人は下側左右両サイドに使っていました。

さて、ストレージ増設なんてことはできそうにないので、ChromeOS+brunchで起動してみます。

まずはBIOSでSecurebootをdisableにかえてから、Boot ManagerからUSBメモリを選択して起動します。(電源ON後にいきなりBoot Managerを出す手法は分からなかった)

ChromeOSリカバリイメージはrammus、grubで設定するoptionsは「options=enable_updates,pwa」だけでいけるというなかなか素直な状態でした。

Ctrl+Alt+Tからshellを開いて「sudo chromeos-install -dst /dev/mmcblk0」で内蔵ストレージにChromeOSを書き込んで、本体のみでのChromeOS起動を確認しました。

興味深かったのは、いままでbrunchでrammusイメージを元にしてChrome OSで起動したノートパソコンでGoogleアカウントログインを行うと「お使いの Chome OSで~」というメールが来てたのですが、ASUS VivoBook E203NAにChromeOSを入れたやつでは「お使いの ASUS Chromebook Flip C434で~」と、機種名が書かれたメールになっていた。

ベースとしているrammusは「ASUS Chromebook C425, ASUS Chromebook Flip C433, ASUS Chromebook Flip C434」向けイメージなので、わからなくもないんですが

ASUS Chromebook Flip C434 はCore m3-8100Y/RAM 4GB/ストレージ 32GB/14.0インチ1920*1080/タッチパネルあり、とだいぶスペックが違うのになぁ・・・といった感じです。


2022/05/06追記

Google純正となった「Chrome OS Flex」をASUS VivoBook E203NA上で試したところ、特に問題なく動作しました。


2022/07/20追記

ChromeOS Flexの正式版を入れてみましたが、引き続き特に問題無く動作しました。

入れ替え前は5月にインストールしたベータ版時代のものでしたが、そのときは「104.0.5087.0 (Official Build) dev (64ビット)」という状態で、チャンネルが固定となっており、devからstableへの移行ができませんでした。

正式版に入れ直したところ103.0.5060.114 とdev無しのバージョンとなりました。