2009/09/22

Windows SteadyState でディスク保護を再度有効にする方法

Save Me From What I Want by Daniel Conway.

皆さんご存じ、便利なソフトWindows SteadyState
さて、アカウント単位で出来ることを制限することが可能なだけでなく、何が便利って一度インストールしてディスク保護を有効化にすると、再起動したときに以前設定した内容をすべて放棄することができるという、そんなソフトです。
詳しい話はリンク先を読んでいただいて、実際に管理する際はいろいろ検証してもらうとして、Windowsを作っているMicrosoftがこうやって管理できるツールを無料配布しているのはありがたい。

さて、便利なのですが一度有効化すると無効にした際に、再度有効化にすることが出来ません。出来ませんと言うよりもエラーが出てそれがかなわないと言うことです。ものは試しにWindows SteadyStateをアンインストールしてみましたが結果はだめでした。

じゃぁ、無効にしなければいいだけなのですが、いろいろな事情でしなければならなかったわけです。ちなみに追加でインストールする際はわざわざ無効にしないでも可能です・・・が、Windows SteadyStateは最後の最後でインストールするように。

たとえばTrueImageなどのソフトでイメージを作成する際は結構これは大きい問題。一度有効にしてしてしまうと、ディスク全体をキャッシュ化されてしまうので全てイメージ化されてしまいすごい時間がかかります。バックアップも復元も。
さらに、小さい容量のHDに移行する場合などもこれだと結構迷惑。たとえばディスク全体の使用量が30GB程度で160GBから120GBのHDDに移行しようと思っても有効にした状態のままだとキャッシュで全体が使用されちゃっているので小さい容量への移行が出来ません。
で、ディスク保護を無効にして移行出来たとしても、再度有効化できないとWindows SteadyStateを入れる意味がない

そこで、Windows SteadyStateを再度有効化する方法です。
あと、これはどんな状況でも使えるかは不明ですのでご注意を。

  1. Windows SteadyStateのディスク保護を無効化する
  2. 一度再起動し、起動中にF8を連打してセーフモードで起動する
  3. セーフモードでコマンドラインを開きdefragコマンドを実行。たとえばCドライブをデフラグしたいならdefrag c:ね。
  4. バーなどの進捗表示は無いので終わるまで気長に待ちましょう。自分の場合は我慢できなかったので途中で切っちゃいました。(一応それでも問題なかったです)
このデフラグコマンドはWindowsに標準で入っているディスク デフラグを同じですが、一度Windows SteadyStateを入れた方はわかると思います。ディスク デフラグが使えなくなるんですねぇ〜。理由はわかりません。

一連の作業が終了したこの状態でTrueImageなどでイメージを作成すれば小さい容量のHDへの移行も可能です。一応イメージを作成した後に再度ディスク保護を有効に出来るか試した方がいいかと思います。

そんなこんなで右往左往する日々。

結論:仕様をきちんと確定させてから作業をしましょう;p
訂正:Windowsのデフラグコマンドはdefragでした。