Salvage HDD data of J3100SGT101
納戸の肥やし往年の110万円ラップトップパソコンJ3100SGT101のHDDデータをサルベージしようと思う。この当時のパソコンのデータ交換は、FDかRS232Cかプリンタポート(双方向に設定可能)位しかない。幸いこのマシンにはMS-KERMIT3.01がインストール済みなので、IBM-S50-debianのC-kermit9.0.302を使いRS232Cでデータを吸いあげよう。
実は当初、母艦をWindows7上の仮想DebianマシンのC-kermitでUSB-シリアルI/Fを使ってデータの吸い上げを行ったが、エラーが多発した。どうもハンドシェイクをまじめに行っていないようで、それが仮想マシンに起因するのか、USB‐シリアルI/Fに起因するのか判断がつきかねた。こいつらのデバグをやってあげるほど暇ではない。ここはやっぱり実機でしょう。そこで、そろそろ骨董品の域に達してきたIBM S50 の出番である。っていうか、D-Sub9ピンが付いているパソコンがうちにはこれしかなかったんだな。
[サルベージ対象マシン] 東芝製 J3100SGT101

| CPU | intel 80386-20 | 20MHzクロック |
| FPU | 無し | |
| ROM | IPL:64Kbyte 漢字:1Mbyte display:32Kbyte |
|
| RAM | 2Mbyte | |
| videoRAM | 256Kbyte | |
| Display | 640x400dot | ガス・プラズマ・ディスプレイ4階調 |
| FDD | 3.5' 2DD/2HD | 720K/1.2Mbyte |
| HDD | 3.5' 100Mbyte | |
| RS232C I/F | D-Sub9ピン×1 | BIOSで非同期9600bpsまでサポート |
| PRINTER I/F | D-Sub25ピン×1 | セントロニクスインターフェース準拠 |
| OS | 日英MS-DOS Ver.5.0 |
[母艦] IBM製 ThinkCentre S50 ultra small 8086-2KJ

| CPU | Pentium 4 | 3GHz |
| ChipSet | Intel 865GV | 800MHz |
| RAM | 1Gbyte | |
| HDD | 72Gbyte | SATA/100 7200rpm |
| CD-RW/DVD-ROM | ||
| LAN | 1000BASE-T/100BASE-TX/10BASE-T | Wake on LAN対応 |
| シリアルポート | D-Sub9ピン×1 | 16550A互換 |
| パラレルポート | D-Sub25ピン×1 | |
| モニタポート | ミニD-Sub15ピン×1 | |
| USBポート | USB2.0×6(前面×2、背面×4) | |
| マウス/キーボードポート | PS/2×2 | |
| OS | Debian 3.2.68-1+deb7u1 i686 GNU/Linux |
[interface] NULLモデム作成

NULLモデム、いわゆるRS232Cクロスケーブルが無い。ストレートケーブルはあったので首チョンパ。ねじねじ結線。J3100 と S50 のD-Sub9ピン同士を繋ぐ。
[J3100] 起動

電源ON。CMOSのバックアップ電池はとっくのとおに切れているので、エラー起動。Check System. Then, press [F1] key ....

[F1]を押して Extend memory を 1MB にして、[F10] Y改行。
めでたく立ち上がったら、日付時刻合わせ、全ディレクトリ全ファイル名取得。

