検索
連載

Hyper-VでWindows 10をゲストOSにする場合の設定と落とし穴Windows 10 Hyper-V入門(2/2 ページ)

アプリケーションのテスト目的などで、Windows 10上のHyper-Vで、ゲストOSとしてWindows 10を動かしたいというケースも多いのではないだろうか。インストール自体はそれほど難しくないのだが、意外な落とし穴もある。そこで、本稿ではWindows 10をゲストOSとする場合の注意点をまとめてみた。

Share
Tweet
LINE
Hatena
前のページへ |       

Hyper-VでゲストOSとしてWindows 10をインストールする場合の注意

 このようにゲストOSとしてWindows 10をインストールするのはそれほど難しくない。それでも、幾つか気を付けた方がいいポイントがある。

ホストマシンのディスク容量に注意

 Windows 10をゲストOSとして使う場合には、仮想ハードディスクは最低でも64GB以上というサイズになる。これに対して、仮想マシンを使い始めると、アプリケーションやWindows Updateなどでも容量が消費される。特に機能アップデートでは最低でも仮想ハードディスク内に10GB以上の空きが必要になる。これらに加えて、チェックポイントを使うと、複数の差分仮想ディスクファイルが作られる。その統合処理などでは、ホストマシン側に作業用の空き領域が必要になる。このため、仮想ハードディスクの想定サイズに対して、2倍以上の空き容量をホストマシン側で確保しておいた方がいい。

 仮想マシン作成手順で説明したように、仮想ハードディスクファイルを作成する際には、その容量を指定する。ただし、最初から指定した容量を全てホスト上で確保するわけではなく、最初はそれより少ない容量しか消費しない。そして仮想マシンの稼働中に、必要に応じて仮想ハードディスクファイルのサイズを増加させていく。このため、最初の時点では、ホストマシン側には空き領域はあるものの、仮想マシンを使っていくうちに仮想ハードディスクファイルのサイズが増えていき、ホスト側の空き領域が減っていくことには注意が必要だ。

Windows Updateのためにネットワーク接続は必須

 仮想スイッチの設定は、インターネットアクセスが可能なものを選択する。これは、Windows 10のWindows Updateが頻繁に行われることから、インターネット接続が必須だからだ。もちろん、短期間であれば、インターネット接続はなくてもいいし、休止やシャットダウンしている間は、Windows Updateも動かない。

 しかし、長時間、インターネット接続していない状態では、セキュリティ更新プログラムが適用されず、脆弱(ぜいじゃく)性が解消されないままマルウェアなどによる被害を受けやすい状態になりやすい。また、インターネット接続を復元すると、自動的にWindows Updateが実行され、Windows 10が遅くなったり、ネットワーク接続が遅くなったりする。

 現状、Windows 10のWindows Updateは、月1回のセキュリティ更新を含むBアップデート(米国太平洋時間の毎月第2火曜日に配布開始)と、必要に応じて行われる毎週火曜日のセキュリティアップデート、そしてWindows Defender Antivirus関連の定義ファイル更新などがある。このとき、ローカルネットワークへのアクセスが可能だと、受信したアップデートを他のPCに転送したり、逆にローカルネットワーク内の他のPCからアップデートファイルを受け取ったりすることができる。そこで、できればローカルネットワーク内のアクセスは可能にしておいた方がよい。

 また、Windows Insider Programのプレビュー版を仮想マシンで動作させる場合には、インターネット接続はほぼ必須になり、同時にローカルネットワークへのアクセスが可能になることで、同一ネットワーク内でのプレビュー版のダウンロードなどを共有できるようになり、効率があがる。

 そのためには、Windows 10をゲストOSとする場合には、仮想スイッチとして「Default Switch」を選択しておくのがいい。このあたりに関しては、Windows 10 Hyper-V入門「仮想スイッチの種別と用途」を参考にしてほしい。

 可能なら、仮想マシンをずっと起動しておく方がよいのだが、メモリやCPUパワーなどを消費することもあり、ハードウェアによっては、長時間稼働は難しい場合もあるだろう。ただし、月1回程度は起動して、Windows Updateを適用させるべきだ。

