さて、ここで少し話が変わります。ご存知のように、Linux では Windows95 の パーティションを読めますので、一見 tar や afio を使って Windows95 の バックアップが取れると思うでしょう? これができれば、Windows95 に 付属している役立たずのバックアップツールよりよほど便利なはず。 しかし、実際にやってみると問題が出ます。日本語 Windows95 で頻繁に使われ ている「日本語のファイル名」でひっかかるのです。バックアップを取るときは 一応取れているみたいなのですが、戻すときエラーになります。
くっそー MS め、日本語ファイル名なんか使うなよなー、とぼやいていたところ いいモノを見つけました。 川口 浩さんのページにある「 VFAT を日本語ファイル名に対応させるパッチ」 です。小柳 雅明さんと川口さんが作られたパッチです(多謝!)。 このパッチをあてたカーネルを使うと、上の問題は起きないのですね。 「半角カナを全角カタカナに変換する」する機能は、バックアップの用途では オフにしといたほうがいいようです。
今この文書を書いてるノート PC は先日ディスクの換装を行なったのですが、 そのとき、この方法を試してみました。以下手順です。
Windows95 から Win95 のブートフロッピーを作っておきます。そのフロッピーに fdisk.exe をコピーしておきます。念のため format.com と sys.com もコピー。
VFAT パッチをあてた Linux カーネルを立ち上げ、Windows95 のパーティションを afio + gzip でバック アップを取ります。筆者はバックアップ・メディアとして携帯用の PD を使いました。 もちろん Linux のほうも同時に取っておきます。
ディスクを換装する。
Windows95 のパーティションを切る。作っておいた Win95 のブートフロッピーで 立ちあげ、fdisk でパーティションを切り、format.com でフォーマットする... のが普通にやりかたでしょうが、筆者は DOS/Win の fdisk を 信頼していないので、Linux でやってしまいました。ただし、Windows95 で拡張 パーティションを使うときは Windows95 の fdisk で切らないと だめかもしれません。
Linux のほうでパーティションを切るときは、fdisk と mkdosfs の入った boot/root フロッピーで立ち上げてから (Linux の) fdisk でパーティションを切ったのち、mkdosfs で FAT のフォーマットをします(これは FAT16 だよね)。
どっちの OS でパーティションを切ったにせよ、バックアップデータをリストア するときは、VFAT パッチをあてたカーネル入りの boot/root フロッピーを使って Linux を起動します。このフロッピーは PCMCIA の SCSI カードや afio を使えるようにしてあります。Windows95 パーティションを vfat でマウントし、afio で PD から Windows95 データを戻します(もちろん Linux のほうも)。
これだけでは Windows95 はブートしないので、作っておいた Win95 の ブートフロッピーで立ち上げ、「fdisk/mbr 」を実行します。
立ち上げなおすと、こんどは Windows95 がブートします。
立ち上げのとき「 c:\windows\system\ddem.dll が修復される 必要がある」というメッセージが出ますが、無視して OK を押して行くと無事立ち上 がります。 実用上問題ないのですが、このメッセージはときどき出るようになったので、 念のため Windows95 の修復インストールをすると出なくなりました。 この現象が、上記のバックアップの方法によるものなのか、私のノート PC (Let's Note) に固有の問題なのか、知らないうちにディスクのジオメトリを変えられる と Win95 はこうなってしまうものなのかは定かではありません。
もっとも、筆者はこの方法で完全に Windows95 のパーティションのバックアップを 取れるかどうか自信があるわけではありません。今のところ支障なく動いている ように見えますが、なにしろ筆者は Windows95 はあまり使っていないので。 こういうやり方もある程度の話として聞いておいてください。