Windows SteadyStateによるディスク保護にハマってみた
Windows SteadyState を使って、ディスク保護をオンにするとき、次のようなメッセージが表示されることがある。
Windows ディスク保護をオンにするには、その前にハードディスク を最適化する必要があります。ハードディスクを最適化し、再試行し てください。
「そうなんですか」ということで、ディスクの最適化を実行しようとすると、次のようなメッセージが表示されることがある。
このプログラムは実行されません このプログラムはグループポリシーによりブロック されています。詳細については、システム管理者に問 い合わせてください。
「そうなんですか」ということで、システム管理者に問い合わせる…。
それ、僕です。orz
それ、僕です。orz
再インストールしてしまえば、ディスク保護をオンにできるのは確認済みなんだけど、今回結構な台数で発生したので、再インストール以外の方法で回避できないか調べてたところ、うまい方法を見つけた。
今、まさにこの問題で困っている人のためのショートカット。やってみたことは次のとおり。その後、ディスク保護をオンにする。
#でも、これでダメなのもありました…。
再起動して再度ディスク保護をオンにする
ディスク保護のオンを実行したところ、同じメッセージが出ました。
最適化の実行についても同じメッセージが出ました。
最適化の実行についても同じメッセージが出ました。
Windows SteadyState をアンインストールして最適化を実行する
最適化の実行で、同じメッセージが出ました。(最適化の実行はグループポリシーで制限されているので)Group Policy Clientサービスを停止させてみる
サービスの停止ができませんでした。Windows PEの起動CD(id:hykt:20090204を参照)で起動して最適化を実行する
Windows PEの起動CDの中にはdefragコマンドが含まれていないので、このCDで起動した後、C:\Windows\System32\defrag.exeを実行したところ、「dllがないから実行できない」という内容のエラーが表示されました。セーフモードで最適化を実行する
Windows起動時に[F8]キーを押してブートオプション画面を表示させ、セーフモードで起動して、defragコマンドを実行してみた。
すると、最適化が実行できた!
最適化の終了後、再起動してディスク保護をオンにしたところ、無事処理された!!
すると、最適化が実行できた!
最適化の終了後、再起動してディスク保護をオンにしたところ、無事処理された!!
「よっしゃー」ということで、このトラブルが発生していた8台のPCで、早速作業開始。
そして、5台はこれで解決できた。
そして、5台はこれで解決できた。
ただし、残りの3台はやはりディスク保護のオンで再びエラーになった。
諦めきれないので、セーフモードで実行したdefragコマンドに、-wオプションを付けて完全な最適化を実行してみた*1。
しかし、結果はダメ。再びエラー。
諦めきれないので、セーフモードで実行したdefragコマンドに、-wオプションを付けて完全な最適化を実行してみた*1。
しかし、結果はダメ。再びエラー。
キャッシュファイルのサイズと連続した空き領域の関係?
Windows SteadyState について説明しているWebページ*2によると…。
キャッシュファイルは空き容量の50%(最大40GB)のサイズで作成されるとのことで、例えば空き容量が30GBの場合15GBのキャッシュファイルが作成される。
ひょっとして、このキャッシュファイルの容量の分だけ、連続した空き領域が必要なんだろうか?
ディスク保護がうまくいかないPCで、セーフモードのdefragコマンドで分析してみたところ、次の結果であり、確かに上の条件を満たしていなかった。
次にディスク保護がうまくいったPCで、同様に分析してみたところ、次の結果であり、上の条件を満たしていた。
それじゃ…ということで、ディスク保護がうまくいかないPCで、不要なファイルやアプリを削除して、再び最適化を実行。
次の状態になった。
これなら条件を満たしているので、ディスク保護がうまくいくかもしれないので試してみたところ、ダメ。
…ということは、この条件以外にも、何かあるんだろうか…。
ここまで調べて Time Up
仕方がないので、これら3台のPCは再インストールすることにした…とほほ。
キャッシュファイルは空き容量の50%(最大40GB)のサイズで作成されるとのことで、例えば空き容量が30GBの場合15GBのキャッシュファイルが作成される。
ひょっとして、このキャッシュファイルの容量の分だけ、連続した空き領域が必要なんだろうか?
ディスク保護がうまくいかないPCで、セーフモードのdefragコマンドで分析してみたところ、次の結果であり、確かに上の条件を満たしていなかった。
ボリュームサイズ | 74.20GB |
空き領域 | 31.47GB |
空き領域の最大の範囲 | 15.47GB |
ボリュームサイズ | 74.20GB |
空き領域 | 21.16GB |
空き領域の最大の範囲 | 19.92GB |
次の状態になった。
ボリュームサイズ | 74.20GB |
空き領域 | 30.57GB |
空き領域の最大の範囲 | 19.54GB |
…ということは、この条件以外にも、何かあるんだろうか…。
ここまで調べて Time Up
仕方がないので、これら3台のPCは再インストールすることにした…とほほ。
*1:デフォルトでは、サイズが64MBよりも小さいファイルしか、最適化の対象にならない。
*2:http://www.microsoft.com/japan/windows/products/winfamily/sharedaccess/support/windowsdiskprotection.mspx