ThinkPad 240X手動リカバリー(1) 
Rev.B

不定期コラム Vol.113
2000/08/04更新 8/05緊急修正
【改定内容】TP240XとTPi1124の違いについて言及

兄弟モデルのTP240XとTPi1124ですが、リカバリーCDの
動作過程が違うようです。

TP240XでWIN98のリカバリーCDを起動するとHDDをFORMAT
せずに、圧縮ファイルの解凍が行われます。その過程はここで
述べている手動による解凍と変わりませんが、より動作が高速
なように感じられました。

8GBと4GBに区画を切ったHDDに対してリカバリーをかけると
区画はそのままで作業が行われました。問題はHDDを何故か
FORMATしないので過去のシステムの上に上書きすると、綺麗
にシステムが復活できず、例えばIME98の辞書が無いといった
トラブルが起きました。

TPi1124が一台しか無いので、同じTP240XにTPi1124のリカバ
リーをかけると、PowerQuestのDriveImageが起動しますが、
途中でディスクがどうのこうの、というメッセージを出して止まり
ます。明らかにTP240XとTPi1124は違います。HDDが必ず12GB
必要なのか、とか、もう少し調べてみます。

どこかの掲示板でTPi1124のリカバリーで区画がなくなってしまっ
た、という内容があったので、てっきりTP240Xも同じかと思いま
したが、現時点ではTPi1124だけの現象のようです。
手動でPowerQuest社のDrive Image Proを起動できるか、とか
調べないといけないようです。6GB,20GBのHDDに換装して
どうなるか、とか、今後調べる予定です。思ったより奥が深そう
です。

ということで、8/04にアップロードした内容は訂正します。


以下は8/4にアップロードした内容です。
---------------------------------------------------

TP240XでALL手動で復元する手順を実行してみました。
まずはリカバリーCD付属の起動ディスクの改造を行います。

なお、手動リカバリーその2では、リカバリーCD付属の起動
ディスクを無くした場合の手順について考えてみます。


HDDの区画作成とFORMAT
まずVol.111で書いた手順でHDDに手動で区画を作成します。
この時の作業に使う起動ディスクは、CD-ROMのドライバ
を組み込んでいないものを使います。CD-ROMのドライバ
等が組み込まれているとシステム情報の転送がメモリ不
足でできない場合があります。

FDISKで区画を作成したら必ず再起動します。
なお、基本区画は必ずACTIVEな状態にしておいてください。
(FDISKの2番目の項目です)。

再起動後、A:>FORMAT C:/S として
HDDをFORMATします。作業に使う起動ディスクがWIN95ベー
スのものの場合、システム情報は転送せずに
A:>FORMAT C: だけの方が無難でしょう。


CD-ROMドライバの組み込み

TP240Xでは標準状態では
IBM 20X PCMCIA
PANASONIC 8X PCMCIA
 のドライブがサポートされています。
手元にあるPanasonic KXL-808ANは20倍速ですから、
8倍速というのは大分前のモデルなのかもしれません。

下記は240Xの起動ディスク内のCONFIG.SYSです。

REM MSCDEX loaded in Autoexec.bat.

[COMMON]
DEVICE=A:\HIMEM.SYS /TESTMEM:OFF
DOS=HIGH,UMB
SHELL=A:\COMMAND.COM /P /E:512
BUFFERS=20
FILES=40
DEVICEHIGH=A:\CARDXTND.SYS
DEVICEHIGH=A:\SSCBTI.SYS
DEVICEHIGH=A:\CS.SYS
DEVICEHIGH=A:\CSALLOC.EXE
DEVICEHIGH=A:\CARDID.SYS A:\cardid.ini
DEVICEHIGH=A:\RAMDRIVE.SYS /E 2048 512 200

面倒なEMM386.EXEは導入されていません。
CARDXTND.SYSはDOS用PC CARDドライバのCARDSOFT
には付属しない、リカバリーCD付属起動ディスク
専用のドライバです。いわゆるDOSエクステンダー
の類のようで、DOSでもリカバリー作業に影響が
出ないようメモリーを拡張するために組み込まれ
ているようです。

RAMDRIVE.SYSはMS社のファイルで、起動時には
既存のHDDの後のドライブレターになります。
例えば、HDDがC:とD:ならばE:となります。

この点は以前のTP240のリカバリー用起動ディ
スクでIBM製のRAMDRIVE.SYSがA:、FDDがB:に
導入されるのと大きな違いです。

