USBストレージを使う@PE Builder
PE Builderを僕はサーバのバックアップに使っているんだけど、ネットワークインターフェイス用ドライバをインストールするのが面倒だったり、まあてっとり早くバックアップを作成するならUSBストレージだろう。なんて思いまして。
というわけで今回はPE Builderで作成したイメージからUSBデバイスを扱えるようにしましょう。
プラグインのダウンロード
LunarCal
http://lunarcal.org/WinPE/WinPE.html
まずここから”USB1394.zip”をダウンロードします。
![]()
ファイルを解凍して、ディレクトリはとりあえず”USB1394″で良いでしょう。
解凍したディレクトリの中に”usb & 1394 User Reg Extract.bat”というBATファイルがあるのでこれを実行します。
・・・ん?実行出来ませんね。
教えてGOOのlonewolfさんの書き込みにヒントがありました。質問した方は理解していないようですが。
レジストリにキーエントリがないと無視されるのでエラーは表示しませんが、テキストファイルが作成されません。
自分のPCに装備されているデバイスにあわせてbatファイルを編集してください。
元のファイルをコピーしてバックアップを取ってから実行してください。
以下は私の環境で実際に編集して作成したBartPEプラグインです。
regedit -e "tt.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\1394"
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\SBP2"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\SCSI"
copy /A tt.txt+t1.txt > nul
はデバイスがなかったのでレジストリに存在しないので5行削除しました。
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\STORAGE"
のt1.txtをtt.txtに変更
regedit -e "tt.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\STORAGE"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB"
の間にある
copy /A tt.txt+t1.txt > nul を削除して上書き保存して実行しました。
なるほど、先人は偉大ですね。実際にこの通りBATファイルを修正してみましょう。
今更ながら知ったのですがRegeditにはオプションスイッチがあったんですね。
regedit /l:[system.dat] /r:[user.dat] /e [export_file] [registry_path]
こんな感じらしいです。
で、lonewolfさんの書き込みを元に”usb & 1394 User Reg Extract.bat”を修正するとこんな感じになります。
@echo off
@echo USB IEEE1394 Plugin ver 2.3
@echo Extracting USB and IEEE1394 user Registry ...
@echo All required entries will be placed into file "usb&ieee1394.reg"
@echo Use this file in the USB IEEE1394 plugin.
@echo ...extracting...
@echo.if exist t1.txt del t1.txt
if exist tt.txt del tt.txtregedit -e "tt.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\STORAGE"
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\V1394"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_10DE&DEV_0067&SUBSYS_1C06147B&REV_A4\3&13c0b0c5&0&10"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_10DE&DEV_0067&SUBSYS_1C06147B&REV_A4\3&13c0b0c5&0&11"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_10DE&DEV_0068&SUBSYS_1C06147B&REV_A4\3&13c0b0c5&0&12"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_10DE&DEV_006E&SUBSYS_1C06147B&REV_A3\3&13c0b0c5&0&68"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\dmio"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\ftdisk"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_ARP1394"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_DMADMIN"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_DMBOOT"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_DMLOAD"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_DMSERVER"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_FASTFAT"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_FILEDISK"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_MOUNTMGR"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_NTMSSVC"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_PARTMGR"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_RPCSS"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_SSDPSRV"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_VOLSNAP"
copy /A tt.txt+t1.txt > nul
regedit -e "t1.txt" "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\SYSTEM\0000"
copy /A tt.txt+t1.txt > nul
copy tt.txt "usb&ieee1394user.reg" > nul
if exist t1.txt del t1.txt
if exist tt.txt del tt.txt
@echo Finished extracting registry entries...
pause
![]()
これを実行したところ、”usb & 1394 User Reg Extract.bat”のカレントディレクトリに先ほどは作成されなかった”usb&ieee1394user.reg”が無事作成されました。
ビルド作業
![]()
ビルドを行ったところ、エラーが表示されました。僕はIEEE 1394デバイスを使わないのでこのファイルが無いですよとエラーが出てしまうみたいです。
“USB & 1394 Plugin.inf”の中に
C:\WINDOWS\system32\drivers\sbp2port.sys=4,,1
という表記があるのでこれをコメントアウトしてしまう。
;;C:\WINDOWS\system32\drivers\sbp2port.sys=4,,1
Windows XP SP2のCDがあればI386\SP2.CAB\sbp2port.sysからコピーしても多分動きます。sbp2port.sysはインターネット上で検索してもダウンロード出来るみたいです。(試していませんが)
とりあえず使えるかどうか試してみたのは周りにろくなUSBデバイスが無かったので
・IPODシャッフル(古い方)
・SDカードリーダ
というサンプルになりにくいものだったんですが、普通に認識しました。
まあ2種類ともWindows汎用ドライバで認識するからOKですかね。
追記@2007.03.02
別環境でこのプラグインを使ってみたら、不足しているファイルがあります。みたいな警告が結構出たんだけど、全て不足していたファイルはWindows XP SP2のインストールCDの中から見つけられました。
Popularity: 10%
トラックバック URI : http://pnpk.net/cms/archives/184/trackback/
【関連記事】