Windows仮想化

便利な世の中ですねぇ
昔は起動するWindowsを切り替えていました... 「デュアルブート」とか「マルチブート」とか言われていたものです。過去形になりましたが、現在でも可能ではあります。
Windowsの起動時にブートメニューを表示させて切り替えて立ち上げる方法で、 それぞれのWindowsは異なるパーティションにインストールする必要がありました。
ここで紹介する「Windows仮想化」はパーティションの分離は必要なく、 仮想化環境のWindowsは元のWindows環境内では単なる「フォルダ」です。
Oracle VM VirtualBox
利用しているWindows10には「Hyper-V」が搭載されているのですが、 サービス常駐させたくなかったのでなかなか手が出なかったのです。
ところが仕事の方で「VirtualBox」を使う機会に出会えました。 不勉強で「VirtualBox」自体も知らなかったのですが、Oracleのサイトから無償でダウンロードして利用できます。
仕事の方はRPAソフトの試用を行なうための環境で、Linux(CentOS)サーバが必要だったため利用したものですが、 必要時にスタートメニューやデスクトップアイコンから起動できるものなので、私のようにフリーソフトの動作確認に使うというような用途には非常に便利です。

VirtualBox

これは4Kディスプレイの左下隅の切り抜きです。
Windows10のスタートボタンやタスクバーアイコンが一番下に並んでいるところに、Windows7がウィンドウとして表示されています。
起動しているウィンドウは「シンプルなパスワード管理ツール」です。

VirtualBox

スタートメニューやデスクトップアイコンから起動すると、この「Oracle VM VirtualBox マネージャ」が立ち上がります。
ここで左から起動するOS(現在はWindows7しかない)を選択して上の「表示」をクリックすると 1つ上の画面のようにWindows7が別ウィンドウで起動されます。

さて、ここで「仮想化支援機能」を起動していないことに気がつきました。 仕事(会社)の方のPCでは、BIOSの設定変更で 「Intel Virtualization Technology」をEnabledにしていました。
変えなくても動くではないか、と思ったら、CPU1つで固定されているし、 新規にOSを追加しようとすると32ビットOSしか選択できません。
Windows10は新規購入で、その前にWindows7(32ビット)Windows8(64ビット)を購入しており、別メディアから起動できるようにしていましたが、 ほとんど利用していなかったので、これらを廃止して今回の「仮想化」の中に移そうとしていたのです。

VirtualBox

これはマザーボードの説明書の一部の写しです。
このように「Intel Virtualization Technology」はデフォルトがDisabledなので、BIOSの設定でEnabledに変更します。

VirtualBox

そうしたら「アクセラレーション」の表示がこのように変わり、CPU数の変更ができるようになり、 「新規」では64ビットOSも選択できるようになりました。
なお、「Windowsの機能の有効化または無効化」にある「Hyper-V」にはチェックは付いていません。

VirtualBox

それでは「新規」からWindows8(64ビット)の環境を作成してみます。
Windows8のメディアをDVDドライブにセットして、この画面から「作成」をクリックすると、 新しいウィンドウの方でWindows8のメディアが起動されてインストールが始まります。
ここから先は自作PCの経験がある方なら慣れておられる作業です。
Windows7Windows8もそうですが、初回起動後はWindowsUpdate100件以上来るのには閉口しますが。 なお、Windows8は速攻でWindows8.1にアップグレードさせています。

VirtualBox

このように「Windows7」「Windows8.1」を選択して実行できるようになります。(名前も整理しました)
仮想化側のWindowsに「Oracle VM VirtualBox Guest Additions」をインストールすると、親Windowsとの間でドラッグ&ドロップによるファイルのコピーもできるようになります。

VirtualBox

この当時に使用していたPCは、メインメモリが8GBなので、Windows10だけだったら余裕なのですが、 仮想環境のWindowsがさらに乗ると圧迫されてしまいます。 仮想側のWindows7Windows8.1のメモリサイズをそれぞれ2GB、プロセッサ数をそれぞれ2とすれば両方同時に実行ができるようなのでやってみました。 4Kディスプレイ(3840×2160ピクセル)なのでスクリーンは余裕ですが、中央下に表示しているタスクマネージャを見るとメモリは7GB近く食われています。
左の黄色のウィンドウがWindows8.1のデスクトップ(1280×1024ピクセル)で、 中央の青色のウィンドウがWindows7のデスクトップ(1280×1024ピクセル)です。


ここでは「Windows7」「Windows8.1」といった異なるWindowsのバージョンを利用するシーンの説明でしたが、 例えば同じ「Windows10」をもう一つ用意して仮想側にもインストールし、Excel(Office)32ビット版、64ビット版 それぞれの環境を1つのPC内に用意するといったことも可能になります。

Windows サンドボックス」
Windows10の「バージョン1903」からは「Windows サンドボックス」が利用できるようになりました。
「仮想化支援機能」が必要など、利用前提条件は上記「Oracle VM VirtualBox」と同様と考えて良いようですが、 こちらは「ソフトウェアの一時的な動作確認」を目的としており、終了段階で全ての環境が破棄されるようになっています。

Windows SandBox

新たなソフトウェアなどを一旦インストールさせて必要な動作確認を行ない、終了しようとすると、

Windows SandBox

このような確認メッセージが表示され、インストールしたソフトウェアなどは全て破棄されます。
あくまで「試しにインストールしてみる」という用途になりますが、Windowsに悪影響を及ぼさないか、確実にアンインストールできるようになっているかなどの確認に用いることができます。



但し、Windows10の最小限の環境でしかないので、Officeも入っていないし、.NET Frameworkもありませんから、 残念ながら「作成プログラムのテスト環境」にはなり得ませんでした。
  ↑ 当初はこのように書いていたのですが、当サイトのフリーソフトを.NET Framework4.5以降対応に変更してからは、 動作確認でインストールする段階で.NET Frameworkは自動インストールされるので、テスト環境としての利用はできるようになりました。