CD-ROMのドライバはAUTOEXEC.BAT中のDYNALOAD
によって動的に導入されます。

下記はオリジナルのAUTOEXEC.BATです。

SET CC=US
SET DRV=X:
SET COPYR=
SET drive=A

DSKSTATE
IF ERRORLEVEL 2 GOTO DSTATE2
IF ERRORLEVEL 1 GOTO DSTATE1
IF ERRORLEVEL 0 GOTO DSTATE0

:DSTATE2
SET DSTATE=2
GOTO GETDRV

:DSTATE1
SET DSTATE=1
GOTO GETDRV

:DSTATE0
SET DSTATE=0

:GETDRV
getdrive.exe /CC=US
IF ERRORLEVEL 1001 GOTO PANASONIC
IF ERRORLEVEL 1000 GOTO IBM20X
IF ERRORLEVEL 0 GOTO NOSELECT

:PANASONIC
A:\DYNALOAD A:\aspiomgr.sys
A:\DYNALOAD A:\kmecd.sys /d:pcmciacd /n:1
LH A:\MSCDEX.EXE /D:pcmciacd /M:10 /L:X
GOTO NOWGO

:IBM20X
A:\DYNALOAD A:\PCMCD20X.SYS /I:10 /P:260 /D:PCMCD001
LH A:\MSCDEX.EXE /D:PCMCD001 /M:15 /L:X
GOTO NOWGO

:INTERNAL
LH A:\MSCDEX.EXE /D:IBMCD001 /L:X
GOTO NOWGO

:NOSELECT
ECHO NO CD DRIVE SELECTION WAS MADE.
GOTO DONE

:NOWGO
A:\SMARTDRV.EXE 4096 C+ /U

REM FIND DRIVE WITH RECOVERY CD
FINDCD.EXE
IF ERRORLEVEL 25 IF NOT ERRORLEVEL 26 SET DRV=Z:
IF ERRORLEVEL 24 IF NOT ERRORLEVEL 25 SET DRV=Y:
IF ERRORLEVEL 23 IF NOT ERRORLEVEL 24 SET DRV=X:
IF ERRORLEVEL 22 IF NOT ERRORLEVEL 23 SET DRV=W:
IF ERRORLEVEL 21 IF NOT ERRORLEVEL 22 SET DRV=V:
IF ERRORLEVEL 20 IF NOT ERRORLEVEL 21 SET DRV=U:
IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 SET DRV=T:
IF ERRORLEVEL 18 IF NOT ERRORLEVEL 17 SET DRV=R:
IF ERRORLEVEL 17 IF NOT ERRORLEVEL 16 SET DRV=Q:
IF ERRORLEVEL 16 IF NOT ERRORLEVEL 15 SET DRV=P:
IF ERRORLEVEL 15 IF NOT ERRORLEVEL 14 SET DRV=O:
IF ERRORLEVEL 14 IF NOT ERRORLEVEL 13 SET DRV=N:
IF ERRORLEVEL 13 IF NOT ERRORLEVEL 12 SET DRV=L:
IF ERRORLEVEL 12 IF NOT ERRORLEVEL 11 SET DRV=L:
IF ERRORLEVEL 11 IF NOT ERRORLEVEL 10 SET DRV=K:
IF ERRORLEVEL 10 IF NOT ERRORLEVEL 9 SET DRV=J:
IF ERRORLEVEL 9 IF NOT ERRORLEVEL 8 SET DRV=I:
IF ERRORLEVEL 8 IF NOT ERRORLEVEL 7 SET DRV=H:
IF ERRORLEVEL 7 IF NOT ERRORLEVEL 6 SET DRV=G:
IF ERRORLEVEL 6 IF NOT ERRORLEVEL 5 SET DRV=F:
IF ERRORLEVEL 5 IF NOT ERRORLEVEL 4 SET DRV=E:
IF ERRORLEVEL 4 IF NOT ERRORLEVEL 3 SET DRV=D:
IF ERRORLEVEL 3 IF NOT ERRORLEVEL 2 SET DRV=C:
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 1 SET DRV=B:
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 0 SET DRV=A:

CALL FINDDRV.BAT
COPY A:\*.* %RAMD%\ > NUL
SET COMSPEC=%RAMD%\COMMAND.COM

ECHO .
ECHO -----------------
ECHO Recovery Drive=%DRV%
ECHO RAM Drive =%RAMD%
ECHO -----------------
ECHO .
%RAMD%

