Main Contents
Libretto L3をCD-ROMドライブなしでリカバリするレシピ

知人に頼まれてLibretto L3をCD-ROMドライブなしでリカバリ。
こういうパソコン家庭医療で食っていけないかしら。
細かい部分は忘れてしまったけど、大まかな手順だけメモ。
必要なモノ
- USBフロッピードライブ
- 2.5inch HDDを接続できる他のPC
- 本体からHDDを取り出す。 裏面のネジをはずして、キーボード上部の細長いカバーをはずす。 キーボードをはぎ取って、またネジをはずす。 コネクタはデリケートなので注意してはずす。
- HDDを他のマシンにつないで、パーティションを切る(18G:2Gくらい)。
- 2Gの方にリカバリCDの内容をすべてコピーする。
- リカバリCD-ROMのルートにあるBOOTIMG.IMG(だったかな)から起動ディスクを作る。 ( http://www.vector.co.jp/soft/win95/util/se130037.html?y がNT系にも対応しててシンプルで便利)
- 起動ディスクの Autoexec.bat Run.bat をエディタで開き、CDROMチェック系を全部コメントアウト。
- Run.batの最初の方に SET CDDRV=d: を挿入し、2番目のパーティションをCD-ROMと誤認させるように改造
- LibrettoにUSBフロッピードライブを接続し、起動ディスクを挿入する。(アルファベットの)Fキーを押しながら起動
- フロッピーから起動して、ほぼ自動でリカバリが完了。
- by 宮永邦彦
- at 2003年07月06日 15:15
- in サーバとネットの大冒険
Comments
リカバリディスクはWin98ベースで作成されています。
そのためHDDもFAT32でフォーマットする必要があります。
MBR関連の問題が出ているようですのでHDDをNTFSでフォーマットしているのではないでしょうか?
- aro
- 2006年05月06日 12:16
ありがとうございます。
リカバリディスクを入れたパーテション(Dドライブ)は
NTFSでフォーマットしておりました。
CドライブもFAT32に変換したほうがよいのでしょうか。
CドライブをNTFSのままでRUN.BATを編集しておりましたが、どうもうまくいきません。
GDISK(Ⅰ) Master Boot Record reinitialised や、
label not found 等が表示され処理が進みません。
RUN.BATをそのままのさせていただきます。
具体的にどの部分を修正したらよろしいでしょうか。
@ECHO OFF
SET ERRCODE=
PATH=%TEMP%\TOOLS;%TEMP%\DOS
SET CDDRV=D:
:CHECKCD
REM Check CD-ROM Drive
REM 0:Ready 1:NotReady 2:NotCD-ROMdrive 3:IllegalDrive
CDCHECK T: > NUL
CDCHECK T: > NUL
IF ERRORLEVEL 2 GOTO NO_CDDRV
IF ERRORLEVEL 1 GOTO SET_CDROM
SET CDDRV=T:
GOTO CD_EXIST
:SET_CDROM
REM Insert CD-ROM
BMPVIEW %TEMP%\BMP\SETCDROM.BMP
PAUSE > NUL
:CHECKCD2
REM Check CD-ROM Drive
CDCHECK T: > NUL
CDCHECK T: > NUL
IF ERRORLEVEL 2 GOTO NO_CDDRV
IF ERRORLEVEL 1 GOTO NOCDROM
SET CDDRV=T:
GOTO CD_EXIST
:CD_EXIST
REM Check Recovery CD-ROM
IF NOT EXIST %CDDRV%\PREINST.GHO GOTO BAD_CDROM
IF NOT EXIST %CDDRV%\PREINST.CRC GOTO BAD_CDROM
IF NOT EXIST %CDDRV%\GHOST.EXE GOTO BAD_CDROM
IF NOT EXIST %TEMP%\TOOLS\GHOST.EXE COPY %CDDRV%\GHOST.EXE %TEMP%\TOOLS > NUL
IF EXIST %CDDRV%\SPAN.BMP COPY %CDDRV%\SPAN.BMP %TEMP%\TOOLS > NUL
IF EXIST %TEMP%\TOOLS\SPAN.BMP COPY %TEMP%\TOOLS\SPAN.BMP %TEMP%\ > NUL
COPY %CDDRV%\PREINST.CRC %TEMP%\PREINST.CD > NUL
FOR %%A IN (%CDDRV%\*.*) DO CALL FILECOPY.BAT %%A %TEMP%\
:RECOVERY
IF NOT EXIST %CDDRV%\PREDATA.BAT GOTO BAD_CDROM
IF (%COMPMODE%) == () CALL %CDDRV%\PREDATA.BAT
REM --- IF NOT EXIST %TEMP%\BMP\CHANGE.BMP GOTO SKIP
REM --- IF (%CDMAX%) == (1) GOTO SKIP
REM --- BMPVIEW %TEMP%\BMP\CHANGE.BMP
REM --- PAUSE > NUL
:SKIP
SET ERRCODE=.
IF (%PASSMODE%) == (YES) GOTO GHOSTPASS
IF (%COMPMODE%) == (PARTITION) GHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF (%COMPMODE%) == (DRIVE) GHOST -clone,mode=load,src=%CDDRV%\PREINST.GHO,dst=1,szeE -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF ERRORLEVEL 1 GOTO REC_NG
GOTO GDONE
:GHOSTPASS
SET TGHOSTPS=%FILENAME%
IF (%COMPMODE%) == (PARTITION) TGHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF (%COMPMODE%) == (DRIVE) TGHOST -clone,mode=load,src=%CDDRV%\PREINST.GHO,dst=1,szeE -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF ERRORLEVEL 1 GOTO REC_NG
:GDONE
LBA /C > NUL
GDISK 1 /MBR > NUL
SET ERRCODE=..
IF (%COMPMODE%) == (PARTITION) GHOST -CRC32,action=pcreate,src=1:1,crcfile=%TEMP%\PREINST.HDD -afile=%DRV1%\PREINST.ERR -sure -fni %GOPT%
IF (%COMPMODE%) == (DRIVE) GHOST -CRC32,action=create,src=1,crcfile=%TEMP%\PREINST.HDD -afile=%DRV1%\PREINST.ERR -sure -fni %GOPT%
IF ERRORLEVEL 1 GOTO REC_NG
SET ERRCODE=...
COMPFILE %TEMP%\PREINST.CD %TEMP%\PREINST.HDD > NUL
IF ERRORLEVEL 1 GOTO COMPERR
:NORMAL
IF EXIST CMOS.BAT CALL CMOS.BAT
REM Recovery success
SET ERRCODE=
BMPVIEW %TEMP%\BMP\THEEND.BMP
:LOOP
PAUSE > NUL
HWREBOOT
GOTO LOOP
REM ================= ERROR ===============================
:COMPERR
FC %TEMP%\PREINST.CD %TEMP%\PREINST.HDD > %TEMP%\COMP.LOG
GOTO REC_NG
:BAD_CDROM
REM Bad CD-ROM
BMPVIEW %TEMP%\BMP\BADCDROM.BMP /X=140 /Y=160
CLK
CHOICE > NUL
IF ERRORLEVEL 2 GOTO CDERREND
REM Push 'Y' button
BMPVIEW %TEMP%\BMP\Y1.BMP /XC /X=340 /Y=288
GOTO SET_CDROM
:NOCDROM
REM CD-ROM not found
BMPVIEW %TEMP%\BMP\NOCDROM.BMP /X=140 /Y=160
CLK
CHOICE > NUL
IF ERRORLEVEL 2 GOTO CDERREND
REM Push 'Y' button
BMPVIEW %TEMP%\BMP\Y1.BMP /XC /X=340 /Y=288
GOTO SET_CDROM
:NO_CDDRV
REM CD-ROM Drive not found
BMPVIEW %TEMP%\BMP\NO_CDDRV.BMP
PAUSE > NUL
GOTO END
:REC_NG
REM Recovery error
BMPVIEW %TEMP%\BMP\RECOVERR.BMP /X=96 /Y=168
ECHO %ERRCODE%
CLK
CHOICE /C:YNS> NUL
IF ERRORLEVEL 3 GOTO DEBUGEND
IF ERRORLEVEL 2 GOTO R_ERREND
REM Push 'Y' button
BMPVIEW %TEMP%\BMP\Y3.BMP /XC /X=392 /Y=272
REM Restart
BMPVIEW %TEMP%\BMP\REBOOT2.BMP
PAUSE > NUL
REM check boot devie
REM 0:FD 1:CD-ROM
CDCKBOOT > NUL
REM if errorlevel 1 then set boot priority "CD-ROM"=4
IF ERRORLEVEL 1 SETBOOT 4 >NUL
REM reboot
HWREBOOT
GOTO END
:R_ERREND
REM Push 'N' button
BMPVIEW %TEMP%\BMP\N1.BMP /XC /X=464 /Y=272
GOTO END
:CDERREND
REM Push 'N' button
BMPVIEW %TEMP%\BMP\N1.BMP /XC /X=412 /Y=288
GOTO END
:END
OFF
BMPVIEW %TEMP%\BMP\NO_PWOFF.BMP
PAUSE > NUL
GOTO END
:DEBUGEND
IF EXIST %TEMP%\PREINST.ERR FIND /I "Message:" %TEMP%\PREINST.ERR
- きみい
- 2006年05月06日 16:02
お返事が遅くなってすいません。
GWには間に合いましたでしょうか。
僕もだいぶ昔に作業をしたのと手元に環境がないので正直自信はないのですが、
REM CDCHECK T: > NUL
REM CDCHECK T: > NUL
REM IF ERRORLEVEL 2 GOTO NO_CDDRV
REM IF ERRORLEVEL 1 GOTO SET_CDROM
REM SET CDDRV=T:
GOTO CD_EXIST
こんな感じにとにかくCD_EXISTにGOTOするようにさせると行けるような気がします。
ちょっとお試しくださいな。
- みやなが
- 2006年05月07日 21:50
みやながさん
返信ありがとうございます。
早速、Run.batを修正してみましたが、
復元エラー CD-ROMが違います!
正しいCD-ROMに入れ替えてください。
よろしいですか?
用意ができたらYキーを押してください。
終了したい場合はNキーを押してください。
Yキーを押すと、
初期インストールウェアの復元
次のCD-ROMをCD-ROMドライブに入れてください。
Product Recovery CD-ROM
用意ができたら何かキーを押してください。
何かキーを押すと、
また、復元エラー CD-ROMが違います!
に戻ってしまいます。
何が問題なのでしょうか。
アドバイス、お願いします。
URLにAutexec.batとRun.batを載せておきました。
- きみい
- 2006年05月07日 22:21
Dドライブの方は認識されてますでしょうか?
Autoexec.batの最後のRun.batをいったんコメントアウトしてDOSのプロンプトから
> d:
とやってみてください。
> dir
でちゃんとファイルが表示されればいいんですが・・
要は、
:CD_EXIST
REM Check Recovery CD-ROM
IF NOT EXIST %CDDRV%\PREINST.GHO GOTO BAD_CDROM
IF NOT EXIST %CDDRV%\PREINST.CRC GOTO BAD_CDROM
IF NOT EXIST %CDDRV%\GHOST.EXE GOTO BAD_CDROM
ここでPREINST.GHO、PREINST.CRC、GHOST.EXEのいずれかが見あたらないので、正しいCD-ROMじゃない、と言われてるみたいですね。
なのでDドライブが認識されていないか、Dドライブにこれらのファイルがないという可能性があります。
- みやなが
- 2006年05月07日 22:35
みやながさん
本当にありがとうございます。
> dir
でちゃんとファイルが表示されればいいんですが・・
⇒とやってみたところ、
PREINST.GHO、PREINST.CRC、GHOST.EXE がありませんでした。
しかし、PC上(Windowsのマイコンピューターから確認)では確かに存在しており、DOS上では表示されおりません。
それ以外のファイルとしては
BMP (DIR)
TOOLS (DIR)
DOS (DIR)
COMMAND COM 118.174
RUN BAT 4.212
FILECOPY BAT 201
が表示されています。
Fileは3File 122.587bytesとなっておりました。
これは、Dドライブが認識されていないということなのでしょうか?
何か解決策はございますでしょうか。
みやながさん、宜しくお願いいたします。
- きみい
- 2006年05月07日 23:23
上記レスに追記です。
Autoexec.batの最後のRun.batをいったんコメントアウトしてDOSのプロンプトから
> c:
> dir
とやってみたところ、
こちらに、PREINST.GHO、PREINST.CRC、GHOST.EXE 等の
DドライブにいれたはずのリカバリーCD-ROMのファイルが
入っておりました。
パーテーションのきり方が悪かったのでしょうか?
- きみい
- 2006年05月07日 23:30
そうですねぇ、これはおそらくパーティションの順序が逆ですね。
config.sysで変更できたかもしれませんが、後々を考えるとパーティションから切り直した方がよさそうです。
- みやなが
- 2006年05月08日 21:20
みやながさん、いつもレスをいただき
ありがとうございます。
パーティションを切るときですが、
Dのパーティション(リカバリCDーROMをコピーする方)は、
プライマリー、拡張、どちらにしたほうがよいのでしょうか。
- きみい
- 2006年05月08日 23:36
長編化しちゃいましたね。
cもdもプライマリーでいいと思いますよ。
18Gの方を先の位置に作ってください。
- みやなが
- 2006年05月08日 23:46
こんにちは、
パーティションの分割ですが、L3のHDDをデスクトップにつなぎ、
KnoppixのQTPartedを使用し分割をしていますが、
C,Dと区切ることはできるのですが、
どうしても、
Autexec.bat の最後で
c:
dir
とやると、
Cに、PREINST.GHO、PREINST.CRC、GHOST.EXE 等の
DドライブにいれているリカバリーCD-ROMのファイルが
表示されてしまいます。
デスクトップにつないで確認すると確かにDドライブ
に、リカバリCDが入っているのですが、、、、、
CドライブもフォーマットしてDドライブを作成した方がよいのでしょうか。
- きみい
- 2006年05月10日 11:40
みやながさん、aroさん、
いろいろありがとうございました。
何とか、解決しました!!
結局、Cドライブはフォーマットせずに、
(Cに、PREINST.GHO、PREINST.CRC、GHOST.EXE 等が表示されている状態)
Run.batのSET CDDRV=Dを
SET CDDRV=Cに変更して無事リカバリーを行うことができました。
結論としては、KnoppixのQTPartedで行った、
パーティションの分割がXだったのではないかと思います。
ちょっと、しっくりはきておりませんが、
結果的にはOKかと思っております。
リカバリー後、Win2000のSP4を入れたり、
Updateを行ったり、Officeを入れたりと、
必要ソフトのインストール後、
AcronisのTrue Imageを使用しCドライブのバックアップをとり、いつでも復元可能な状態にしておきました。
これで、次回からはだいぶ楽になりそうです。
Cドライブのバックアップを取った後に、
再度パーティションをきりなおそうと思い、
Windowsの『ディスクの管理』を用いて
C,Dのパーティションを削除を行いました。
True Image でCにイメージを復元し、
L3で起動を行ったら問題なく動いております。
試しに、もう一度FDDからリカバリを行ってみました。
(Autoexec.batの最後のRun.batをコメントアウトした状態)
そうすると、何とc:dirとやると、
これまでd:dirで表示されていた
BMP (DIR)
TOOLS (DIR)
DOS (DIR)
COMMAND COM 118.174
RUN BAT 4.212
FILECOPY BAT 201
が表示されていました。
DドライブはNTFSでフォーマットしてしまった為、
リカバリCDの内容は認識しておりませんでしたが、
おそらく、FATでフォーマットしておけば
DのリカバリCDを認識してくれたかと思います。
昨日は、ここで力尽きました。
Dを再びFATにしてリカバリを行う力は残っておりませんでした。。。。。
いつか、Cドライブを復元するタイミングで
再検証してみたいと思います。
GWから始まったL3のリカバリは
ここで一度終了しようかと思います。
L3のHDDを何度、取り出しデスクトップに付け直したのかかわかりません。。。。。
お陰でL3の分解はかなり上達しました。
(プラスチックのツメを一箇所、折ってしまいましたが。。。)
また、DOSやbatファイルの知識もほとんどなかった私がここまでできたのも、
みやながさんのお陰だと思っております。
本当に、本当にありがとうございました。
- きみい
- 2006年05月11日 09:39
おー!おめでとうございます!
これでL3をいつでも最新の状態に戻せますね♪
僕の助言もいい加減なものですいません。
きみいさんの執念と試行錯誤の勝利ですよ。
お疲れ様でした~
- みやなが
- 2006年05月11日 10:13

L3のリカバリを考えていたら
このサイトにたどり着きました。
GWを利用してリカバリに挑戦しています。
起動ディスクの作成までは何とかたどり着き、
Autoexec.bat、Run.batの編集を行っております。
しかし、どうしてもFDからブート後エラーが表示され
リカバリーができません。
おそらく、Autoexec.bat はうまく動いているみたいです。
Run.batに入ると、
Invalid drive specification
GDISK(Ⅰ) Master Boot Record reinitialised
というメッセージが表示され処理が止まってしまいます。
Run.batのどの部分をコメントアウトすればよいのでしょうか。
ご教授お願い致します。