いろいろと仮想化関連を触ってはいるのですが、ライセンス関連で仮想化上のWindowsには触る機会はありませんでした。
自分のようにまっさらな状態から環境構築しながら、テストをしていくような内容のエントリーを書いていると、アプリによっては一度インストールや環境構築を行うと表示内容が変わってしまう状況はかなり痛いなと感じています。そのため、Windows環境のものはその影響が強く、テストしてからの画面キャプチャを行うというよりは、初回のテストを行いながらキャプチャを行っていくため、順序がめちゃくちゃになりがちという悩みがありました。
たまたま知ったのですが、WindowsProのライセンスではWindowsSandbox
の機能があり、起動しているWindowsとは別で仮想上のWndows(以降サンドボックス)を立ち上げることができるようです。また、このサンドボックスは終了すると初期状態に戻ってしまうため、テストが失敗したらそのまま終了することで、母艦環境を変化させることがないという安心感を得ることができます。
今回はそのサンドボックス機能を有効化し、使ってみようという内容になります。自分にとっては結構うれしい機能です。
WindowsSandbox
の機能の有効化
デフォルトではこの機能はONになっていないため、有効化の設定を行う必要があります。
まずはWindowsPro上で【コントロールパネル】を開き、【プログラム】をクリックします。
【プログラム】をクリックすると以下のような画面になります。続いて【プログラムと機能】の中にある【Windowsの機能の有効化または無効化】をクリックします。
【Windowsの機能の有効化または無効化】のダイアログが開くので、チェックボックスのリストをスクロールさせて
【Windowsサンドボックス】のチェックを入れ、ダイアログの【OK】ボタンをクリックします。
インストール処理が行われて
再起動を促すダイアログ表示となるので、【今すぐ再起動】ボタンのクリックを行います。
これで、サンドボックス機能が有効化されます。
サンドボックス機能を使用する
機能が有効化されれば、あとは起動して使用するだけです。Windowsのスタートメニュー【田】を押して、【WindowsSandbox」と入力することで候補が上がってきます。あとは【開く】を選べば
サンドボックス化されたまっさらなWindowsがWindow化して起動します。
サンドボックスの動きを確認する
Windowsの初期状態のスナップショットが起動しているというイメージ。
起動のスプラッシュスクリーン
初期状態
インターネットの使用に関して
また、このWindowsはインターネットの通信も可能になっているので、ブラウザからの動きをみることも可能です。ブラウザがEdge
(Chromeブラウザベース)のみとはなります。もちろん新たにブラウザをインストールすることも可能です。
yahooを表示してみました
ファイルやアプリのインストールに関して
サンドボックスなので、ファイルの操作やアプリのインストールは可能です。ただし、一度サンドボックスを終了させるとそれらの変更はなかったことになります。今回はNode.js
をサンドボックス側にインストールしてからサンドボックスを終了させて、初期状態に戻ったかを確認してみます。
まずは母艦の状態を確認します。母艦となるWindowsProにはNode.js
はインストールされていません。
コンソールからNode.jsの起動確認(失敗)
ではサンドボックスを起動し、ブラウザからNode.js
のサイトを開き、LTSバージョンのNode.js
をインストールします。
LTSバージョンのNode.js
のインストーラーをダウンロード
デスクトップにインストーラーを保存
インストーラーを起動
インストール後にはスタートメニューから検索が可能に
CLIからの実行ができます
無事にインストールができたので、このサンドボックスを終了させて再起動し、状態を確認します。 終了時にはクリアされることを確認するダイアログが表示されます。
再起動すると、先程デスクトップに保存していたNode.jsのインストーラーがなくなっています。
また、スタートメニューからNode.js
を検索してみても存在していません(代わりにcmd
が表示されています)
ターミナルからNode.js
を実行しても、実行に失敗します。
また、サンドボックスでインストールしたアプリは母艦側のWindowsProには全く影響がありません。
ストレージの容量とメモリの消費に関して
ストレージは40GBになっていました。このサイズは母艦によって異なるのか、あるいは固定なのかはわからないですが、最小限のサイズになっているようです。(母艦のWindowsのストレージサイズは500G)
サンドボックス起動時のメモリもかなりありそうな気がするのですが、5.5GBのメモリ消費になっています。
サンドボックス起動時の母艦側のタスクマネージャーの状態
ここでサンドボックスを終了すると以下のように変化しました。メモリ消費が4.1GBになっているのでサンドボックスでの消費がなくなっているようです。
サンドボックス終了後の母艦側のタスクマネージャーの状態
ちなみにサンドボックス側のタスクマネージャを起動してメモリ消費をみてみると1.0GBのメモリが使用されていました。このあたりは母艦側のWindowsProとメモリはシェアされているのかなと思います。
おわりに
自分のように環境構築の再現性とかまで確認したい人間にとってはこのWindowsSandboxの機能
はかなり助かる機能かなと思います。実際使用している環境を壊すことなく設定が可能になるので大きな安心感があります。
現在のWindowsはWSLの環境
があるので、Linuxも環境も使用できますし、今回のSandboxの機能
でWindowsの環境も使用できます。最近ではWindows Subsystem for Android
もでてきているのでAndroid環境も動作できるようになってきているようです。
個人ではWindowsのProライセンスの効果ってそれほど大きくなかった印象ではありますが、このSandbox
の機能だけでも自分は意味があるかなと思ったり。