外貨・外為・為替サービスのドメインを売却します

メインコンテンツ | メニュー | リンクメニュー

Main Contents

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


知人に頼まれてLibretto L3をCD-ROMドライブなしでリカバリ。
こういうパソコン家庭医療で食っていけないかしら。
細かい部分は忘れてしまったけど、大まかな手順だけメモ。

必要なモノ


  • USBフロッピードライブ

  • 2.5inch HDDを接続できる他のPC

  1. 本体からHDDを取り出す。  裏面のネジをはずして、キーボード上部の細長いカバーをはずす。  キーボードをはぎ取って、またネジをはずす。  コネクタはデリケートなので注意してはずす。
  2. HDDを他のマシンにつないで、パーティションを切る(18G:2Gくらい)。
  3. 2Gの方にリカバリCDの内容をすべてコピーする。
  4. リカバリCD-ROMのルートにあるBOOTIMG.IMG(だったかな)から起動ディスクを作る。 ( http://www.vector.co.jp/soft/win95/util/se130037.html?y がNT系にも対応しててシンプルで便利)
  5. 起動ディスクの Autoexec.bat Run.bat をエディタで開き、CDROMチェック系を全部コメントアウト。
  6. Run.batの最初の方に SET CDDRV=d: を挿入し、2番目のパーティションをCD-ROMと誤認させるように改造
  7. LibrettoにUSBフロッピードライブを接続し、起動ディスクを挿入する。(アルファベットの)Fキーを押しながら起動
  8. フロッピーから起動して、ほぼ自動でリカバリが完了。
てなわけ。

Comments

L3のリカバリを考えていたら
このサイトにたどり着きました。
GWを利用してリカバリに挑戦しています。

起動ディスクの作成までは何とかたどり着き、
Autoexec.bat、Run.batの編集を行っております。

しかし、どうしてもFDからブート後エラーが表示され
リカバリーができません。
おそらく、Autoexec.bat はうまく動いているみたいです。
Run.batに入ると、

Invalid drive specification
GDISK(Ⅰ) Master Boot Record reinitialised

というメッセージが表示され処理が止まってしまいます。
Run.batのどの部分をコメントアウトすればよいのでしょうか。

ご教授お願い致します。

リカバリディスクはWin98ベースで作成されています。
そのためHDDもFAT32でフォーマットする必要があります。
MBR関連の問題が出ているようですのでHDDをNTFSでフォーマットしているのではないでしょうか?

ありがとうございます。
リカバリディスクを入れたパーテション(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


お返事が遅くなってすいません。
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するようにさせると行けるような気がします。
ちょっとお試しくださいな。

みやながさん
返信ありがとうございます。

早速、Run.batを修正してみましたが、

復元エラー CD-ROMが違います!
正しいCD-ROMに入れ替えてください。
よろしいですか?
用意ができたらYキーを押してください。
終了したい場合はNキーを押してください。

Yキーを押すと、
初期インストールウェアの復元
次のCD-ROMをCD-ROMドライブに入れてください。
Product Recovery CD-ROM
用意ができたら何かキーを押してください。

何かキーを押すと、
また、復元エラー CD-ROMが違います!

に戻ってしまいます。
何が問題なのでしょうか。
アドバイス、お願いします。

URLにAutexec.batとRun.batを載せておきました。

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ドライブにこれらのファイルがないという可能性があります。

みやながさん
本当にありがとうございます。

> 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ドライブが認識されていないということなのでしょうか?

何か解決策はございますでしょうか。
みやながさん、宜しくお願いいたします。

上記レスに追記です。
Autoexec.batの最後のRun.batをいったんコメントアウトしてDOSのプロンプトから
> c:
> dir

とやってみたところ、
こちらに、PREINST.GHO、PREINST.CRC、GHOST.EXE 等の
DドライブにいれたはずのリカバリーCD-ROMのファイルが
入っておりました。

パーテーションのきり方が悪かったのでしょうか?

そうですねぇ、これはおそらくパーティションの順序が逆ですね。
config.sysで変更できたかもしれませんが、後々を考えるとパーティションから切り直した方がよさそうです。

みやながさん、いつもレスをいただき
ありがとうございます。

パーティションを切るときですが、
Dのパーティション(リカバリCDーROMをコピーする方)は、
プライマリー、拡張、どちらにしたほうがよいのでしょうか。

長編化しちゃいましたね。
cもdもプライマリーでいいと思いますよ。
18Gの方を先の位置に作ってください。

こんにちは、

パーティションの分割ですが、L3のHDDをデスクトップにつなぎ、
KnoppixのQTPartedを使用し分割をしていますが、
C,Dと区切ることはできるのですが、

どうしても、
Autexec.bat の最後で

c:
dir

とやると、
Cに、PREINST.GHO、PREINST.CRC、GHOST.EXE 等の
DドライブにいれているリカバリーCD-ROMのファイルが
表示されてしまいます。
デスクトップにつないで確認すると確かにDドライブ
に、リカバリCDが入っているのですが、、、、、

CドライブもフォーマットしてDドライブを作成した方がよいのでしょうか。

みやながさん、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ファイルの知識もほとんどなかった私がここまでできたのも、
みやながさんのお陰だと思っております。
本当に、本当にありがとうございました。

おー!おめでとうございます!
これでL3をいつでも最新の状態に戻せますね♪

僕の助言もいい加減なものですいません。
きみいさんの執念と試行錯誤の勝利ですよ。
お疲れ様でした~

Post a comment

コメントフォーム

Copyright © here.