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

DSC00388


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

DSC00389


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モデム作成

DSC00387


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

[J3100] 起動

DSC00377


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

DSC00379


[F1]を押して Extend memory を 1MB にして、[F10] Y改行。

めでたく立ち上がったら、日付時刻合わせ、全ディレクトリ全ファイル名取得。
DSC00381



C:\> DATE 2015-06-05
C:\> TIME 10:50
C:\> DIR /S > FILES.TXT 
FILES.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
set speed 57600
set parity space
set flow xon
set file type binary
set send packet-length 2000
show com
C:\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> SERVER
         MS-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:
ここで、事情通の方は、ボーレート57600で ??? と思われるはずです。J3100のRS232Cの通信速度の上限は9600bpsだった筈・・・。その通りです。BIOSコールなら。kermit はシリアルドライバを直接叩いているらしく、57600bpsでの通信が可能なようです。カットアンドトライで実験してみた結果、115200bpsではエラー多発で使い物になりませんが、57600bpsでは安定して使えるようです。ものの本によると、J3100のRS-232CコントローラはINS8250B相当品、クロック14.7456MHz、ボーレートの基準発信子は、1.8462MHzとあります。56000bpsで2分周(16xclock)偏差2.86 とありますので、57600bpsあたりが限度ということでしょうか?


[S50] C-kermit の設定ファイルを作成・実行

root@debian8086:/home/nitobe# vi .kermrc
set 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 com
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> 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.TXT
C-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
:%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
八割がた転送が完了した頃、嫁が帰ってきてコンセントを抜きやがった。orz
DSC00391


ごらぁ!それはおまえのおもちゃじゃない!
つづきは後日。

[J3100/S50] 隠しファイルのリストアップ

非常に重大なことを失念していたことに気づいた。DOSのルートデイレクトリにはシステム属性の隠しファイルが存在する。
J3100DOS上で、システム属性、不可視属性を解除する。
C:\ ATTRIB
     SHR     C:\IO.SYS         <---これが隠しファイルだ
     SHR     C:\MSDOS.SYS      <---これも隠しファイルだ
  A          C:\FILES.TXT
  A          C:\AUTOEXEC.BAT
  A          C:\CONFIG.SYS
C:\ 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 バイトが使用可能です.
gets.txt に挿入。
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.0129 sec.
prev
2018.11
next
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
 
strawberry-linux geigercounter Ver.2
Sibasaki, Cyofu City, Tokyo, JAPAN
blogBar