openSUSEを入れてデュアルブート環境にしたらVistaでスリープ/休止状態に移行できなくなった


早速今週問題になっていたことをば。

私は家での作業PCにWindows Vistaを使っています。
そして興味本位でLinuxのひとつ、openSUSEのインストールを行いました。

インストールの際、nVidiaのドライバでいくつか問題が出ましたが、フェールセーフモードYaST2からドライバを指定してインストールしてやったりすることで解消できました。

…しかし、Vistaからスリープ(ハイブリッドスリープ)に移行することができなくなってしまいましたorz
休止状態についても同様です。

スリープについては前にも苦労したことがあったので、「あれ、設定はちゃんとしてるはずだけど…」という思いでした。

とりあえず、以下のことを試しました。

  • 電源オプションの確認とデバイスマネージャの確認
  • BIOSの更新と、設定の確認
  • Wakeupに関係しそうなUSB機器、LANケーブルの取り外し

しかし、問題は解決せず。
やはりデュアルブート環境自体が問題だなあ、と結論しました。

そういえば、openSUSEをインストールする際、ブートに利用するパーティションMBRから見えない可能性がある、みたいなことが書いてあったことを思い出しました。
んー、なるほど。
おそらく、スリープに移行する際にブートレコードへの書き込みができず、移行に失敗していたのだと思います。

そのため、泣く泣くブートセクタとMBRの復旧を行いました。

復旧はVistaのインストールディスクを用意して、下記の記事を参考に行いました。
MBRうっかり消しちゃって再作成が必要な事例 Windows7編 - Javaプログラマ ぬるぽの刑 -

その結果、無事ブートセクタが復旧し(=GRUBが削除され)無事にスリープができるようになりました。
こういった特殊事情にならないように、デュアルブート環境の構築時は気を付けないといけないですね。