ハードウェアファーム・OS電脳

メインマシンの座をLinuxPCに譲ったDeskMini X300で仮想化を試す。最後はVLCでHTPCに

この記事は約8分で読めます。

メインPCを別のDebianマシンに代替しました。

とうとうDebian LinuxをメインPCに。Windowsからの卒業
別の用件で、ふとGeminiさんに「アーリーアダプターの対義語」として次の事を訊ねてみたことがあります。不利益に対しては慣熟を超えてでも脱出を図るような早期離脱者を表す表現ってありますか?例えば、XのGrokがユーザー投稿をラーニング対象にしたことで離脱する絵師とか、メイン支払いに使ってたクレジットカードを、ポイント制度が改悪されたことですべての支払いを別のクレジットカードに移すことを厭わない人とか。具体的には、サービスプラットフォームにユーザーに不利益で一方的な改変を加えられた場合、即座に離脱反応する層で…

これまでメイン機だったX300は、息子の同じX300 Windows11マシンのほうを高性能化しようと

CPUのRyzen3 3200Gを、息子のX300に入ってるAthlon 3000Gと交換しています。

同時にメモリも32G⇔16Gと息子のマシンのほうを増量してます。

そしてこのX300にも、

いったんDebian LinuxをWindows11に上書き導入してみました。

WindowsはDebianの中での仮想化を図るためです。

X300にDebianを導入した後、仮想化作業に入る前に

X300とメインマシンのDebian上で計測したベンチ結果を以下に示します。
CPU(全てAMD)旧メイン:
Ryzen3 3200G
ダウングレード:
Athlon 3000G
新メイン:
Ryzen7 1700
M\BASRock Deskmini X300ASRock Deskmini X300GIGABYTE GA-AB350M-D3H
環境・メモリAM4 / DDR4 32GAM4 / DDR4 16GAM4 / DDR4 32G
GPU構成Radeon Vega 8Radeon Vega 3Radeon HD 7750 (GDDR5)
SSDSATA KIOXIA 480GBSATA KIOXIA 480GB+M.2 SP 128GB
【ベンチ結果】
CPU Blowfish40.0819.6373.81
CPU CryptoHash23.4015.8055.10
GPU Drawing242.45239.94399.58
SSD RND4K Q1T1 (Read)28.5121.6741.60
SSD RND4K Q1T1 (Write)61.1434.7772.14

以下はX300のCPUを交換する前後の、左がRyzen3 3200G、右がAthlon 3000Gです。

Hardinfo2
CPU Blowfish
CPU CryptoHash
GPU Drawing
KDsikMarkでのSSD RND4K Q1T1

このCPU交換作業中、自分のLinuxなX300では設定の変更など何らかの作業をする必要は全くありませんでした。
しかし息子のWindowsなX300では、CPU交換でライセンス認証が通ってるかどうかの確認だけは要しました(無事通り、息子のPC環境が改善しました)。

それでは

X300にWindows仮想環境を導入してみます。

結論から申しますと、仮想環境の構築には成功しました。
しかし、X300にデジタルライセンスされたWindowsのライセンスを、仮想環境にうまく引き継ぐことは出来ませんでした。
後述しますが、X300は最終的にOSを元のWindowsに戻しています。

以下はGeminiさんの助言をいただきながら仮想化をすすめた経緯です。

KVM / Virt-Manager 導入
KVM、QEMU、Virt-Managerなど関連パッケージをインストール
sudo apt update
sudo apt install -y qemu-system-x86 libvirt-daemon-system libvirt-clients virt-manager ovmf swtpm
ユーザーをlibvirtグループに追加

$USERは自分のユーザー名です。

sudo usermod -aG libvirt $USER

ここで一度ログアウト-ログインしなおして、グループ設定を反映させます。

仮想化サービスの起動と自動起動有効化
sudo systemctl enable --now libvirtd

これで仮想化マネージャーが起動できます。

既にあるWindows10のMediaCreationToolで作成した物理インストールCDから、ISO ファイルを作成する
dd if=/dev/sr0 of=~/Downloads/win10_installer.iso bs=4M status=progress
VirtIO ドライバーの準備
wget -P ~/Downloads https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.262-1/virtio-win.iso
Windowsのライセンスを引き継ぐため、仮想環境にハードウェア情報を反映

先日まで動いていたWindowsのライセンス認証を、仮想環境でも通すことを狙います。

実機情報の確認
sudo dmidecode -s system-uuid
sudo dmidecode -s system-manufacturer
sudo dmidecode -s system-product-name

system-manufacturer: To Be Filled By O.E.M.
system-product-name: To Be Filled By O.E.M.
system-uuid:(実機の 36 桁 UUID)

仮想マシンマネージャーの設定

メニューのシステムにある「仮想マシンマネージャー」を起動します。

新しい仮想マシンの作成ボタンをクリック。

ローカルのインストールメディアを選択して次へ。

この先はスクショを残していませんが、

  • その次のダイアログボックスで、インストールISOイメージは先ほどISO化したWindows10MCTを選択。
  • その次のダイアログボックスでは、割り当てるメモリを8192MB、CPUコアは2に設定しました。

