2021年9月8日水曜日

Ryzen搭載ChromebookでWindows10を動かす(QEMU-KVM) ※追記2021/09/15

 折角ハイスペックなChromebookを購入したので、色々と試してみたくてLinux環境にKVMを構築してWindows10を動かしてみる


参考にしたのは以下ブログ

【 Chromebook上でWindowsを動かしてみた(QEMU/KVM) 】 


利用するマシンはLenovo C13 Yoga Chromebook

CPUはRyzen 7 3700C 4コア8スレッド、メモリ16GBの最上位モデル

すでに直販サイトでは販売が終わっている模様


WIndows10のライセンスに関しては検証用に余らせているパッケージ版のWindows10 Proを利用した

動作検証のみで短期利用ならライセンスなしでも使えるが、長期利用の場合はライセンスは必須

当然海賊版は論外として、KVM上への構築となるとDSP版もライセンス違反となるため利用できない点は注意が必要


インストール用のWindows 10 ISOファイルは以下公式サイトから

【 Windows 10 のディスク イメージ (ISO ファイル) のダウンロード

また、virtioのドライバを利用するのでそちらのISOファイルもダウンロードしておく

Lastest版は認識しなかったのでStable版を利用した。(virtio-win-0.1.196.iso)

【 https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md

どちらもダウンロードしたらLinuxフォルダへ移動もしくはコピーしておく


また、LinuxコンテナのCrostiniはディスク100GBで構築し、日本語化まで終わらせている状態



まずはいつものコマンド

$ sudo apt -y update && sudo apt -y upgrade


KVMに必要な諸々をインストール

$ sudo apt -y install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon virt-manager



インストールされた【仮想マシンマネージャー】を起動してWindows10をインストールしていく

画面左上のアイコン【新しい仮想マシンの作成】を選択



【ローカルのインストールメディア(ISOイメージまたはCD-ROMドライブ)(L)】を選択して次へ


【参照】からダウンロードしたWindwos10の ISOファイルを選択して次へ



【Memory】は8192(8GB)、CPUは【8】を選択して次へ



ディスク容量を64GBに変更して次へ
必要であればもっと増やしてもいいかもしれないが、基本的にクラウドストレージを使うのと、このWindows環境上でファイルを扱わないので最低限で設定




【インストールの前に設定をカスタマイズする(U)】にチェックを入れて次へ


【仮想ネットワークが有効ではありません】とダイアログが出てくるので【はい】で次へ


詳細設定画面が開くので【CPU数】を選んで以下を設定して【適用】
【ホストCPUの設定をコピーする】 チェック有り
【CPUトポロジの手動設定(Y)】チェック有り
 ソケット数:1
 コア数:4
 スレッド数:2



【SATAディスク1】を選んで以下を設定して【適用】
ディスクパス:VirtIO



【NIC】を選んで以下を設定して【適用】
デバイスのモデル(L):virtio


【ハードウェアの追加】から以下デバイスを追加する
【カスタムストレージの選択または作成(S)】チェック有り
【管理】からダウンロードしたvirtioのISOファイルを選択
デバイスの種類:CD-ROMデバイス


問題なければ【インストールの開始】からWindowsのインストールをスタートする
デバイスの選択ではWin10用の物を選んで次へ



virtioのNIC用ドライバがインストールされていない状態なので、一旦ローカルアカウントでインストールを進める


問題なく起動したらCDドライブ(E) から【virtio-win-gt-x64】を実行してNIC用ドライバをインストールする
また、標準のグラフィックドライバでは動作が重たいので同じパス内にある【virtio-win-guest-tools】を実行してグラフィックドライバも適用する



これでひとまず問題なく動くようにはなったので、改めてMicrosoftアカウントでログインして、OSライセンスを実行した上で、 Windows Updateを実行

また、Chromebookを再起動した際にKVMの仮想ネットワークが自動起動しなかったので、以下をターミナルから以下を実行
$ sudo virsh net-autostart default



一応ベンチマークを動かした結果は以下の通り

・CrystalDiskMark

・GeekBench

・Chinebench R23


どれの値もかなり低め
CPU自体は定格クロック2.3GHz、ブーストクロック最大4.0GHzではあるがそれにしては値が低い
定格クロックの値は認識しているが、ブーストしていない模様

Minecraftを動かした時にも感じたが、RyzenだとLinuxコンテナのCrostini環境だとブーストしていないのか?
設定できるところが見つかればまた追記しようと思う


※追記
Lenovo社に問い合わせたところブーストクロックに関してはサポート外との回答
ChromeOS側の仕様と思われる

Chromebook自体を開発者モードにしてしまえば実現可能な気はするが、そこまで高負荷な処理はKVM上のWindowsでもCrositini上でもやるつもりはないので、一旦諦めることに

折角のRyzen 7 なので次のモデルを買う際には、この辺りも再度注意して情報を探す必要がありそうだ