拡張セッションモードとWindows 10の関係に注意

 Hyper-Vには、さまざまなゲストOSのサポート機能がある。このうち、ゲストOSのGUIでの使い勝手に影響するのは「拡張セッションモード」だ。「拡張セッションモード」が有効になっていると、[仮想マシン接続]ウィンドウや[リモートデスクトップ]ウィンドウで、ホストOS側と直接クリップボード経由のコピー&ペーストなどが可能になる。

 逆に「拡張セッションモード」が有効になっていないと、テキストの貼り付けは、「仮想マシン接続」(仮想マシンのデスクトップ画面を表示するHyper-Vのウィンドウ)のメニューにある[クリップボード]を使ってペーストする必要があり、操作性が落ちる。また、ホスト側のサウンドやUSBメモリといったデバイスの利用も行えない。

 「拡張セッションモード」を有効にするには、Hyper-Vマネージャーの[Hyper-Vの設定]ダイアログの左ペインで[拡張セッションモードポリシー]を選択し、右ペインので「拡張セッションモードを許可する」にチェックを入れればいい。

 ただし「拡張セッションモード」は、リモートデスクトップの機能の一部を利用しているため、ゲストOSでサーバとしてのリモートデスクトップ機能が利用できる必要がある。そのため、サーバとしてのリモートデスクトップ機能を持たないWindows 10 Homeエディションでは、「拡張セッションモードを許可する」の設定にかかわらず、「拡張セッションモード」は有効にならないのは覚えておいてほしい。「拡張セッションモード」を使う場合は、ゲストOSとしてWindows 10 Pro以上のエディションをインストールする必要がある。

「拡張セッションモード」を有効にする(1)
「拡張セッションモード」を有効にする(1)
Windows 10をゲストOSとして使うとき、「拡張セッションモード」が有効だと仮想マシン内のアプリケーションに直接貼り付けができるなどの利便性が向上する。Hyper-Vマネージャーを起動して、左ペインでホストPC名を選択してから、[操作]ペインの[Hyper-Vの設定]を選択する。
「拡張セッションモード」を有効にする(2)
「拡張セッションモード」を有効にする(2)
[Hyper-Vの設定]ダイアログが表示されるので、左ペインで[拡張セッションモード]を選択し、右ペインの「拡張セッションモードを使用する」にチェックを入れる。これで、「拡張セッションモード」を利用できるようになる。

 「拡張セッションモード」は、[仮想マシン接続]ウィンドウの[表示]メニューでもオン/オフが可能だ。メニューの「拡張セッションモード」がチェックされている場合は「有効」、チェックが外れている場合は「無効」である。

[仮想マシン接続]で「拡張セッションモード」を無効にする
[仮想マシン接続]で「拡張セッションモード」を無効にする
MicrosoftアカウントのサインインにWindows Helloが設定されていると、「拡張セッションモード」が有効になっているとサインインができなくなる。このため、仮想マシン接続の[表示]メニューの[拡張セッション]で機能を「オフ」にしてからサインインする。

●Windows 10 May 2020 Updateと「拡張セッションモード」の関係に問題あり

 Windows 10 May 2020 Update(バージョン2004)で実装された「Windows Helloサインインのみ許可」(マイクロソフトの呼称は「パスワードなしサインイン」)と「拡張セッションモード」は共存できない。「Windows Helloサインインのみ許可」と「拡張セッションモード」の両方を有効にした状態で、Windows 10を起動すると、サインイン画面が表示されないという問題が起きる(「Windows Helloサインインのみ許可」が存在しないWindows 10 November 2019 Update以前のバージョンであれば問題は発生しない)。

 このような状態になった場合、「拡張セッションモード」を「オフ」にしてサインインを行い、「Windows Helloサインインのみ許可」を「オフ」にして再起動後に「拡張セッションモード」を有効にすればよい。

 注意が必要なのは、May 2020 Update以降では、MicrosoftアカウントでPINを設定すると「Windows Helloサインインのみ許可」がデフォルトで有効になってしまうことだ。「拡張セッションモード」が利用できなくなるので、PINは設定せずにパスワードでサインインするようにしよう。

