Surface Pro 3 に Visual Studio をインストールするとスリープメニューが消える場合がある

表題のとおりです。

Surface Pro 3 に Visual Studio をインストールする場合、セットアップ内容によっては 電源のメニューから「スリープ」が消えてしまう場合があります。なぜこのケースで出ているかというと、Connected Stanby 改め InstantGo (変更) と Hyper-V の組み合わせがあるからです。

Surface-Pro-3

コマンドプロンプで

Powercfg /a

と打つと、今のスタンバイモードの対応や対応するスリープモードを確認することができます。

前提と状況

  • Surface Pro 3 は Windows 8 の小電力技術 Connected Stanby InstantGo に対応しています。
  • (確か)ドライバーもこれ用に対応したものが使われていたかと思います。
  • スリープ等のメニューもここに紐づいています。

ここに、Visual Studio を入れた場合、問題が起きる場合があります。それが Hype-V です。

  • Visual Studio をインストールする
  • Windows Phone のエミュレーターなど Hyper-V を使うものが、Hyper-VをONにする
  • Hyper-V 自体のドライバ類は InstantGo に対応していない。追記
  • PC全体としてInstantGoが使えなくなる。追記
  • (例えば)ネットワークであればホストOSとHyper-Vの環境で共有するために)仮想ネットワークドライバーがインストールされ実際のネットワーク アダプタとブリッジ接続を作る形になる。
  • Connected Stanby InstantGo 用のアダプタが直接作用しなり、Connected Stanby InstantGo が使えなくなる 変更
  • 結果として、サスペンドが消える

そんな流れです。ということで、根本の直接部分はわかりませんが、対応策としては Hyper-V を Off にすること。使うときにONにするしかないですね。

対処方法

コマンドプロンプトを管理者モードで起動して、以下のコマンドで Hyper-V をOFf にすることができます。

bcdedit /set hypervisorlaunchtype off

もし、HyperーV を使う必要があるときは、以下のコマンドで起動します。

bcdedit /set hypervisorlaunchtype auto

この辺はもう少し対応してほしいところですね。

以下追記

とくに、Windows Phone の開発をされる方は、こういう、バッチを作っておくと便利かも。

開発開始用:Hyper-V をONにして再起動

bcdedit /set hypervisorlaunchtype auto
shutdown /f /r /t 0

開発完了後:Hyper-V をOFFにして再起動

bcdedit /set hypervisorlaunchtype off
shutdown /f /r /t 0

以下追記2

 

とくに、バッチだと管理が面倒なので、起動時にHyper-V をON/OFF で起動するメニューを作りました。

コマンドプロンプトを管理者モードで起動します。

対処方法2:Hyper-Vの起動を制御する、起動メニューを作る

bcdedit Enter

と打つと現状の設定が表示されます。一番下にある hypervisorlaunchtype がHyper-Vの起動時のON/OFFの設定です。

image

いまはONになってしまっているので、このhypervisorlaunchtype を Off にしておきましょう。

bcdedit /set {current} hypervisorlaunchtype off

image

これで通常起動は Hyper-VがOffで起動するようになりました。

 

今度は、Hyper-V が ON になる起動メニューを作ります。まずこの設定をコピーして新しいメニューを作ります。

bcdedit /copy {current} /d “メニューの名前”

image

コピーされたこのIDが次に必要ですので、コマンドプロンプト右クリックで「範囲指定」を選んで、{・・・} を選んで、最後にEnterを押します。

image

続けてコピーした設定のHyper-V をONにします。先ほどと同じですが、ON ではなくauto です。そして {current} ではなく上記のIDを使います。

bcdedit /set {・・・} hypervisorlaunchtype auto

image

 

bcdedit Enter で確認します。

image

 

これで起動メニューができました。

ただしこの選択肢が長いのももったいないので、選択する時間は3秒にします。

bcdedit /timeout 3

これで、起動時に hyper-V のON/OFF設定を選べます。Windows Phone の開発をするときには、いったん再起動して、with Hyper-V で起動するとよいでしょう。