PATH=%RAMD%\;%DRV%\RECOVERY;%DRV%\RECOVERY\%CC%
SUBST A: %RAMD%\

call %drive%:\DISKETTE.EXE B >NUL
if errorlevel 1 goto YESdiskette
GOTO START

:YESdiskette
if exist B:\MFGMODE goto MFGmode
if exist B:\ERROR.LOG goto MFGcleanup
GOTO START

:MFGmode
if exist B:\PREDL.bat call B:\PREDL.bat
g:\recovery\recover.exe /AUTO
if exist B:\VEPT.EXE B:\VEPT.EXE /n /c /ww
if exist B:\DEVMODE goto DONE
call a:\veptcrc.bat
if exist B:\ERROR.LOG goto DLerror
if exist B:\POSTDL.bat call B:\POSTDL.bat
%drive%:\set_cmos 0 0x36 xxxx0010
%drive%:\fmodify.exe A:\auditset.fm
c:\windows\regedit /L:C:\WINDOWS\system.dat /R:C:\WINDOWS\user.dat %drive%:\mfgbooti.reg
copy %drive%:\set_cmos.exe c:\
copy %drive%:\unaudit.exe c:\
copy %drive%:\MFGRESET.BAT c:\
copy %drive%:\ERROR.LOG B:\
%drive%:\REBOOT.EXE
GOTO DONE

:MFGcleanup
if exist B:\POSTAUD.bat call B:\POSTAUD.bat
copy A:\TESTER.CTL B:\
del c:\set_cmos.exe
del c:\unaudit.exe
del c:\MFGRESET.BAT
del b:\error.log
A:\set_cmos 0 0x36 xxxx0000
A:\REBOOT.EXE
GOTO DONE

:DLerror
copy A:\TESTER.CTL B:\
A:\set_cmos 0 0x36 xxxx0000
A:\REBOOT.EXE
GOTO DONE

:START
CLS
IF %DSTATE%==2 GOTO GORECOV
IF %DSTATE%==1 GOTO DORECOV
IF %DSTATE%==0 GOTO CONTINUE

:DORECOV
IF EXIST C:\$APTINST.DAT GOTO DELFILE

:GORECOV
%DRV%\RECOVERY\RECOVER.EXE %COPYR% /P:%DRV%\RECOVERY
IF ERRORLEVEL 2527 GOTO DIAGDISK
IF ERRORLEVEL 2525 GOTO DIAGNOSTICS
IF ERRORLEVEL 2523 GOTO SYSTEMINFO
GOTO DONE

:DELFILE
ERASE C:\$APTINST.DAT

:CONTINUE
%DRV%\RECOVERY\RECOVER.EXE /Y %COPYR% /P:%DRV%\RECOVERY
IF ERRORLEVEL 2527 GOTO DIAGDISK
IF ERRORLEVEL 2525 GOTO DIAGNOSTICS
IF ERRORLEVEL 2523 GOTO SYSTEMINFO
GOTO DONE

:SYSTEMINFO
SET COPYR=/S
%DRV%\PCDR\PCDR.EXE /SI /PAUSE
GOTO START

:DIAGNOSTICS
SET COPYR=/S
%DRV%
CD \PCDR
%DRV%\PCDR\PCDR.EXE
CD \
GOTO START

:DIAGDISK
SET COPYR=/S
%DRV%\PCDR\MAKEDIAG.EXE B:
PAUSE
GOTO START

:DONE
@ECHO ON


ポイントはDOS6あたりから導入ができるように
なったマルチCONFIGです。これによって、
複数の選択肢を選ばせて複雑な起動ができるよう
になっています。

今回はPanasonicのCD-ROMを使っていますので、
やはり、下記の行の書き換えが重要です。

:PANASONIC
A:\DYNALOAD A:\aspiomgr.sys
A:\DYNALOAD A:\kmecd.sys /d:pcmciacd /n:1
LH A:\MSCDEX.EXE /D:pcmciacd /M:10 /L:X
GOTO NOWGO

作業に入る前にオリジナルの起動ディスクのバック
アップを必ず取ってください。書き換え作業は、
このバックアップ用のディスクを使って行います。
むろん、オリジナルでも構いませんが、万が一の
失敗もありえますので、オリジナルは手元に大事に
保管しておいた方が良いでしょう。

KXL-808AN/830ANの場合は