ゲストOSのWindows 10上で「Windows Helloサインインのみ許可」を解除する
ゲストOSのWindows 10上で「Windows Helloサインインのみ許可」を解除する
ゲストOSのWindows 10で[Windowsの設定]アプリを起動し、[アカウント]−[サインインオプション]画面を開く。ここの「MicrosoftアカウントにWindows Helloサインインを要求する」欄のスイッチを「オフ」にすると、サインイン時にパスワードが要求されるようになる(「Windows Helloサインインのみ許可」が解除される)。

 「Windows Helloサインインのみ許可」は、[Windowsの設定]アプリの[アカウント]−[サインインオプション]画面にある「MicrosoftアカウントにWindows Helloサインインを要求する」で設定する。これが設定できるのはMicrosoftアカウントを利用している場合だけだ。これに対して「拡張セッションモード」を有効にするかどうかはHyper-Vの設定で決まる。このことを考えると、現時点では、まずローカルアカウントでWindows 10のインストールを完了させるのが安全だ。後述のチェックポイントの問題もあるように、ゲストOSにWindows 10を使う場合、Microsoftアカウントの利用には問題が多い。

「拡張セッションモード」が有効な状態で「Windows Helloサインインのみ許可」に設定するとサインインできない
「拡張セッションモード」が有効な状態で「Windows Helloサインインのみ許可」に設定するとサインインできない
サインインに「パスワードなしサインイン(Windows Helloサインイン)」に設定していて、「拡張セッションモード」を有効にすると、サインイン画面が表示できず、Windows 10にサインインできない。この場合[仮想マシン接続]ウィンドウの[表示]メニューを開き、「拡張セッションモード」のチェックを外し、「拡張セッションモード」を無効にすればよい。

●「拡張セッションモード」の設定ダイアログを非表示にする

 「拡張セッションモード」が有効になると、接続開始時に毎回、[KA2]画面サイズなどの設定ダイアログが表示される。デフォルトでは、その設定が記憶されないため、毎回、このダイアログが表示される。

 しかし、毎回確認するのも面倒だし、PowerShellのスクリプトなどから仮想マシンを起動する場合など、このダイアログが邪魔になることがある。このダイアログを非表示にするには、ダイアログの[オプションの表示]をクリックし、「今後このマシン……」にチェックを入れればよい。これで次回から「仮想マシン接続」ウィンドウを開くときには確認のダイアログが表示されなくなり、チェックボックスをオンにしたとの最後の設定が常に使われるようになる。

 ただし、後述するように、拡張セッションモードの設定を変更するためには、このダイアログを再び表示させる必要があり、その手順は少々面倒で、簡単にオン/オフして気軽に設定を変更するわけにはいかない。

「拡張セッションモード」の設定ダイアログを非表示にする(1)
「拡張セッションモード」の設定ダイアログを非表示にする(1)
[仮想マシン接続]ウィンドウに接続すると、毎回、この「拡張セッションモード」の設定ダイアログが表示される。これを非表示にするには、[オプションの表示]をクリックする。
「拡張セッションモード」の設定ダイアログを非表示にする(2)
「拡張セッションモード」の設定ダイアログを非表示にする(2)
「今後この仮想マシンに……」の項目が表示されるので、ここにチェックを入れると、次回からこのダイアログが表示されなくなる。

