IBM ThinkPad 570E (2644-6BJ) Mobile PentiumIII 500MHz
(Windows2000プレインストールモデル)を入手した。
メモリはPC-100 SDRAMで標準64MB搭載に128MBを追加して192MBとした。
256MBを追加して320MBにも出来るようだ。
もともと内蔵されている 12GB 2.5inch HD を 30GのHD:
IBM Travelstar 30GN (IC25N030ATDA04) 2.5inch, 30G, 流体軸受
に換装する。TP570EのHDの交換は大ネジ1本+小ネジ4本で簡単。
ただ、IC25N030ATDA04 にはコネクタにガイドが付いているため、
最初はHDを挿入しにくいかも知れない。(一瞬、はまらないかと思った。)
旧12GB HD IBM DARA-212000 | 新30GB HD IBM IC25N030ATDA04 |
---|
まず、正しいHDのジオメトリをえる為に、DOSの起動FDで起動し、 DOSのFDISK.EXEを使い、 HDの最初を基本DOS領域として最大限(2045MB)確保。 次に拡張DOS領域をとりあえず4096MB確保する。 必要でないかも知れないが、其々フォーマットも行なった。
次に、FreeBSDのブートFD(kern.flp, mfsroot.flp)で起動し、 インストーラーのConfig/Fdiskでジオメトリ情報を得る。
ここで、BIOSは始めの1024シリンダ(第0〜第1023シリンダ) にインストールされたシステムしかブート出来ない事に注意する。 1024シリンダまでの容量は 1024*240*63*0.5KB = 7741440KB = 7560MB となる。
念の為、第1023cylと第1024cylの境界を パーティション(FreeBSDスライス)境界となるようにして、 ルートパーティションを含むスライスを第1023cylまでの領域に確保する事にする。
シリンダ 開始位置 | シリンダ サイズ | 中身 |
---|---|---|
0 | 0 | MBRなど (最初の1head=63secのみ) |
0 | 227 | 基本DOS領域 (fat PType=2,SubType=6) |
227 | 555 | 拡張DOS領域 (extended PType=4,SubType=5) |
832 | 192 | FreeBSD (含む / パーティション) |
1024 | 2560 | FreeBSD (/usr と /home) |
3584 | 292 | ハイバネーションなど用&予備 |
まだ、FreeBSDインストールをしないので、 Fdisk終了前に「W」キーで書き込む。 また、ブートマネージャ boot も書き込んでおく。
今度は、DOS起動FDで起動し、FDISK.EXEで拡張DOS領域を削除する。 こうしておいてThinkPad570Eに附属のWindows2000のリカバリCDを実行すると、 FreeBSDの直前の第831cylまでをFAT32として確保し、またリカバリも無事終了する。 リカバリCDはHD最初のFAT(16/32)パーティションを削除し、 HD最初から出来るだけ大きなFAT32パーティションを確保しようとする。 このため、第0cyl〜第831cylがFAT32として確保され、 Windows2000がインストールされる。
次に、FreeBSDのインストールする。 FreeBSDのパーティション分けは好きずきだが、以下のように分けた。
デバイス名 | マウントポイント | サイズ |
---|---|---|
ad0s2a | / | 256M |
ad0s2b | swap | 512M |
ad0s2e | /var | 256M |
ad0s2f | /tmp | 256M |
ad0s2g | /mnt2 | 137M |
1023/1024 シリンダ境界 | ||
ad0s3e | /usr | 8192M |
ad0s3f | /home | 10708M |
あとは、インストーラーの指示に従ってFreeBSDのインストールを完了する。
Window2000は自前のハイバネーション機能を持っているので問題ないが、 この機能はFreeBSDからは使えないので不便。 そこで、OSに依存しないBIOSのハイバネーションを使えるようにする:
IBMサイトからBIOSハイバネーションのため、 自動解凍ファイルIMH1030.EXEをダウンロードする。 WindowsまたはDOS上でディレクトリを作り、 その中で実行すると自動解凍し幾つかファイルが現れる。 (この自動解凍はロングファイルネームのディレクトリ以下では動作しないようだ。) FATフォーマット済みのFDを1枚用意し、 解凍されたバッチファイルをIMH103.BAT a:と実行すると、 FD上に専用ブートシステムが作成される。 このブートディクスの実質的な中身は
phdisk 4.03 Phonix NoteBIOS 4.0(tm)
とロゴが表示される。
PHDISK.EXEを使うとハイバネーション領域の作成は
が選べるが、今回はFAT16は何処にもないので選択肢はパーティション上のみ。
現在、メモリは192MBしかないが、 将来を見越して384MBのハイバネーション領域を確保するよう PHDISK.EXEの質問に答える。 結果、ハイバネーション領域として パーティション開始位置57788640sector、サイズ408240KBとして パーティションのフォーマットには成功する。 しかし、 このパーティションに搭載されるべきハイバネーションの システムファイル(map?)の書き込みに失敗する。 以下、この時のメッセージ:
Writing good space map. Loading image file, Please wait...... Int 13h extension Read / Write Failed Error: Fail to write SAVE2DSK.XGA file on the hard drive.
以前、同型機(ThinkPad 570)の20GBのIBMのHDに対して、 このPHDISK.EXEを使ってハイバネーション領域の確保に成功した。 違いはHDのサイズが20GBか30GBかの違いのみ。 今回は色々やったけどうまくいかない。 SAVE2DSK.XGAをFreeBSDのコピーコマンドddを使って 直接デバイスに流したりしても駄目だった。 そもそも、SAVE2DSK.XGAのフォーマットが分からない。
PHDISK.EXEはイメージのコピーには失敗しているが、 フォーマットには成功している。 実際FreeBSDのfdiskで領域が確保されている事を確認する事が出来る。
其々のマシンのFDiskを以下に示す。
ジオメトリ: 2584 シリンダ/240 ヘッド/63 セクタ = 計 39070080 セクタ (19077MB) | |||||||
開始位置 | 大きさ(ST) | 終了位置 | 名称 | タイプ | 種別 | 副タイプ | フラグ |
---|---|---|---|---|---|---|---|
0 | 63 | 62 | - | 6 | unused | 0 | |
63 | 4188177 | 4188239 | ad0s1 | 2 | fat | 6 | |
4188240 | 33551280 | 37739519 | ad0s2 | 3 | freebsd | 165 | C |
37739520 | 907200 | 38646719 | ad0s3 | 3 | freebsd | 165 | |
38646720 | 423360 | 39070079 | ad0s4 | 1 | unknown | 160 | |
DISK Geometry: 3876 cyls/240 heads/63 sectors = 58605120 sectors (28615MB) | |||||||
Offset | Size(ST) | End | Name | PType | Desc | Subtype | Flags |
---|---|---|---|---|---|---|---|
0 | 63 | 62 | - | 6 | unused | 0 | |
63 | 12579777 | 12579839 | ad0s1 | 2 | fat | 11 | |
12579840 | 2903040 | 15482879 | ad0s2 | 3 | freebsd | 165 | C |
15482880 | 38707200 | 54190079 | ad0s3 | 3 | freebsd | 165 | |
54190080 | 3598560 | 57788639 | - | 6 | unused | 0 | |
57788640 | 816480 | 58605119 | ad0s4 | 1 | unknown | 160 | |
いずれのマシンもad0s4
がハイバネーション領域。
TP570_AからTP570_Bへのハイバネーション領域のイメージのコピーは以下のように行なった。
TP570_A# dd if=/dev/ad0s4 of=HD.img TP570_A# scp HD.img root@TP570_B:HD.img TP570_B# dd if=HD.img of=/dev/ad0s4
ハイバネーション領域のイメージのコピーの後に一度リブートする。 Fn+F12キーを押すと IBMのロゴの入ったハイバネーション画面に移行し ハイバネーションに成功することが分かる。復帰もOK。 この対症療法は功を奏した。
ただし、Windows2000からはBIOSハイバネーションは出来ない。 また、Windows2000でBIOSハイバネーションを使おうとすると後でBIOS設定などを やり直す必要がありそうなので、止めた方が良いだろう。 結局、PHDISK.EXEには大容量HD(20GBではOK、30GBではNG)に対応できない という部分的なバグがあるようだ。
このシステムを FreeBSD-4.7R に更新後、 当人はイスラエルのワイツマン科学研究所へ異動、 本機を約半年間メインマシンとして使用する。 ところが、換装した30GのHDD:
トラブル発生の1週間ほど前から、 スワップアクセスを激しく行なうプロセスを実行していたが、 それが引金を引いた気もする…が本当のところ良くは分からない。 イスラエル在住の友人もたまたま同じHDDを使用していたが、 2年ほどの使用で同様のトラブルが発生し交換を余儀なくされた様だ。
新たなHDDを探し求めるが日本の様に簡単には手に入らない。 パソコン工房やTowTopの様なPC店はテルアビブやエルサレムの様な都市部でも少なく、 またあっても品揃えが多いとはいえない。 デスクトップ用の 3.5 Inch HDD であればそこそこ入手できるのだが…。 1ヶ月ほど探し回った結果、テルアビブのディーゼンコフセンターのPC店で
40GB HDD IBM IC25N040ATCS04-0 |
---|
本当の所は、日本なら1万5千円ほどで手に入る
が欲しかったのだが、残念ながら入手できなかった。
前回と同様に、 DOSの基本領域をDOSのFDISK.EXEにより確保し、 その後にFreeBSDのインストーラーのFdiskを用いる事により、 BIOSが認識する正しいジオメトリが判明する。
新しい HDD に FreeBSD-4.8R をインストールする。 FreeBSDのFDISKパーティションエディタによりパーティション(FreeBSDのスライス)を確保する。 前回と同様、第1023cylと第1024cylの境界:
Offset | Size(ST) | End | Name | PType | Desc | Subtype | Flags | 中身 |
---|---|---|---|---|---|---|---|---|
0 | 63 | 62 | - | 6 | unused | 0 | MBRなど (最初の1head) | |
63 | 12579777 | 12579839 | ad0s1 | 2 | fat | 11 | WIN2000用FAT32領域 | |
12579840 | 2903040 | 15482879 | ad0s2 | 3 | freebsd | 165 | C | FreeBSD (含む / パーティション) |
15482880 | 58710960 | 74193839 | ad0s3 | 3 | freebsd | 165 | FreeBSD (/usr と /home) | |
74193840 | 3099600 | 77293439 | - | 6 | unused | 0 | 予備領域(使用せず) | |
77293440 | 846720 | 78140159 | ad0s4 | 1 | unknown | 160 | ハイバネーション領域 |
FreeBSDのパーティションは以下のように分けた。
デバイス名 | マウントポイント | サイズ |
---|---|---|
ad0s2a | / | 256MB |
ad0s2b | swap | 512MB |
ad0s2e | /var | 256MB |
ad0s2f | /tmp | 256MB |
ad0s2g | /mnt2 | 137MB |
ad0s3e | /usr | 8192MB |
ad0s3f | /home | 20475MB |
インストーラーの指示に従ってFreeBSDのインストールを完了する。
BIOSハイバネーションの領域確保を試みる。 前回、30GBのHDDではPHDISK.EXEによる専用パーティション領域の確保に失敗したが、今回は何故か成功した。 30GBのHDDではダメだが40GBのHDDではOKという摩訶不思議な現象…、 あるいは知らない間にPHDISK.EXEがバージョンアップされたのか?。
ハイバネーションの実行(Fn+F12)と復帰(電源スイッチ)も正常に行なえる。 ハイバネーションの画面が「IBM ThinkPadのロゴのある青い画面」から「Phonixのロゴのある3本のグラフの画面」へと変わっていた。 サスペンド(Fn+F4)と復帰(Fn or 電源スイッチ)も正常。
Windows2000のHDD間の移行はまだやっていないが、 ディスクイメージ(12579777sectors = 6440845824byte = 6GB弱)を直接コピーする方法:
TP570_B# dd if=/dev/ad0s1 of=HD.img TP570_B# scp HD.img root@TP570_B:HD.img TP570_C# dd if=HD.img of=/dev/ad0s1
で可能なはず。(新しいシステムをTP570_C とした。)