WindowsやLinuxの設定などの勉強にはWindows Server 2008のHyper-Vを使っています。実機を用意しなくても良いのでとても役立っています。
仮想マシンを作る際、デフォルトのフォルダーではなく自分で指定したフォルダーに仮想マシンデータが格納されるようにしていました。デフォルトだとWindowsのシステムが格納されているCドライブをすぐに圧迫してしまうからです。場所を指定するのには毎回、仮想マシン作成ウィザード内で指定していたのですが、毎回のことなのでHyper-Vの設定を変更することにしました。「仮想マシン」「仮想HDD」の二カ所。
変更後、仮想マシンを作成しようとすると下図のエラーメッセージが出るようになりました。
権限が足らないというエラーメッセージです(0x80070005)。
最初は、Windows7のノートPCからHyper-Vマネージャーを使っているからおかしくなったのかなと思いましたが、サーバーにログインして作成しようとしてもエラーメッセージが出て作成に失敗します。Administratorでも・・・
Administratorでも作成できないのはおかしいと思い、Hyper-V関連のフォルダーについて権限を確認してみました。今まで通りウィザード内でフォルダーを変更した場合、指定した場所に仮想マシンごとのフォルダーが作成され、その中に仮想マシン設定・VHDが格納されていました。フォルダー階層は下記の通り。
新しい仮想マシン
├Virtual Machines
│├仮想マシンID(フォルダー)
│└仮想マシンID(XMLファイル)
└新しい仮想マシン.vhd
新しいマシンフォルダーには「仮想マシン」というユーザーの権限がついており、その下の「Virtual Machines」フォルダーには「仮想マシンID」ユーザーの権限がついていました。
作成に失敗する仮想マシンのフォルダーを同じように見てみると下図の二フォルダーしか作成されません。
新しい仮想マシン
└Virtual Machines
権限を見てみると、「Virtual Machines」には「仮想マシンID」ユーザーの権限ではなく、何かしらのユーザーのSIDで権限がついていました。つまり、「仮想マシンID」ユーザーが書き込むことができないわけです。
なぜこのような状態になったかはわかりませんが、そういう仕様なのか不具合なのか。数多くの仮想マシンを利用する場合、それぞれ個別のパックになっている方がメンテしやすいし、今回設定を戻しても今までのように仮想マシン作成できないので不具合なのではないかと考えています。ほかのマシンで試してみなければいけません。
「仮想マシン」のフォルダーを変更すると権限エラーで作成することができなくなるのですが、「仮想ハードディスク」のフォルダーは変更しても問題なく作成できます。
「仮想マシン」のフォルダーは"C:\ProgramData\Microsoft\Windows\Hyper-V"で、その中の「Virtual Machines」フォルダーに仮想マシンID(フォルダー)と仮想マシンID(XMLファイル)が作成されます。
今まで作ってきた仮想マシンについては上で表したフォルダー階層すべて指定した場所に作成され、"C:\ProgramData\Microsoft\Windows\Hyper-V"にはXMLファイルへのリンクが作成されていました。
今回の現象とは異なりますが、同じエラーメッセージが表示される問題がサポートで公開されています。こちらはIntelの問題で下記のソフトを使用している場合に発生します。
Intel Active System Console – version 3.0以下
Intel Server Management Pack – version 3.0以下
Intel One Boot Flash Update for Windows – version 9.70 Build 5以下
Intel System Configuration Utility for Windows – version 5.0.1 Build 8以下
Intel SNMP-SA – version 6.0.0.9999以下
Intel SELViewer – version 2.0.1 Build 5以下
サポートについては「Microsoft Article ID:969556」、「Intel TA-922」です。詳細については前記のMicrosoftおよびIntelのサイトで確認していただきたのですが、Windows 2008 Hyper-VがVMを格納しているストレージへアクセスする際のセキュリティセッティングをIntel IPMIドライバーが謝って変更してしまう現象です。仮想マシンを起動できない・作成できないと言った問題が発生します。修正プログラムが配布されているので、ダウンロードしたら解凍して実行し、再起動すれば直るようです。
仮想マシンを作る際、デフォルトのフォルダーではなく自分で指定したフォルダーに仮想マシンデータが格納されるようにしていました。デフォルトだとWindowsのシステムが格納されているCドライブをすぐに圧迫してしまうからです。場所を指定するのには毎回、仮想マシン作成ウィザード内で指定していたのですが、毎回のことなのでHyper-Vの設定を変更することにしました。「仮想マシン」「仮想HDD」の二カ所。
変更後、仮想マシンを作成しようとすると下図のエラーメッセージが出るようになりました。
権限が足らないというエラーメッセージです(0x80070005)。
最初は、Windows7のノートPCからHyper-Vマネージャーを使っているからおかしくなったのかなと思いましたが、サーバーにログインして作成しようとしてもエラーメッセージが出て作成に失敗します。Administratorでも・・・
Administratorでも作成できないのはおかしいと思い、Hyper-V関連のフォルダーについて権限を確認してみました。今まで通りウィザード内でフォルダーを変更した場合、指定した場所に仮想マシンごとのフォルダーが作成され、その中に仮想マシン設定・VHDが格納されていました。フォルダー階層は下記の通り。
新しい仮想マシン
├Virtual Machines
│├仮想マシンID(フォルダー)
│└仮想マシンID(XMLファイル)
└新しい仮想マシン.vhd
新しいマシンフォルダーには「仮想マシン」というユーザーの権限がついており、その下の「Virtual Machines」フォルダーには「仮想マシンID」ユーザーの権限がついていました。
作成に失敗する仮想マシンのフォルダーを同じように見てみると下図の二フォルダーしか作成されません。
新しい仮想マシン
└Virtual Machines
権限を見てみると、「Virtual Machines」には「仮想マシンID」ユーザーの権限ではなく、何かしらのユーザーのSIDで権限がついていました。つまり、「仮想マシンID」ユーザーが書き込むことができないわけです。
なぜこのような状態になったかはわかりませんが、そういう仕様なのか不具合なのか。数多くの仮想マシンを利用する場合、それぞれ個別のパックになっている方がメンテしやすいし、今回設定を戻しても今までのように仮想マシン作成できないので不具合なのではないかと考えています。ほかのマシンで試してみなければいけません。
「仮想マシン」のフォルダーを変更すると権限エラーで作成することができなくなるのですが、「仮想ハードディスク」のフォルダーは変更しても問題なく作成できます。
「仮想マシン」のフォルダーは"C:\ProgramData\Microsoft\Windows\Hyper-V"で、その中の「Virtual Machines」フォルダーに仮想マシンID(フォルダー)と仮想マシンID(XMLファイル)が作成されます。
今まで作ってきた仮想マシンについては上で表したフォルダー階層すべて指定した場所に作成され、"C:\ProgramData\Microsoft\Windows\Hyper-V"にはXMLファイルへのリンクが作成されていました。
今回の現象とは異なりますが、同じエラーメッセージが表示される問題がサポートで公開されています。こちらはIntelの問題で下記のソフトを使用している場合に発生します。
Intel Active System Console – version 3.0以下
Intel Server Management Pack – version 3.0以下
Intel One Boot Flash Update for Windows – version 9.70 Build 5以下
Intel System Configuration Utility for Windows – version 5.0.1 Build 8以下
Intel SNMP-SA – version 6.0.0.9999以下
Intel SELViewer – version 2.0.1 Build 5以下
サポートについては「Microsoft Article ID:969556」、「Intel TA-922」です。詳細については前記のMicrosoftおよびIntelのサイトで確認していただきたのですが、Windows 2008 Hyper-VがVMを格納しているストレージへアクセスする際のセキュリティセッティングをIntel IPMIドライバーが謝って変更してしまう現象です。仮想マシンを起動できない・作成できないと言った問題が発生します。修正プログラムが配布されているので、ダウンロードしたら解凍して実行し、再起動すれば直るようです。