●非表示にした「拡張セッションモード」の設定ダイアログを再表示する

 非表示にした、拡張セッションモードのダイアログボックスを再度表示させるには、Hyper-Vマネージャーで仮想マシンを選択して、右クリックメニューから[セッション設定の編集]を選択する。ただし、この右クリックメニュー項目は、「仮想マシンが拡張セッションで起動中」で、「仮想マシン接続ウィンドウが閉じている」という2つの条件を満たしているときのみ有効だ。

 この2つの条件を満たした状態でないと、[セッション設定の編集]がメニューに表示されなかったり、クリックしても拡張セッションモードのダイアログが表示されなかったりする。この機能が有効なら、[セッション設定の編集]をクリックすると、閉じていた仮想マシン接続ウィンドウが開き、セッション設定のダイアログボックスが表示される。ここで、[オプションの表示]をクリックし、「今後この仮想マシンに接続するときのために設定を保存する」のチェックを「オフ」にする。これで毎回、仮想マシン接続を開くときにこのダイアログが表示されるようになる。

「拡張セッションモード」の設定ダイアログを再表示する(1)
「拡張セッションモード」の設定ダイアログを再表示する(1)
拡張セッションモードの設定ダイアログを表示させるには、該当の仮想マシンが「拡張セッションモードで起動中」で、「仮想マシン接続ウィンドウを閉じている」ときに、Hyper-Vマネージャーの[仮想マシン]領域を右クリックして、メニューで[セッション設定の編集]を選択する。
「拡張セッションモード」の設定ダイアログを再表示する(2)
「拡張セッションモード」の設定ダイアログを再表示する(2)
[仮想マシン接続]ウィンドウが開き、「拡張セッションモード」の設定ダイアログが表示された状態となる。そこで、[オプションの表示]をクリックする。
「拡張セッションモード」の設定ダイアログを再表示する(3)
「拡張セッションモード」の設定ダイアログを再表示する(3)
「今後この仮想マシンに……」のチェックを外せば、[仮想マシン接続]ウィンドウを開くたびに、このダイアログが表示されるようになる。

チェックポイントの使い方に注意

 ゲストOSにWindows 10を使う場合、使い方によっては、多数のアプリケーションをインストールすることになる。こうした場合、チェックポイントの使い方に注意が必要だ。チェックポイントを使うことで、通常の環境では不可逆の操作を簡単に取り消すことが可能だからだ。

 例えば、Visual StudioやWindows Driver Kit、プレビュー版の.NET Frameworkのように、Windows 10自体にも変更を加えるソフトウェアをインストール/バージョンアップしたものの、不具合が発生したためアップデート前の状態に戻したいといった場合にも、チェックポイントを使えば簡単に戻すことができる。こうしたソフトウェアの場合、アンインストールだけではWindows 10の状態を元に戻せず、複雑な手順が必要だったり、Windows 10の再インストールが必要になったりすることがある。

 逆に一部のアプリケーションは、チェックポイントで過去の状態に戻ることで問題を発生させる可能性がある。もちろん、単純なアプリケーションなら、何の問題もないが、例えばクラウド側のサービスと通信しながら動作するようなアプリケーションとなると、チェックポイントで過去の状態に戻すことで、クラウド側が保持しているクライアント側の状態と齟齬(そご)が生じる可能性がある。

 OneDriveでクラウド側とローカルフォルダを同期している状態を考えてみよう。チェックポイントを作った後、ファイル「abc.txt」を同期フォルダに書き込んだ。その後、同期が行われ、OneDriveのクラウド側とローカルフォルダが一致した状態となる。

 チェックポイントを適用し、過去の状態に戻すと、ローカルフォルダからは「abc.txt」は消える。ここで、OneDrive側とローカルフォルダ側に相違ができる。つまり、OneDrive側には「abc.txt」はあるが、ローカルにはない状態となる。ここで同期が再度行われると、OneDrive側の「abc.txt」も消去されてしまう。OneDriveから見れば、ローカルのファイルが削除されたようにしか見えないからだ。