C:\> DATE 2015-06-05 C:\> TIME 10:50 C:\> DIR /S > FILES.TXTFILES.TXT のさわりをご覧にいれよう。
ドライブ C: のボリュームラベルは MS-DOS_5
ボリュームシリアル番号は 1943-2E79
ディレクトリは C:\
DOS <DIR> 92-10-03 0:55
PIC <DIR> 96-12-04 6:34
USERS <DIR> 92-10-03 20:31
HP95LX <DIR> 93-11-26 17:00
BACKUP <DIR> 80-01-01 1:48
TMP <DIR> 92-10-03 4:22
PI <DIR> 98-01-24 14:25
FILES TXT 0 80-01-01 0:07
C6 <DIR> 92-10-03 1:50
CPACK <DIR> 92-10-03 5:00
LHA <DIR> 92-10-03 12:16
MASM <DIR> 92-10-03 3:02
ORANGE <DIR> 92-10-10 11:24
MIFES <DIR> 92-10-10 11:20
KERMIT <DIR> 92-10-03 12:16
486 <DIR> 80-01-01 0:02
123R23J <DIR> 92-10-18 21:08
LZH <DIR> 92-10-23 1:05
TC <DIR> 92-10-24 13:53
AUTOEXEC BAT 290 98-02-07 17:54
CONFIG SYS 520 98-01-25 13:48
DMAIL <DIR> 80-01-01 0:05
MSK315 <DIR> 80-01-01 4:51
ALGORITH <DIR> 93-12-20 18:36
EXE <DIR> 96-10-25 4:42
CCC_FD <DIR> 80-01-01 2:16
XCODE <DIR> 80-01-01 0:10
ZIP <DIR> 98-01-11 9:26
28 個 810 バイトのファイルがあります.
ディレクトリは C:\123R23J
. <DIR> 92-10-18 21:08
.. <DIR> 92-10-18 21:08
123 SET 57859 96-12-07 20:18
123 EXE 9447 92-10-18 21:06
INSTALL EXE 44336 91-10-28 0:00
INSTALL SCR 13347 91-10-28 0:00
DISKMGR COM 10916 91-08-05 0:00
STATUS COM 3097 91-08-05 0:00
INSTALL LBR 338003 92-01-15 0:00
LOTUS COM 6276 91-08-05 0:00
UTIL SET 28976 91-08-05 0:00
123 CNF 10 91-08-05 0:00
123 CMP 209136 92-01-15 0:00
123 DYN 25898 92-01-15 0:00
123R23J ICO 766 91-08-05 0:00
123 HLP 159805 91-10-28 0:00
EDB3 HLP 17119 91-08-05 0:00
BPRINT EXE 14520 91-10-28 0:00
WINDOWS PRN 3952 91-08-05 0:00
TRANS COM 37630 91-10-28 0:00
DBF2 XLT 34304 91-08-05 0:00
DBF3 XLT 40544 91-08-05 0:00
DIF XLT 26464 91-08-05 0:00
K3 XLT 21984 91-08-05 0:00
SYLK XLT 40218 91-08-05 0:00
WJ2WJ1 XLT 22688 91-08-05 0:00
WJ2WKS XLT 24912 91-08-05 0:00
VIEW EXE 257536 91-08-05 0:00
VIEW DYN 26932 91-08-05 0:00
VIEW SET 40435 91-08-05 0:00
VIEW0 DEM 1081 91-08-05 0:00
VIEW1 DEM 7610 91-08-05 0:00
VIEW2 DEM 10856 91-08-05 0:00
VIEW3 DEM 10538 91-08-05 0:00
VIEW4 DEM 7269 91-08-05 0:00
VIEW5 DEM 13878 91-08-05 0:00
VIEW6 DEM 5865 91-08-05 0:00
VIEW7 DEM 5292 91-08-05 0:00
VIEW8 DEM 10022 91-08-05 0:00
VIEW_0 WJ2 2233 91-08-05 0:00
VIEW_1 WJ2 2803 91-08-05 0:00
VIEW_2 WJ2 5067 91-08-05 0:00
VIEW_3 WJ2 2854 91-08-05 0:00
VIEW_4 WJ2 2482 91-08-05 0:00
VIEW_5 WJ2 1961 91-08-05 0:00
VIEW_6 WJ2 1752 91-08-05 0:00
VIEW_7 WJ2 1667 91-08-05 0:00
VIEW_1 PRN 445 91-08-05 0:00
SACLE WJ2 13245 80-01-01 8:30
SACLE2 WJ2 12880 80-01-01 3:25
50 個 1636910 バイトのファイルがあります.
:
:
こんな感じで4164行
[J3100] MS-KERMIT の設定ファイルを作成・実行・サーバ起動
MS-KERMIT を動かすならUSモードの方が幸せだ。画面コントロールコードがバシバシ飛ぶので、漢字モードだと画面がグソグソになるのは必至である。C:\> CD KERMIT C:\KERMIT> MIFES NITOBE.INIここで、事情通の方は、ボーレート57600で ??? と思われるはずです。J3100のRS232Cの通信速度の上限は9600bpsだった筈・・・。その通りです。BIOSコールなら。kermit はシリアルドライバを直接叩いているらしく、57600bpsでの通信が可能なようです。カットアンドトライで実験してみた結果、115200bpsではエラー多発で使い物になりませんが、57600bpsでは安定して使えるようです。ものの本によると、J3100のRS-232CコントローラはINS8250B相当品、クロック14.7456MHz、ボーレートの基準発信子は、1.8462MHzとあります。56000bpsで2分周(16xclock)偏差2.86 とありますので、57600bpsあたりが限度ということでしょうか?set speed 57600 set parity space set flow xon set file type binary set send packet-length 2000 show comC:\KERMIT> CHEV US
C:\KERMIT> KERMIT
IBM-PC MS-Kermit: 3.01 20 March 1990 Copylight (C) Trustees of Columbia University 1982, 1990. Type ? or HELP for help MS-DOS Kermit 3.01 initialization file Smile! MS-Kermit> TAKE NITOBE.INI MS-Kermit> SERVERMS-Kermit: 3.01 20 March 1990 Server mode: type Control-C to exit File name: KBytes transferred: Number of packets: Packet length: Number of retries: 0 Last error: Last message:
[S50] C-kermit の設定ファイルを作成・実行
root@debian8086:/home/nitobe# vi .kermrcset modem type none set line /dev/ttyS0 set carrier-watch off set speed 57600 set stop-bits 1 set parity space set flow xon/xoff set receive packet-length 2000 set prefixing all set streaming off show comroot@debian8086:/home/nitobe# kermit .kermrc
Communications Parameters: Line: /dev/ttyS0, speed: 57600, mode: local, modem: none Parity: space, stop-bits: 1 (7S1) Duplex: full, flow: xon/xoff, handshake: none Carrier-watch: off, close-on-disconnect: off Lockfile: /var/lock/LCK..ttyS0 Terminal bytesize: 7, escape character: 28 (^\) Carrier Detect (CD): Off Dataset Ready (DSR): Off Clear To Send (CTS): Off Ring Indicator (RI): Off Data Terminal Ready (DTR): On Request To Send (RTS): On Type SHOW DIAL to see DIAL-related items. Type SHOW MODEM to see modem-related items. (/home/nitobe/) C-Kermit> rcd C:/ C:\ (/home/nitobe/) C-Kermit> rdir /w Press the X or E key to cancel. �h���C�u C: �̃{�����[�����x���� MS-DOS_5 �{�����[���V���A���ԍ��� 1943-2E79 �f�B���N�g���� C:\ [DOS] [PIC] [USERS] [HP95LX] [BACKUP] [TMP] [PI] FILES.TXT [C6] [CPACK] $KERMIT$.TMP[LHA] [MASM] [ORANGE] [MIFES] [KERMIT] [486] [123R23J] [LZH] [TC] AUTOEXEC.BATCONFIG.SYS [DMAIL] [MSK315] [ALGORITH] [EXE] [CCC_FD] [XCODE] [ZIP] 29 �� 158497 �o�C�g�̃t�@�C���������܂�. 33118208 �o�C�g���p�\�ł�. (/home/nitobe/) C-Kermit> get FILES.TXTC-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, debian8086.saigyo.net {192.168.1.xxx} Current Directory: /home/nitobe Communication Device: /dev/ttyS0 Communication Speed: 57600 Parity: space RTT/Timeout: 01/03 RECEIVING: FILES>TXT => files.txt File Type: BINARY File Size: 157687 Percent Done: 12 ////// ...10...20...30...40...50...60...70...80...90...100 Estimated Time Left: 00:00:30 Transfer Rate, CPS: 4485 Window Slots: 1 of 1 Packet Type: D Packet Count: 13 Packet Length: 1998 Error Count: 0 Last Error: Last Message: X to cancel file, Z to cancel group, <CR> to resend last packet, E to send Error packet, ^C to quit immidiately, ^L to refresh screen.(/home/nitobe/) C-Kermit> q
Windows7 Excel2010 でFILES.TXTを開く
ディレクトリ及びファイル一覧を利用して、サルベージ先のディレクトリツリー作成用のバッチファイルと、ファイル転送の為のkermit用バッチファイルを作成する。ひがないちにちぱたぱた手動でやってもいいんだが、そんな暇人ぢゃぁないし、確実かつ楽チンにサルベージするためにちょっとがんばってみる。先ほどのUSBメモリの FILES.TXT を Windows7 上の Excel2010 で開く。
固定長フィールドのデータ、1、9、13、15、桁目で切り出して読み込む。
最左にフィールドを追加、1から最終行までの行番号をつける。
A1~E4164を選択、並べ替え/ユーザー設定/最優先キー列D次列C次列B/OK。
3788~4164行を削除。ここには空行が集まっている。
3563~3750行を削除。ここには「X個 xxx バイトのファイルがあります.」が集まっている。
1~561行を削除。ここには、「.」「..」「なんちゃら」<DIR>が集まっている。
F1=CONCATENATE("get ", B1, ".", C1)。F1をF2814まで式コピー。拡張子付きファイル名。
F2815=COMCATENATE("rcd ", E2815)。F2815をF3001まで式コピー。ディレクトリ絶対パス。
F2815~F3001をコピー、同じ場所に値で書き込む。F2815~F3001を選択、"\" を "/" に全て置換。DOSは "\" なんだが、C-kermitは"/"。
F3002=CONCATENATE("get ", B3002)。F3002をF3038まで式コピー。拡張子なしファイル名。
A2815~F3001をコピー、A3039に値で書き込む。F3039~F3225を選択、"rcd C:" を "cd /home/nitobe/J3100" に全て置換。サルベージ先のパス名。
ここで、F3039~F3225をコピー、新規テキストファイルを生成し、そこにペースト。テキストファイル側で "cd " を "mkdir " に全て置換。mkdirs.txt とでも rename しておく。サルベージ先ディレクトリ作成バッチファイル完成。
さてexcelに戻ろう。A1~F3225を選択。並べ替え/昇順。
F1~F3225をコピー、新規テキストファイルを生成し、そこにペースト。頭の2行をコピーして最後尾にペースト。gets.txt とでも rename しておく。C-kermit 用ファイル転送バッチファイル完成。
出来上がった2つのテキストファイル(mkdirs.txt gets.txt)をUSBメモリにコピーする。
mkdirs.txtのさわり。
mkdir /home/nitobe/J3100 mkdir /home/nitobe/J3100/123R23J mkdir /home/nitobe/J3100/486 mkdir /home/nitobe/J3100/486/SRC mkdir /home/nitobe/J3100/ALGORITH mkdir /home/nitobe/J3100/ALGORITH/MC mkdir /home/nitobe/J3100/ALGORITH/TC mkdir /home/nitobe/J3100/BACKUP : : こんな感じで187行gets.txt のさわり。
rcd C:/ cd /home/nitobe/J3100/ get FILES.TXT get AUTOEXEC.BAT get CONFIG.SYS rcd C:/123R23J cd /home/nitobe/J3100/123R23J get 123.SET get 123.EXE get INSTALL.EXE get INSTALL.SCR get DISKMGR.COM get STATUS.COM : : こんな感じで3227行
[S50] ディレクトリツリー生成
USBメモリのテキストファイルは、/home/nitobe にコピーしておこう。Windowsのテキストファイルの改行は[CRLF]、debianは[LF]なのでおまじない。
root@debian8086:/home/nitobe# vi mkdirs.txt:%s/^M//g <−− ^M は Control-V,Control-Mだから。そこんとこよろしく。 :wq!root@debian8086:/home/nitobe# bash mkdirs.txt
はいこれでディレクトリツリー完成。
[S50] 怒涛のファイル転送
ここでもおまじない。root@debian8086:/home/nitobe# vi gets.txt八割がた転送が完了した頃、嫁が帰ってきてコンセントを抜きやがった。orz:%s/^M//g <−− ^M は Control-V,Control-Mだから。そこんとこよろしく。 :wq!root@debian8086:/home/nitobe# kermit .kermrc
Communications Parameters: Line: /dev/ttyS0, speed: 57600, mode: local, modem: none Parity: space, stop-bits: 1 (7S1) Duplex: full, flow: xon/xoff, handshake: none Carrier-watch: off, close-on-disconnect: off Lockfile: /var/lock/LCK..ttyS0 Terminal bytesize: 7, escape character: 28 (^\) Carrier Detect (CD): Off Dataset Ready (DSR): Off Clear To Send (CTS): Off Ring Indicator (RI): Off Data Terminal Ready (DTR): On Request To Send (RTS): On Type SHOW DIAL to see DIAL-related items. Type SHOW MODEM to see modem-related items. (/home/nitobe/) C-Kermit> take gets.txt

ごらぁ!それはおまえのおもちゃじゃない!
つづきは後日。
[J3100/S50] 隠しファイルのリストアップ
非常に重大なことを失念していたことに気づいた。DOSのルートデイレクトリにはシステム属性の隠しファイルが存在する。J3100DOS上で、システム属性、不可視属性を解除する。
C:\ ATTRIBgets.txt に挿入。SHR C:\IO.SYS <−−−これが隠しファイルだ SHR C:\MSDOS.SYS <−−−これも隠しファイルだ A C:\FILES.TXT A C:\AUTOEXEC.BAT A C:\CONFIG.SYSC:\ ATTRIB -S -H MSDOS.SYS
C:\ ATTRIB -S -H IO.SYS
C:\ DIR /W
ドライブ C: のボリュームラベルは MS-DOS_5 ボリュームシリアル番号は 1943-2E79 ディレクトリは C:\ IO.SYS MSDOS.SYS [DOS] [PIC] [USERS] [HP95LX] [BACKUP] [TMP] [PI] FILES.TXT [C6] [CPACK] [LHA] [MASM] [ORANGE] [MIFES] [KERMIT] [486] [123R23J] [LZH] [TC] AUTOEXEC.BATCONFIG.SYS [DMAIL] [MSK315] [ALGORITH] [EXE] [CCC_FD] [XCODE] [ZIP] 30 個 293226 バイトのファイルがあります. 33120256 バイトが使用可能です.
rcd C:/ cd /home/nitobe/J3100/ get MSDOS.SYS <−−−この行と get IO.SYS <−−−この行を挿入 get FILES.TXT get AUTOEXEC.BAT get CONFIG.SYS : :
T:

Y:

ALL:



Online: 

ThemeSwitch
- Basic
Created in 0.0851 sec.















Comments