Microsoft Windows 95(R) のレジストリ圧縮方法 ver3.0  著者: Roy Lehrer(CompuServeID: 76534,1122)roy@soon.com  日本語訳: HALT halt@amitaj.or.jp  お気づきのように、Micrsoft Windows(R) 95(以下WIN95)のレジストリファイル(system.dat、user.dat)およびそのバックアップファイル(system.da0、user.da0)は肥大化し続け、たとえレジストリからデータを削除しても決してサイズが小さくなることはない。  DOSプロンプトから「regedit /c」コマンドでレジストリを圧縮するためにレジストリエディタのリアルモード部分を使う方法は以前に公表した。唯一の問題は、この方法が元々の(OSR1以前の)WIN95においては必ずしもうまくいかないことだ(OSR2以降に付属のレジストリエディタではこの問題は解決されている。付録Aを参照のこと)。多くのユーザーは、リアルモードのレジストリエディタで扱えないほどレジストリファイルが大きくなりすぎたことに起因すると考えるだろうが、それだけが理由ではない。レジストリファイル自体の大きさの問題ではなく、リアルモードのレジストリエディタで扱えないほど異常に大きなレジストリキーが含まれていることが問題なのだ。このことは、MSKB(Microsoft Knowledge Base)のQ132064に記されている。  今回の目的は、先に述べた制約を受けずにレジストリを圧縮し、レジストリの肥大を克服することだ。端的に言えば、リアルモードのレジストリエディタを使ってDOSプロンプトで最小のレジストリを作ってWIN95をスタートし、GUIのレジストリエディタで完全なレジストリを復帰することである。レジストリから、既に削除されてしまったプログラムやハードウエアに関する部分が縮小され、サイズは驚くほど小さくなる。私はこの方法を1年半以上実施しているが、一度も問題が起きたことはない。だがもしあなたがこの方法を行ってみるつもりなら、自分の責任で行うこと。重要なファイルについては、予めバックアップコピーを必ずとっておきたい。  この手順を最初に公開して以来私に報告される問題の全て(3件だけ)が、書いてある方法通りに進めなかったことに原因している。ユーザーが途中の段階を省いたり、わずかに違ったやり方でやろうとしているためだ。どうか書いてある通り正確にやり方をなぞっていってほしい。ほんのわずかに正しい手順から外れたために、大きな問題を引き起こすこともあるのだ。  この手順は1回だけやればいいというものではない。マシンを使い続けていれば、またレジストリは肥大していく(これはどうしようもない)。必要と感じたときには、またこの方法を施せばよい。実はこの手順は、レジストリを修正しているのではなく、無駄なスペースを詰めているだけなのである。この方法を行う前にレジストリが抱えていた問題は、行った後でも残っていると言い切れよう。  私のWIN95はシングルユーザーシステムとしてセットアップしたのでこの方法となる。シングルユーザーシステムにはユーザープロファイルがない。システムがマルチユーザーシステムで、ユーザーが1人だけという場合もある。お使いのシステムがシングルユーザー(プロファイル無し)かマルチユーザー(プロファイル有り)かは、次の方法で確認しよう。  1.コントロールパネルを開く。  2.「パスワード」アイコンをダブルクリックして開き、「ユーザー別の設定」タブをクリックする。次のどちらが選ばれているか調べる。   a)すべてのユーザーが同じデスクトップ設定を使う→シングルユーザーシステム   b)ログイン時に各ユーザーのデスクトップ設定に変更する→マルチユーザーシステム もしマルチユーザーシステムであったら、ここに書いた方法は使えない。それでも、少なくとも何をすべきかのアイデアを出すことはできるので、付録Bを見ていただきたい。  この手順は初心者にはあまり向いていない。所々、詳しい手順を省いた所があるからだ。適当なやり方がわからないならば、実際に行う前によく考えること。  用語の使い方だが、以降「DOSプロンプト」といえば、WIN95のDOS窓ではなく本物のDOSによるDOSプロンプト状態を指すこととする。  なお、WIN95を標準の「c:\windows」にインストールしていると想定して話を進めていく。別の場所にインストールしているなら、適宜置き換えて読むこと。例えばもしWIN95を「d:\win95」にインストールしているなら、説明に「c:\windows...」とあれば「d:\win95...」と置き換えて読もう。  手順を進めるに当たり、自分のマシンにWIN95をインストールする際に同時に(自動で)導入された「純正」レジストリエディタを必ず使うこと。他のレジストリエディタを使ってはいけない。純正でないレジストリエディタはレジストリの書き出しに問題がある(あった)ことが事実わかっており、手順の妨げになりかねない。レジストリエディタは windows ディレクトリにあるはずだが、もし別ディレクトリに移動していたら、レジストリエディタを使う場面では正しいパスを指定してやること(例えば c:\util\regedit)。  この手順は、コマンドプロセッサが command.com でも 4dos.com でも有効である。  何度も言うようだが、自分の責任で行うこと。 1.WIN95を起動し、下に挙げたファイルをハードディスク内の別ディレクトリにコピーする。あるものだけでよい。ファイル名の次に括弧書きでファイル属性を記しておいた。コピーするのにどんなソフトを使おうと、これらの属性を外しておくほうがよい。全てうまくいけば不要になるファイルだが、それまでは大事にとっておくこと。手順の中でトラブルが起きたら、これらのファイルを元の場所に元の属性でコピーし戻せば復帰できる。下に挙げたファイルの内「msdos.sys」はルートディレクトリにあるが(圧縮ドライブを使っていたらホストドライブにある)、その他は全て windows ディレクトリにある(マシンの環境によっては存在しないファイルもある)。  a. msdos.sys (システム、読み取り専用、隠しファイル)  b. system.dat (システム、読み取り専用、隠しファイル)  c. system.da0 (システム、読み取り専用、隠しファイル)  d. user.dat (システム、読み取り専用、隠しファイル)  e. user.da0 (システム、読み取り専用、隠しファイル)  f. system.ini  g. win.ini  h. ShellIconCache (隠しファイル)   注:ロングファイル名を損なわないようにコピーすること  i. system.cb  j. ios.log  k. ttfcache (隠しファイル)  注:これらファイルのバックアップを行うバッチファイル「SMALLBAC.BAT」を添付した。windows ディレクトリに「SmallReg」というサブディレクトリを作成し、上に挙げたファイルをコピーするものだ。ShellIconCache のロングファイル名を損なわずにコピーするために、DOS窓で実行すること。使い方は「SMALLBAC ドライブ名」で、ドライブ名の所には msdos.sys のあるドライブ名をコロンを付けて記す。多くの場合はWIN95ファイルのあるドライブと同じであろう。windows ディレクトリの場所はWIN95が起動するとき環境変数「windir」に格納されるため、これを参照すればわかる。ファイルをコピーするときに属性を全て解除するようになっている。元々のファイルの属性は自動的に元に戻るので心配ない。エラーチェックは最小にとどめている。もし、特異なインストールをしていたりまたは圧縮ドライブを使用している場合、このバッチファイルは修正しないと使えないかもしれないが、一度試してみて SmallReg ディレクトリが空だったり、(元ファイルはあるのに)コピーされていないものがあったりしなければ成功している。このバッチファイルを1回以上実行したり、既に SmallReg と同名のディレクトリが存在すると、「ディレクトリが作れません」というエラーメッセージが表示されるが、既にあるから作れないだけなので問題はない。バッチファイルの実行が終わると SmallReg ディレクトリの内容を表示するので、バックアップすべきファイルが含まれているかチェックする。 2.この手順は(GUIない)DOSプロンプトを起動して行うため、DOSプロンプトを起動する準備ができていなければ、msdos.sys のシステム・読み取り・隠し属性を外し [Options] セクションを修正する必要がある。メモ帳などで「BOOTGUI=1」の行を「BOOTGUI=0」に変える(「BOOTGUI=1」の行がなければ「BOOTGUI=0」の行を加えるだけでよい)。これでDOSプロンプトが起ち上がるようになる。もし「LOGO=0」の行を加えれば、いつもはWIN95の起動ロゴ画像に隠されて見えないブートメッセージを見ることができるようになる。修正が済んだら、ファイルを保存し、属性を元に戻す。  あるいはもし msdos.sys に手を加えたくないなら、WIN95の起動途中でf8キーを押して現れるメニューから「コマンドプロンプトのみ」を選べばよい。ただしDOSプロンプトを起動したい場合に毎回同じ事をすることになるので、msdos.sys を書き換えて置く方がよいだろう。 3.windows ディレクトリの「LOGO」で始まり拡張子が「SYS」のファイルがあれば、拡張子を「ORG」などに変更する。変更できなければファイル属性を確認してみる。この作業は、WIN95を終了したとき、DOSプロンプトに戻るために必要である。 4.「スタートボタン」の「Windowsの終了」をクリックし、「コンピュータの電源を切れる状態にする」を選んで「はい」をクリックする。 5.再起動すると(懐かしの)DOSプロンプトが現れる。 6.「WIN」と入力して、Enter キーを押す。WIN95が起動する。 7.レジストリを望むように編集する。もし圧縮したいなら、まず不要なものを取り除こう。不要と思われる項(すべてのMRU(最近使ったファイル)、文書等のヒストリ、削除したプログラムに関するキーの残骸など)をレジストリから除いた後、私は regclean の ver2 および ver3 を実行してレジストリをクリーンアップするようにしている。ver2 では使われていない nummethods と baseinterface を削除できるが、ver3 ではできない。regclean を使って不具合の生じたユーザーもいるようだが、私の場合はそのようなことはなかった。  注1:regclean ver3 を使うなら、「Option」の「Interface」タブにある「Empty key check」を選ばないことをおすすめする。そうすることで実際に何らかのプログラムにより使われたことのある「空の」キーの削除だけが行われるだろう。例えばアクティブムービーは、ある空のキーを削除すると動かなくなる。  注2:SMALLREG.INF ファイルを同梱したが、使うも使わないも全く自由だ。使う場合は各自の責任において行うこと。このファイルは、最近使ったファイル、最近の文書、ヒストリリストなどWIN95がレジストリに作成したMRUを取り除くものである。同じ事ができるポピュラーなソフトもある。テキストエディタ(メモ帳など)で中身を見れば、どんなキーが消されるのかを見ることができる。そのまま、消したくないキーをコメントアウトしたり、既に書いてあるもの以外に消したいレジストリキーを書き足してもよい。不要なエントリをそのままにしておいても害はない(存在しないキーならば消すことができないだけ)。この inf ファイルによって消されるキーは、システムが自動的に作ったものなので、必要になればまた自動的に作られるであろう。inf ファイルを実行するには、エクスプローラでこのファイルを指定しダブルクリック、または右クリックメニューから「開く」または「インストール」を選べばよい。好みにもよるが、この inf ファイルへのショートカットをスタートアップフォルダに登録しておけば、WIN95を起動する度にMRUや希望するレジストリキーが自動的に削除されるようになる。inf ファイルの終わりに10個の CTRL-Z が書いてあるが、こうすると inf ファイルの実行が早くなるのだ。テキストエディタによってはこの CTRL-Z の集まりが四角い文字に見えるものもあるが、そのままにしておいてほしい。より詳しく知りたいならば、近刊の PC Magazine誌の User-to-User 欄を読んでほしい。  注3:旧い regclean(ver2) は Visual Basic 3.0 に付属のものだが、Microsoft 他いろいろなサイトからダウンロードできる。Visual Basic 4.0 がリリースされてからは、殆ど全てのダウンロードサイトで regclean(ver3) のみを扱うようになってしまった。サイト「http://filez.com/」に行き「regclean.exe」または「regclean.zip」を検索すれば見つけられるだろう。検索結果から ver3 を見分けるにはファイルサイズを見ればよい。250KB 程度なら ver2、1.5MB 程度なら ver3 の完全版であろう。この他のものについては手に入れてみるまで分からない。 8.レジストリエディタを起動し、「マイコンピュータ」をクリックして ALL.REG という名前で windows ディレクトリへ書き出す。このファイルには HKEY_LOCAL_MACHINE と HKEY_USERS キーが含まれるだけだが、これで必要十分である。その他のキーはこの2つのキーから作られていたり、WIN95が動いている間に動的に書き換わるものだからだ。 9.HKEY_USERS をクリックして展開する。 10.キーをダブルクリックすれば展開してその下に含まれるキーがわかる。「(標準)」などの項目があるのが分かるだろう。 11.HKEY_USERS の下の Software キーに含まれる全てのキーを削除する。各キーの上で右クリックし、メニューから削除を選ぶ。「このキーを削除してよろしいですか」の問いには「はい」と答える。Software キーの中のキーの数は、インストールしたソフトの数による。 12.HKEY_USERS をクリックして反転表示し、HKU.REG の名前で windows ディレクトリに書き出す。  注:このファイルは冒頭に述べた最小のレジストリを作るためのものだ。削除した Software キーに含まれていたデータは最小のレジストリには不要である。手順の最後には ALL.REG を使って復元するので問題ない。キーを削除したのは、リアルモードのレジストリエディタが扱えるサイズの制限を上回る可能性のあるキーを外しておくためだ。 13.レジストリエディタを終了する。 14.「スタートボタン」の「Windowsの終了」をクリックし、「コンピュータの電源を切れる状態にする」を選んで「はい」をクリックする。コマンドプロンプトに戻るだろう。もし戻らなければマシンの電源を切って再起動する。 15.DOSプロンプトから system.dat と user.dat のあるディレクトリ(通常は c:\windows )に移動する。 16.「regedit /c hku.reg」と入力して、Enter キーを押すと新しいレジストリが作られ、既にある system.dat 、user.dat に上書きする。これは HKEY_USERS だけから作られた最小のレジストリである。重要なのは、この最小のレジストリが、リアルモードのレジストリエディタで扱えなかったキーは含んでおらず、WIN95をリスタートして完全なレジストリを再構築するのに耐えうるだけということだ。これが、元のサイズに関係なくレジストリを圧縮できる鍵である。 17.コンピュータを再起動し、「Windows95を起動しています」のメッセージがでたらf8キーを押す。表示されたメニューから「セーフモード」を選ぶ。「セーフモード(コマンドプロンプトのみ)を選んではいけない(WIN95に移行できなくなる)。 18.DOSプロンプトが現れたら、「WIN」と入力してWIN95を起動する。 19.セーフモードで起動している旨のメッセージが出たら、OKをクリックする。  注:WIN95が起動するとき、デスクトップのアイコンその他がいつもと違って見えるかもしれないが、構わずに次のステップに進んでもらいたい。最小のレジストリで起動したために起こっていることで、関連づけのデータが存在しなくなり、リンクなどの機能の多くが働かなくなったからだ。よって何をダブルクリックしても何も起動しない。先に書いたことを思い出してほしいが、これは私のやり方を説明しているだけであり、手取り足取り案内しているわけではない(ので、状態がおかしくなったと文句を言わないこと:補足訳)。 20.もしタスクバーが自動で隠れるようになっていたら、タスクバー上で右クリックし、プロパティを選び、「自動的に隠す」プロパティのチェックを外し、OKをクリックする。 21.スタートボタンをクリックし、「ファイル名を指定して実行」を選び、「regedit all.reg」と入力し Enter キーまたはOKボタンを押す(もしレジストリエディタや ALL.REG ファイルが windows ディレクトリになければ、それらの存在する場所をフルパスで指定する)。元のレジストリサイズやCPUのスピードにもよるが、しばらく待つと ALL.REG のレジストリ取込みが成功した旨のメッセージが表示されるのでOKボタンをクリックする。これで元々のレジストリの情報が新しいレジストリに書き戻され、圧縮された完全なレジストリができあがる。 22.「スタートボタン」の「Windowsの終了」をクリックし、「コンピュータの電源を切れる状態にする」を選んで「はい」をクリックする。DOSプロンプトに抜ける。 23.コンピュータを再起動し、DOSプロンプトにする。 24.DOSプロンプトが現れたら、「WIN」と入力してWIN95を起動する。  注:これでデスクトップが正常に戻るだろう。Norton Utilities を使っていて「ごみ箱」が正しく表示されていないようなら、ごみ箱のアイコン上で右クリックしてプロパティを表示し、デスクトップアイテムタブの「Norton Protection ステータスボックスを表示する」項をチェックし直す(外して再びチェック)。そしてOKをクリックすれば、ごみ箱の表示が正しくなっているはずだ。 25.スタートボタンをクリックし、「ファイル名を指定して実行」を選び、「command」と入力し Enter キーまたはOKボタンを押す。DOS窓が開いたらすぐに閉じる。こうするとWIN95が自動的に system.ini ファイルの [TTFontDimenCache] セクションを再構築するのである。 26.このステップは好みに任せるが、バックアップしたディレクトリから元の ShellIconCache をコピーし戻しても良い(隠し属性も忘れずに与えておく)。戻さなくてもそのうちWIN95が自動的に再構築するので問題はない(この場合は、先にセーフモードでの起ち上げを終了したときの ShellIconCache を使うことになる)。 27.ステップ2を逆にたどって msdos.sys ファイルを元に戻す。WIN95起動中に何が起こっているか知りたいなら「LOGO=0」行は残しておく。WIN95の雲の画像を表示させたいなら「LOGO=1」とするかこの行を削除する。msdos.sys の内容を変えずに自動的にWIN95を起ち上げるようにするには、autoexec.bat の最後に「win」の1行を加えればよい。こうすると、「LOGO=0」の行を変えたり消したりしなくても雲の画像が表示されるようになる。msdos.sys を変更し終わったら忘れずにシステム・隠し・読み取り専用属性を与えておくこと。 28.ステップ3で変更した「logo*.sys」ファイルの名前を元に戻す。戻し忘れると、WIN95を終了したとき「電源を切る準備ができました」の画面の代わりにDOSプロンプトが現れることになる。試しに名前を戻さないままWIN95をしばらく使ってみて、終わり方が気に入らないと感じたら元の名前に戻すのも手だ。 29.「スタートボタン」の「Windowsの終了」をクリックし、「コンピュータの電源を切れる状態にする」を選んで「はい」をクリックする。DOSプロンプトに抜ける。この終了作業で TTFCACHE の再構築が行われ、いくつかのクリーンアップも行われる。 30.もし Norton Utilities を使っているなら、windows ディレクトリに移動し「dir nps*.ico」と入力して Enter キーを押す。2つ以上ファイルが表示されたら、日付/時間の最も新しいもの2つを除いて削除する。全部消してしまうと、ステップ24のWIN95再起動からやり直すことになる。これらのファイルは Norton だけが使うごみ箱アイコンで、ごみ箱が空になったり、空のごみ箱にファイルが入れられた時に書き直される。だからもし全て消してしまっても実害はないので、ステップ24の注記の通りにすれば元に戻せることを覚えておけばよい。 31.windows ディレクトリに移動し「del win386.swp」と入力して Enter キーを押す。スワップファイルをどのように設定してあっても、最小のレジストリでWIN95をセーフモード起動すると、ここに0バイトのスワップファイルが作られるのだ。次にWIN95を起ち上げたときには、設定通りのスワップファイルが新しく作られる。 32.このディレクトリにある ALL.REG、HKU.REG ファイルを消す(不要なので消した方がいいが、消さなくても問題はない)。  1通りこの手順を終えてすぐ同じことを繰り返すと、かなりレジストリサイズを小さくできる場合がある。手順通りに行っても、新しい system.dat のほうが大きくなってしまったこともある( user.dat は圧縮できたが)。そうなったら、すぐに繰り返して2回目を行う必要がある。2回目が終われば system.dat は大抵小さくなっている。何故このようなことが起きるか詳しいことはわからないが、どうすれば解決できるかだけはわかる。  これで圧縮されたレジストリができあがった。WIN95が順調に動作していれば、後日、ステップ1でバックアップしたファイルを削除することができる。 もしトラブルに出くわしたら、次のことを試してみよう: 1.ステップ1で作成したバックアップをコピーし戻す。この手順を施す前の状態に戻すことができる。 2.セーフモードで起動してエラーが出ないか確かめる。 3.手順を1からやり直す。特に、ステップ8で ALL.REG を書き出すときにマイコンピュータをきちんと選択しているかに気を付ける。 4.バックアップしたファイルを戻し、ステップ9・10・11を省いて手順をやり直してみる。このステップを飛ばすと、ステップ16でエラーメッセージが表示されることがあるが、全てのユーザーで起こるとは限らないので、やってみる価値はある。もしエラーメッセージが表示されたら、ここで止めてバックアップファイルを戻す。 5.私宛に、次の情報と共にメールを送る a. 手順書のバージョン. b. どの手順を実行していたのかわかるような、正確な問題の詳細.エラーメッセージもあれば是非書き加えておいてほしい.漠然とした質問には答えられない. c. コンピュータの熟練度も教えていただければ、それに合わせた回答をするようにする. CompuServe の会員なら、メールは CompuServe アドレスへ 76534,1122 インターネットなら、インターネットアドレスへ roy@soon.com  私は毎日両方をチェックしている。私への電子メールは、特にもしメールを読むのに何かソフトなどが必要なら、私が返答しやすいようなものにしてもらいたい。これを守ってもらえず「クロスプラットフォーム」で送られたメールに対しては、返答を期待しないように。 ************************ 付録A OSR2/Memphis(メンフィス)  OSR2やメンフィスに付属のレジストリエディタ(以降新しいレジストリエディタ)は、OSR1以前のWIN95のレジストリエディタ(以降旧いレジストリエディタ)をリアルモードで動かしたときの問題が発生しない。もしOSR2やメンフィスがインストールされていれば、圧縮方法の項まで読み飛ばしてよい。  OSR1以前のユーザーが不利な所は、たとえ新しいレジストリエディタのコピーを手に入れても、そのままでは使うことができないことだ。なぜならOSR2とメンフィスのDOSは ver7.1 だが、OSR1以前では ver7.0 だからだ。新しいレジストリエディタは起動時にDOSのバージョンをチェックし、ver7.1 でないと起動しないようになっている。  私の知る限り、Microsoft はこの新しいレジストリエディタをダウンロードできるようにしていない。ただアップデートページに載せるだけなのにそれを行わない理由がわからない。もし新しいレジストリエディタをダウンロードできる場所を知っている方がいたら是非教えて欲しい。  新しいレジストリエディタを持っていれば、次の2つの方法で問題を克服できる。 修正1:DOSプロンプトで次のコマンドを実行する:  SETVER REGEDIT.EXE 7.10  こうすると、SETVER が実行されている限り、レジストリエディタにDOSのバージョンとして 7.1 が通知される。ハードディスクから起動すれば普通は setver が実行されている。問題はフロッピーから起動したときに setver が読み込まれないのでレジストリエディタが使えなくなることだが、その場合は努力して動くようにしてみて欲しい。 修正2:おすすめの方法は、新しいレジストリエディタにパッチを当て、DOSの ver7.1 上で動いているように思わせることである。setver を読み込んでおく必要がなく、どんなバージョンのDOSでも動かせる利点がある(7.0 と 6.2x で試験済み)。  やり方は簡単で、バージョンを調べているプログラムを書き換えるだけだ: MOV AH,30h ; DOSバージョンの獲得ファンクション INT 21h ; MSDOSファンクション実行  これを、あたかもファンクションを実行した後のように、AXレジスタに値を設定してやる。 MOV AX,0A07h ; AXレジスタにバージョン7.10を格納 NOP ; 何もしない(埋め合わせ)  注1:NOP で埋めるだけではうまくいかない。AXレジスタに期待する値を入れてやる必要がある。  注2:バージョンチェックのコードは2カ所あるので、どちらも書き換える。  パッチを当てるには、バイナリエディタで(debug コマンドは使えない)下記の通り書き換える。アドレスは新しいレジストリエディタのバージョンによって異なる。 Memphis OSR2 元の値 パッチ アドレス アドレス 2B6A 2B53 B4 B8 2B6B 2B54 30 07 2B6C 2B55 CD 0A 2B6D 2B56 21 90 339C 3384 B4 B8 339D 3385 30 07 339E 3386 CD 0A 339F 3387 21 90 圧縮方法−シングルユーザーシステムの場合 注:ファイル属性を変えたまま戻してないが、自動的に戻されるのでそのまま続けて良い。 1.(必ずしもしなくてよいが)レジストリから不要なキーを削除しておく 2.WIN95を終了し、DOSプロンプトにする(WIN95の起動をf8キーで中断し「コマンドプロンプトのみ」を選ぶ)。 3.windows ディレクトリ(system.dat、user.dat のあるディレクトリ)に移動する。 4.安全のため、system.dat、user.dat をバックアップする。 attrib -s -r -h system.dat attrib -s -r -h user.dat copy system.dat system.bak copy user.dat user.bak 5.レジストリを書き出す。 regedit /e filename  注:これはレジストリエディタが windows ディレクトリにあることを想定しているが、別の場所にあるときはフルパスで指定する。 6.レジストリを新しく作成する。 regedit /c filename  注:filename の内容で新しいレジストリを作り、既存の system.dat、user.dat に上書きされる。これによりレジストリの無駄なスペースが除かれる。 7.WIN95を普通に再起動すると、いつも通りに動作している上に、レジストリが前より小さくなっているだろう。 8.うまくいかなければ、ただちにWIN95を終了し、レジストリファイルを元に戻して再起動する。 9.うまくいったら、バックアップファイルがなくても大丈夫と思える時期にそれらを消せばよい。 圧縮方法−マルチユーザーシステムの場合→付録B参照 *********************************** 付録B マルチユーザーシステム  まず、もしマルチユーザーシステムでセットアップしているなら、WIN95をインストールした時によく分かっていなかっただけだから、今からシングルユーザーシステムにしてもらいたい。方法は次の通り(この情報はMSKB−Q156826から抜粋した)。 ユーザーの全てのプロファイルを使えなくする: 1.コンピュータを再起動する。WIN95のログオン画面はキャンセルする。 2.コントロールパネルのパスワードアイコンをダブルクリックする。 3.「ユーザー別の設定」タブの「全てのユーザーが同じデスクトップ設定を使う」を選び、OKをクリックする。 4.再起動をするように促されたらそれに従う。 ユーザープロファイルを削除する: 1.レジストリエディタで次のレジストリキーを削除する(サブキーも全て):  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CurrentVersion\ProfileLst  削除したらレジストリエディタを終了する。 2.「マイコンピュータ」をダブルクリックする。 3.「表示」メニューから「オプション」を選ぶ。 4.「表示」タブの「全てのファイルを表示」を選び、OKをクリックする。 5.エクスプローラで windows ディレクトリの Profiles ディレクトリと含まれる全てのファイルとディレクトリを削除する。  注:Microsoft も発表しているように、WIN95が Profiles ディレクトリを削除させないだろうから、DOSへ抜けて deltree コマンドで削除した方がよいだろう。  これでシングルユーザーシステムとなり、私の手順が書いてあるとおりに働くようになる。もし、どうしてもマルチユーザーシステムのまま残しておく必要があるなら、続きを読んでおく価値がある。  私はマルチユーザーシステムで動かしていないので、ここで説明したことは単に(MSKBで:補足訳)読んだことをリサーチし、それにより引き出された論理的な結論に基づいているにすぎない。試すためにわざわざマルチユーザーシステムをセットアップするつもりはない。結局の所、この手順は全くフリー(ただ)であり、公表して誰かの手助けになる以外の利益はない。はるか昔(IBM PC や APPLE や TRS-80 より以前)私がコンピュータを始めた頃、助けてもらったように。これはどうしても言っておきたい 。  WIN95をマルチユーザーシステムでセットアップすると、ユーザー個々のユーザープロファイルディレクトリ(例えば、C:\Windows\Profiles\Mary … (私はセクシストではないので、ディレクトリに女性名を用いた))に user.dat が分割して作られる。これらの user.dat はそれぞれ、デスクトップ設定・インストールソフトウエア・ソフトウエア設定といったユーザー別の情報のみを含んでいる。このとき windows ディレクトリにある user.dat は全てのユーザーに共通なデータのみを含むため、相対的にサイズは非常に小さい。このことが分かれば、何をすればよいかアイデアが浮かぶだろう。  マルチユーザーシステムでは、ユーザーがログインしてレジストリエディタを起動すると、windows ディレクトリにある共通のデータを持つ user.dat と、ユーザーのプロファイルディレクトリにある user.dat を合わせた内容が表示される。他のユーザーの user.dat の内容は現れない。  もしこの環境で前述した圧縮手順を行えば、windows ディレクトリにある user.dat は、手順を行ったユーザーの設定で(2つの user.dat を結合して)新しく作られてしまうだろう。明らかにこれではユーザープロファイルの意味が無くなってしまう。手順をし終えた後、全てのユーザーが新しい共通な user.dat に対して設定をし直さなければならなくなるからだ。  だがこの問題は、旧いレジストリエディタを使う手順(本文)でも、新しいレジストリエディタを使う手順(付録A)でも、少しやり方を変えるだけで解決できると思われる。 旧いレジストリエディタを使う場合: 本文に示した手順を参照のこと。 1.ステップ1で、バックアップするのに smallbac.bat を使わない。代わりに2つのバックアップ用ディレクトリを一時的に作成する。1つ目のディレクトリには、ステップ1に挙げた windows ディレクトリにあるファイルを全てバックアップする。2つ目には、この手順を実行しているユーザーのプロファイルディレクトリの中にあるファイルで、ステップ1のファイルリストに含まれるものをバックアップする。少なくとも、両方のディレクトリに user.dat が入るはずだ。 2.ステップ2で、msdos.sys ファイルを編集せず、f8キーで起動を中断する方法に替える。 3.ステップ32まで書いてあるとおりに進める。ただしステップ27は飛ばす(msdos.sys を編集しなかったので、行う必要のないステップだ)。 4.ステップ33として、windows ディレクトリとユーザープロファイルディレクトリにある同じ名前のファイルの内、ステップ1のファイルリストにあるもののみを windows ディレクトリからプロファイルディレクトリへコピーする。該当するのはおそらく user.dat だけであろう。 5.ステップ34として、ステップ1でバックアップした windows ディレクトリからのバックアップファイルを全て、windows ディレクトリへコピーし戻す。 6.以上を、レジストリ圧縮したい全てのユーザーが、それぞれ繰り返す。  修正した手順のあらまし:まずログオンしたユーザーのために windows ディレクトリに圧縮した user.dat を作成し、次に自分のプロファイルディレクトリにその user.dat をコピーし、最後に windows ディレクトリにあった元のファイルをコピーし戻す 。  この方法を試したわけではないので、試した方がいたら、どうなったかを教えて欲しい。 新しいレジストリエディタを使う場合: 付録Aに示した手順を参照のこと。 1.シングルユーザーの手順でステップ1〜9を行う。うまくいったら、この手順のステップ2に進む。 2.WIN95を終了し、DOSを起ち上げる(WIN95の起動をf8で中断して 「コマンドプロンプトのみ」を選ぶ)。 3.「\windows\profiles\(ユーザー名)」ディレクトリに移動する。 4.安全のため、user.dat を次のようにバックアップする。 attrib -s -r -h user.dat copy user.dat user.bak 5.windows ディレクトリに移動する。 6.system.dat、user.dat を次のようにバックアップする。 attrib -s -r -h system.dat attrib -s -r -h user.dat copy system.dat system.1 (*.bak でない拡張子にする) copy user.dat user.1 7.プロファイルディレクトリから user.dat をコピーする。 copy \windows\profiles\(ユーザー名)\user.dat user.dat 8.レジストリを書き出す。 regedit /e filename 9.レジストリを新しく作成する。 regedit /c filename 10.新しい user.dat をプロファイルディレクトリへコピーする。 attrib -s -h -r user.dat copy user.dat \windows\profiles\(ユーザー名)\user.dat 11.windows ディレクトリの system.dat、user.dat を元に戻す。 attrib -s -r -h system.dat attrib -s -r -h user.dat copy system.1 system.dat copy user.1 user.dat 12.WIN95を普通に再起動すると、いつも通りに動作している上に、レジストリが前より小さくなっているだろう。 13.以上を、レジストリ圧縮したい全てのユーザーが、それぞれ繰り返す。  この方法を試したわけではないので、試した方がいたら、どうなったかを教えて欲しい。 ◆私の試み 失敗 パスワード、共有設定が消えた ◆原文  許諾について ◆原文の所在  次の所で検索し、入手しました。  VSL(http://castor.acs.oakland.edu/cgi-bin/vsl-front)  1.「QUICK SEARCH」をクリック  2.キーワード「registry」を検索  3.検索結果の「smallreg3.zip」をクリック  4.適当なダウンロードサイトを選択し、クリックして入手