チェックポイントとOneDriveの同期に注意
チェックポイントとOneDriveの同期に注意
チェックポイントの作成後にOneDriveと同期したファイルは、チェックポイントを適用すると、過去の状態に戻る(ファイルがなかった状態に戻る)ため、OneDrive上のファイルも削除されてしまう。

 仮想環境だけで見れば、何の問題もないが、他のPCから同じアカウントのOneDrive(クラウド側)を見た場合には、これによってファイルが失われてしまうことになる。仮想マシン側で取得したデータをOneDriveの同期フォルダに置いて、これを他のPCで使うような場合には注意が必要だ。

 チェックポイントを使って状態を前後させるような使い方には、クラウド側と連携するMicrosoftアカウントやアプリ、サービスのアカウントを利用することは向いていない。しかし、チェックポイントを使うことで、不可逆な変更からも復帰させることが可能となり、これが仮想マシンの1つのメリットであり、チェックポイントを使わないという選択肢はあまり得策ではない。

 こうしたことを考えると、日常的に利用するMicrosoftアカウントなどは、Windows 10をゲストOSとする仮想マシンでは利用しない方が無難だ。必要なら、Webブラウザなどからサービスを利用するようにすればいいだろう。OneDriveならば、WebブラウザからMicrosoftアカウントを指定して、ファイルのダウンロード/アップロードが可能だ。他のマシンからアクセスするファイルは、ネットワーク共有経由にして、ローカルには置かないようにした方が安全だ。

プレビュービルドをゲストOSに使うときの注意

 Windows Insider Programのプレビュー版には、現在、「Dev」「ベータ」「リリースプレビュー」の3つのチャネルがある。このうち、Devチャネルは、固有のWindows 10バージョンとは無関係に開発中のWindows 10のプレビュー版が配布され、ベータチャネルとリリースプレビューチャネルには、現行Windows 10の次のバージョンのプレビュー版が配布される。詳細に関しては、Windows 10 The Latest「Windows 10の新機能を公開前に試せる『Windows Insider Program』最新動向」を参考にしてほしい。

 ここでは、Windows Insider Programのプレビュー版として配布された固有のビルド番号を持つWindows 10を「プレビュービルド」と表記する。プレビュービルドはWindows Updateで対応が可能なビルドの範囲が限定されている。Windows Updateはインストールされているビルドからアップデートが可能な最近のプレビュービルドを探してくれるが、アップデートが可能なビルドが既にかなり古いものであった場合には、Windows Updateでは更新が不可能になる。

 こうなってしまうと、手動でアップデートする以外には、プレビュービルドを更新するてだてがない。このときには、再度ISOイメージを入手し、Windows 10を再インストールする必要がある。また、プレビュービルドは通常のWindows 10に比べてサービス終了期間が短く設定されている。有効期間が切れると、起動時などにメッセージボックスを表示するようになり、更新プログラムも提供されなくなる。こうした問題を避けるには、定期的に仮想マシンを起動し、アップデートを行わせる必要がある。ただし、Devチャネルのアップデートは1週間に1回程度、ベータチャネルなら多い場合で月に2回程度の配布がある。

 2〜3回程度ならプレビュービルドのアップデートを行わなくても、最新のプレビュービルドにアップデートが可能なので、Devチャネルならば月に1回程度、ベータチャネルならば2〜3カ月に1回程度起動すれば、アップデートを維持し続けられる。ISOイメージからアップデートできるとはいえ、Windows Updateならば、起動して放置しているだけで更新が行われ、後は再起動するだけなので作業負担は小さい。


 Windows 10のHyper-V上にWindows 10をインストールするのはそれほど難しくないし、標準的な手順で行うことができる。ただし、解説したように幾つか注意することがある。特に拡張セッションモードの有無は、仮想マシンの使い勝手に大きく影響するので、ゲストOSとなるWindowsのエディションやサインインアカウントの設定には注意が必要だ。

Copyright© Digital Advantage Corp. All Rights Reserved.

前のページへ |       
ページトップに戻る