:PANASONIC
rem オリジナルの下記3行を修正("rem "を追加)
rem A:\DYNALOAD A:\aspiomgr.sys
rem A:\DYNALOAD A:\kmecd.sys /d:pcmciacd /n:1
rem LH A:\MSCDEX.EXE /D:pcmciacd /M:10 /L:X
rem 下記3行を追加,CD-ROMドライブ名は大文字に
A:\DYNALOAD A:\ATASMGR.SYS
A:\DYNALOAD A:\KMESATCD.SYS /D:PCMCIACD
LH A:\MSCDEX.EXE /D:PCMCIACD /M:10 /L:X
GOTO NOWGO

となり、ATASMGR.SYSとKMESATCD.SYSはCD-ROM付属
のフロッピーディスクのDOSフォルダーから起動
ディスクにCOPYします。

KXL-RW10ANの場合は

:PANASONIC
rem オリジナルの下記3行を修正("rem "を追加)
rem A:\DYNALOAD A:\aspiomgr.sys
rem A:\DYNALOAD A:\kmecd.sys /d:pcmciacd /n:1
rem LH A:\MSCDEX.EXE /D:pcmciacd /M:10 /L:X
rem 下記4行を追加,CD-ROMドライブ名は大文字に
A:\DYNALOAD A:\KMASMGRA.SYS
A:\DYNALOAD A:\KMASASPA.SYS
A:\DYNALOAD A:\KMASCDA.SYS /D:PCMCIACD
LH A:\MSCDEX.EXE /D:PCMCIACD /M:10 /L:X

KMASMGRA.SYSとKMASAPSA.SYS,KMASCDA.SYSはCD-ROM
付属のフロッピーディスクのDOSフォルダーから起動
ディスクにCOPYします。


必要なファイルのCOPY
HDDのFORMATに使ったディスクと差し替えて、新しく
作ったCD-ROMドライバを組み込んだディスクで起動
します。なお、KXL-RW10ANの場合、PC CARD上のディ
ップスイッチをCradBus側から16bitの方に変更して
ください。でないとPCカードを認識してくれません。

CD-ROMを認識しているメッセージが起動の時に表示さ
れるのを確認してください。問題なければEsc キーか
F3 キーでリカバリー作業を途中で終了します。この
時CD-ROMは確かX:あたりに設定されていたはずです。
ここでは仮にX:とします。

必要なファイルをHDDにCOPYする場所はどこでも構い
ません。後で削除してきれいにする事を考えると、
例えば
C:\TMPといったフォルダーにCOPYすることにします。

A:>c:
C:>cd c:\tmp
c:\tmp>copy x:*.imz
c:\tmp>copy x:pkunzip*.*


ファイルの解凍
トラブルを避けるため、再びCD-ROMドライバの入って
いない起動ディスクで起動します。

下記はファイル解凍用のバッチファイルの例です。
TP240Xで行って、一応動いています。解凍作業の
ログが延々と表示された中では、紹介ツアーがら
みのファイルで一部問題があるかもしれません。
時間は25分程度は必要です。

TEST.BATの例(ファイル名は好きなものをどうぞ)
pkunzip -d -e KMJP8C0.IMZ c:\
pkunzip -d -e KMJP8C1.IMZ c:\
pkunzip -d -e KMJP8C2.IMZ c:\
pkunzip -d -e KMJP8C3.IMZ c:\
pkunzip -d -e KMJP8C4.IMZ c:\
pkunzip -d -e KMJP8C5.IMZ c:\
pkunzip -d -e KMJP8C6.IMZ c:\


このバッチファイルをIMZファイルのあるフォルダー
で実行します。

C:\に延々とファイルが解凍されて工場初期出荷状態の
復元が行われます。

以上の作業を12GBのHDDを8GB/4GBに分割した状態で
TP240X+KXL-830ANで実行して終了しました。



今回のコラムの作成に大いに参考になったWEBサイトのURL

  オールマイティ起動ディスク  
  http://www.thinkpad-club.com/webforum/faq/tp2xx/00055.html
  ThinkPad ClubのTP200Series FAQ格納庫

  http://www1.neweb.ne.jp/wa/mskahn/
  mskahn's Web Site
  Boot Disk for ThinkPad240の作成  
    
  http://www.mars.sphere.ne.jp/ite/
  しろうさぎ の きまぐれ



一つ前へ
一つ後へ
コラム Indexへ
トップページへ