FC2ブログ

      OracleVirtualBox6.0でWindowsXPモードを使う2&BIOSファイル改造

      PC設定
      08 /16 2019
      2017年11月に記載した、OracleVboxでXPモードを使うの記事が好評なので、アップデートする。

      以前書いた記事からVboxのバージョンも上がったので改めて方法を記事にする。

      HyperV形式のVHDファイルもそのまま扱えるので、VDIへのフォーマット変換も不要。
      (もしかしたら5.2のときも使えたかもしれませんが・・・・)

      PCの環境
      Operating System
      Windows 10 Pro 64-bit Rev.1903
      CPU
      Intel 9900ES 8C16Th
      Intel Core @ 1.70GHz 51 °C
      Kaby Lake 14nm Technology
      RAM
      32.0GB
      Motherboard
      ASUSTeK COMPUTER INC. ROG STRIX Z390-F GAMING (LGA1151) 39 °C

      準備1 ホストマシンのBIOS設定
      Oracle Vboxで64bitのゲストOSを使うためには、ホストマシンで「Intel Virtualization TechnologyがEnable」となっている必要があります。


      最近のBIOSはデフォルトがDisableとなっています。


      準備2 ソフトのダウンロード
      Oracle Vboxのインストール用
      Oracle Virtual Box6.0のダウンロード

      xpモードのファイル解凍用
      7zipのダウンロード

      xpモード本体
      WindowsXPモードのダウンロード

      biosファイルの作成環境
      linuxmint-18.1-mate-64bit.isoのダウンロード

      biosファイルの編集用(xpモードの認証回避)
      バイナリエディタ - xedit -のダウンロード

      手順(標準的なところは割愛します。)
      1、Oracle Vboxのインストール
      ダウンロードした「VirtualBox-6.0.10-132072-Win.exe」をダブルクリックで実行します。

      2、「WindowsXPMode_ja-jp.exe」を7zipを使って展開する
      WS90001.jpg

      WS90000.jpg
      3、展開したフォルダ内にある、xpminstl32.msi(XPモードのインストーラー)から「Windows XP Mode base.vhd」を作成する

      Win+Rで「ファイル名を指定して実行」を起動。名前に「cmd」と入力してコマンドウィンドウを起動する。

      c:\windows\system32\msiexec.exe /a E:\WindowsXPMode_ja-jp\sources\xpminstl32.msi targetdir="E:\WindowsXPMode_ja-jp\XPMode" /qn
       ※「E:」配下の文字列は環境に合わせて変更をしてください。
      WS90004.jpg

      WS90003.jpg

      WS90006.jpg 
       ※Windows標準の「msiexec.exe」の機能を使って「XPMode」フォルダ内に「Windows XP Mode base.vhd」を展開するコマンド
       
      4、作成した「Windows XP Mode base.vhd」を使って、ゲストOSをVbox内に作成する。
      OracleVBOXを起動すし、メニューから「新規」を選択する。
      WS90007.jpg

      仮想マシンの作成ウィンドウが起動するので、下部のエキスパートモードをクリック。
      WS90008.jpg 

       ※名前には他マシンと区別できるように名称を入力。画像では「WinXP」WindowsXPであることが解るように入力すると、タイプ(T)とバージョン(V)は自動的に選択される。
       
      メモリは2GB(2048MB)程度を割り当てると良い。
       ※ホストマシン搭載のメモリに応じて適当に指定してください。
      WS90017.jpg 

      ハードディスクは「すでにある仮想ハードディスク」を利用するを選択し、3項で作成した「Windows XP Mode base.vhd」を選択する。

      「作成」をクリックする。
      WS90016.jpg

      と以下のようにゲストOSが作成される。

       ※ゲストOSを起動した際にエラーが表示される場合、先に選択した「Windows XP Mode base.vhd」のファイル属性を変更する。
       ※デフォルトで属性が「読み取り専用」になっていると起動時にエラーが表示される
      WS90019.jpg 

      WS90021.jpg 

      WinXPゲストOSを起動して、初期設定を行う。
       ※うちの環境ではゲストOSウィンドウ内をクリックしてもゲスト0S内でマウスがアクティブにならなかったためキーボード操作のみで実施。
       ※後でGuest Additionsをインストールすると、この現象は復旧するらしい。

      ・VirtualBox Guest Additionsのインストール
      ゲストosのメニュー「デバイス」からVirtualBox Guest Additions CDイメージ挿入を選択してGuest Additions CDをインストールする。
       ※キーボードのみの入力状態なので画面の一部が見えなかったりしてインストールを進めるのが難しいかもしれませんが、頑張る。
      WS90022.jpg  
      インストールが完了すると、マウス統合機能が使えるようになります。

      5、XPモードの認証回避用biosの作成
       ・VBOX内にlinuxmintのゲストOSをインストール

       ・biosの元ファイル作成
      Linuxmint(ゲストOS)を起動して、コマンドラインを起動。
      「SU」(スーパーバイザー)に変更して、以下のコマンドを実行する。
      WS90023.jpg

      head -c 1048576 /dev/mem | tail -c 65536 > vboxbios.bin

      コマンドを入力すると、カレントディレクトリ内に「vboxbios.bin」が作成される。
      WS90024.jpg

      作成された、「vboxbios.bin」をUSBメモリなどを使って取り出して、ホストOS上で加工出来るようする。

      「vboxbios.bin」ファイルは、xpモードの仮想ディスクがあるディレクトリ内にコピーしておく。
      WS90029.jpg

       ・biosファイルの改造

      起動した、xeditで「vboxbios.bin」を開く。

      検索メニューのアドレスジャンプ機能をつかって書き換え開始場所「0x908A」へ移動

      「0x908A」から「0x90BC」までの範囲を選択する。
      WS90025.jpg 

      検索メニューから「置換」を選択すると検索データに選択範囲がペーストされる。
      WS90028.jpg 

      置換データに「57696E646F77735F5669727475616C5F58505F4639313631443845374643433131444442464141333639383536443839353933」をコピペする。

      上方向に検索(P)にチェックをつけて「OK」をクリックする。
      WS90027.jpg 

      データが見つかりません。ウィンドウが表示されるが、OKをクリックしたのち、書き換えが変更していることを確認する。

      保存した、「Vboxbios.bin」のファイルサイズが「65536」バイトとなっていること確認する。

      6、xpモードのゲストOSにbiosを読み込ませる

      5項で作成した「vboxbios.bin」ファイルを

      Win+Rで「ファイル名を指定して実行」を起動。名前に「cmd」と入力してコマンドウィンドウを起動する。

      VBoxManage.exeがあるディレクトリまで移動しておく。
      WS90030.jpg

      以下のコマンドを実行する。
      VBoxManage.exe setextradata WinXP "VBoxInternal/Devices/pcbios/0/Config/BiosRom" "C:\Users\chiky\VirtualBox VMs\winxp\vboxbios.bin"

      7、完成
      ゲストOS「WindowsXPモード」を起動してライセンス認証が表示されないことを確認する。
      Windowsの更新の実行。
      ゲストOSの設定を調整しておく
      ビデオメモリの容量を64MB程度に調整する。
      3Dアクセラレーションを有効化にチェックを入れる。
      ネットワークアダプタは、ブリッジアダプターを選択。

      コメント

      非公開コメント

      手順説明簡素化

      記事 「OracleVirtualBox6.0でWindowsXPモードを使う2&BIOSファイル改造」 08/16/2019 。
      手順説明簡素化について。
      【1】 vboxbios.bin の作成 について。
        a. [Linux Mint] [実行中] ウインドウにて、 
             [メニュー] [デバイス] [クリップの共有=双方向]
                     および  [ドラッグ&貼り付け=双方向]
        b. Linux Mint のコマンドライン画面にて、
         mint@mint ~ $ sudo su
         mint mint # head -c 1048576 /dev/mem | tail -c 65536 > vboxbios.bin

         の2行の実行で目的の vboxbios.bin が作成されました。
         head -c 1048576 /dev/mem | tail -c 65536 > vboxbios.bin の文字入力は、説明ブラウザーページからのコピペで済みます。
        c. 作成された vboxbios.bin はファイルのコピペで、Windows ホスト側に取り出すことができます。
        (なお 私はまだ スパーユーザー とか パスワード とか、理解していません。)

      【2】 xedit によるバイナリーコードの書き換え。
        a. xedit で vboxbios.bin を開く。
        b. 説明ブラウザーページから 57696E646F77735F5669727475616C5F58505F4639313631443845374643433131444442464141333639383536443839353933 をコピーする。
        c. 説明ブラウザーページの 「0x908A」から「0x90BC」までの範囲を選択 した図 (例 WS90025.jpg) を見ながら、自分の xedit のスクロールバーを下げ、目的の範囲を正確に選択する。
        d. [編集] [貼り付け] で、書き換える。
        e. 名前を付けて保存する。

        このとき、検索も置換も不要。

      【3】 説明ブラウザーページに次の記述があると、確認が楽になります。
        (起動した W XP において)
        ライセンス認証が通っているか確認する場合は、以下のコマンドをコマンドプロンプトで実行するとよい。 
         c:\windows\system32\oobe\msoobe /a

      以上 参考まで。

      chiky7

      40半ばで初めて、派遣社員になってみた独身男です。2018年3月一杯で派遣社員を卒業してアルバイト生活を送っています。半年間は配送のアルバイトをやってきました。今、新しいアルバイトを始める予定です。
      パソコン関連、仮想通貨投資や健康について書いていきます。
      日記は苦手なので不定期です。