その次で「インストールの前に設定をカスタマイズする」画面では、

  • ファームウェア: UEFI x86_64: /usr/share/OVMF/OVMF_CODE.fd を選択。
  • ハードウェア追加ボタンから、「TPM」を選択(タイプ: Emulated, モデル: CRB / TPM 2.0)
仮想環境に実機情報を反映

ひとつ前のカスタマイズ画面に戻って、XMLタブから<uuid>セクションにある自動生成UUIDを編集して

<uuid>(ここに取得した36桁のUUIDを入力)</uuid>

</os>の前に

<smbios mode='sysinfo'/>

</domain>の前に

<sysinfo type='smbios'>
    <system>
      <entry name='manufacturer'>To Be Filled By O.E.M.</entry>
      <entry name='product'>To Be Filled By O.E.M.</entry>
      <entry name='uuid'>(system-uuid:実機の36桁UUID)</entry>
    </system>
  </sysinfo>

とXMLを編集。

これでインストールを進めることにしました。

Debianデスクトップ上のウインドウで通常のWindowsインストール画面が進むことはとても新鮮です。

以下は参考として、別のDebianマシンにWindows11を仮想インストールした様子です。

X300でも、無事にWindows10のクリーンインストールは完了しました。

ただし述べたとおり、残念ですが元のマシンのデジタルライセンスは引き継がれませんでした。

このX300はそのままDebianで使う手もありましたが、メインマシンのDebianで認識できなかった初代iPodTouchを見捨てるわけにはいきません。
これまで五年以上メインで使ってたX300には、iPodTouch 1Gに音楽データを転送するという用途だけ残すことにました。

最低1台のWindowsマシンが必要なことから、

このX300のOSは、もとのWindowsに戻すことにしました。

ここでも私の企みを阻むのは「プロプライエタリ」です。
もし仮想化出来てたら、初代iPodTouch含めたリッピング環境を1台で賄えたんですが…

Windowsライセンスの仕組みには、仮想化への移行を制限したい意図を感じます。
自分は今回の経験をきっかけに今後プロプライエタリ陣営から距離を置くことにしました。
未使用のWindowsライセンスをお持ちな方は、仮想化をぜひ試してみてください。

なら別のマシンに役割分担させていた

円盤再生を、このマシンにも兼ねさせることにしました。

これまで円盤再生の役割を担っていた古いPCが、GPUであるnVidia-legacyドライバが対応しなくなったことにより、最新のLibreELECが入らなくなったので。

LibreELECな古いHTPCでブルーレイが再生可能に。外付ドライブの円盤再生用「艦橋」という余生
記事タイトルは決して「環境」の誤変換ではありません。いつもは「母艦」「専用機」という言葉を当てはめそうな場面ですが、今回の場合に限り「艦橋」と呼んだ方がもっと相応しそうだったので。このたび、久しぶりにPCカスタムネタで胸熱なエウレーカ体験が出来ました。10年ほど前にヤフオクでたまたま見かけ、Arduino unoよりも安く落札できた新同品のベアボーンPC、ZOTAC HD-ID11。製品の世代としては15年前ほどのものとなります。CPUはIntel Atom D510というロースペックさから、入手してから用…

X300にVLCをインストールしたのちに、2つのファイルをダウンロードします。
ダウンロード先は、私は上記のLibreELECの時にもおせわになってた

FindVUK Online Database

FindVUKからにしました。
ここから

以下の2つのファイルをダウンロードして、所定の位置に配置します。

キーデータベース(KEYDB.cfg)
  • 配置先フォルダ: C:\Users\<ユーザー名>\AppData\Roaming\aacs\
    • ※ AppData は隠しフォルダですので、Win + R キーを押して %APPDATA% と入力して開くと簡単です。
    • aacs フォルダがない場合は新規作成し、その中に Linux で使っていた KEYDB.cfg をそのままコピーして配置します。
AACS ライブラリ(libaacs.dll)
  • 配置先フォルダ: VLC がインストールされている本体フォルダ
    • 64bit 版 VLC の場合: C:\Program Files\VideoLAN\VLC\
    • ここに Windows 用の libaacs.dll を配置します(※ Linux 用の .so ファイルではなく、Windows 用の .dll ファイルが必要です)。

この2つで、すでにBDの再生は可能になってます。

最後に、VLCでディスクメニューを表示するためにJavaをWindowsマシンにインストールします。

純正でもいいのですが、Geminiさんからお奨めされたOSSのJavaディストリビューション「Eclipse Temurin®」にしました。

Adoptium
Eclipse Adoptium provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure.

このAdoptium公式サイトから、「Other Downloads →」へ進み、Windows、アーキテクチャを x64、パッケージタイプを JRE に絞り込みます。

表示された .msi インストーラーをダウンロードして実行するだけです。

これだけで、Blu-rayをメニュー付きで再生するWindows環境が出来上がりました。

コメント

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