mixiユーザー(id:2416887)

2019年09月18日00:34

202 view

変な壊れ方したWinodws7が来た

まず、問答無用でスタートアップ修復が走る。
そして一瞬で終わる。
いつものHDDクラッシュとは毛色が違う。
SMARTを確認すると至って正常。
んー?

スタートアップ修復、今まで何やっているか不明だったんだが、
実は完了後に、ちょっとしたログが見れる。
メッセージは原因不明とでているのだが、このログを見ると、レジストリが破損しているとのこと。
まぁそうだよね。とりあえずファイルを見てみよう。

んー?なんか足りない?
・・・・・・SYSTEMレジストリがいない。
そりゃああそこで死ぬわけだ。
Windows7は同じ階層にRegBackというフォルダがあって、
この中に定期的なバックアップが残っている。
こっちは9/1のバックアップがあったので、そいつと置き換えてみたところ、
正常にWindows7が起動した。

さて、ここからが問題。
システムの復元が使えない、WndowsUpdateが使えない、sfc /scannow が使えない。
考えられる方法は全部試したが、反応なし。
そんなにボッコボコになっているのかなぁ?

さて、CドライブにFound.000 というフォルダがある。
これはscandiskで修復できないファイルがあったときに出来るもの。
恐らくこの中身に修理できなかった何かが存在しているだろう。
さて、中身は、SYSTEMとSCHEMA.DATとCOMPONENTS
SCHEMA.DATはシステムの復元周りの情報だが、これのせいで復元できなかったのか?
でもVolume Shadow Copyはちゃんと参照できるんだけどな。
COMPONENTSのほうがタチ悪い。
よく調べると、レジストリの一部だ。
しかも、50MBと他の奴らより巨大なため、結構重要だ。
なんでバックアップしないのだろうか?

まぁ恐らく、システムの復元があるからだろう。
こっちは機能してない。でも復元ポイントは存在している。
レジストリは大きくても200MB程度なので、恐らくまとめてバックアップされているはずだ。
システムの復元はVolume Shadow Copyで、ドライブ構造を一部だけコピーしている。
本質はイメージファイルのようなもの。VHDみたいな。
だからマウントが出来る。マウントが出来れば、中からレジストリデータが取り出せる。

この辺はほぼコマンドプロンプトしか使えない。
Volume Shadow Copyの隠しフォルダの閲覧権限はいらない。
cmdを管理者権限で立ち上げて、

vssadmin list shadows

そうすると、一覧が見れる。だいたいシステムの復元と一致するはず。
その中のシャドウ コピー ボリュームが鍵になる。
次はマウント先を作成。

mklink /D 【シンボリックリンク作成先】 【シャドウ コピー ボリューム】

例でmklink /D C:\sha_vol_1 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\

これで、こいつを覗けるフォルダができる。
そのままコマンドプロンプトで入り込もうとすると、パラメータが違うとか起こられる。
C直下は何もできてないからか?
cd "C:\sha_vol_1\Windows\System32\config"と指定すると、何事もなく入っていけたりする。
入ったらdirだ。ちゃんとレジストリのファイルがあるぞ。
こいつを適当な場所にコピー。

その後、スタートアップ修復→キャンセル→コマンドプロンプトでレジストリファイルを置き換え。
その後、再起動。

とりあえず何事もなく動き、WindowsUpdateは時間切れだったが、
sfc /scannowは動くようになっていた。
やっていることはレジストリの総入れ替えなんだが、よくもまぁ動くもんだ。

まぁこれでレジストリが死んだときでも復元できるようになったぞ。
2 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する

<2019年09月>
1234567
891011121314
15161718192021
22232425262728
2930