2017年
7月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

2017-07-10 バイナリのレジストリ

_ regコマンドを使って

以前、HDDが死んで、HDDの入れ替えを行ったPCのソフトが不調になった。古いHDDの中身は取り出していたのだが、ソフトの部分を置き換えても、レジストリが違うので動かない。レジストリはバックアップしていなかったのだが、システムファイルがあるので、そこからレジストリの情報を取り出せないかと思って調べたら、できるようだ。

レジストリは、windows/system32/config内に保存されているが、バイナリなので、そのままでは読めない。レジストリをいじるためには、regeditを良く使っていたが、組み込まれていないレジストリはこれでは扱えない。XP以降ではregというツールを使えるようになっており、これを使うとバイナリファイルに保存されているレジストリを取り出すことができる。コマンドプロンプトでバックアップされたバイナリのレジストリファイルがあるところに行って、reg load HKLM\Temp_software softwareとすると、System\Temp_softwareというレジストリの下に、softwareというファイルに保存されていたレジストリが展開される。これをregeditを用いて取り出せば良い。注意しないといけないのは、regeditを立ち上げていると、エラーが出てしまうことである。このせいで、しばらく悪戦苦闘してしまった。

レジストリを入れ替えて、ソフトのファイルを古いHDDのものに入れ替えたら、無事に動くようになった。