FDclone で FAT32 なページ


FDclone で FAT32 アクセスしようというページです。 HDD 破壊の危険性がありますので、 マニュアルには載せていない機能です。 at your own risk でご利用下さい。

MS-DOS 版の場合

FD-1.03h では、 設定により BIOS 経由で HDD をアクセスすることができます。 この場合、OS による制限を受けないので、 Windows95 OSR1 以前の OS から FAT32 を見たり、 MS-DOS 3.3 以前の MS-DOS から 32bit sector FAT16 を見たりということができます。

この機能を有効にするには、 変数 DOSDRIVE に対して通常設定される数値に続いて ,BIOS という文字列を定義します。 フォントによっては見づらいでしょうが、「BIOS」の前に「,(カンマ)」を添えます。 例えば、コマンドラインオプションで与える場合、 以下のような記述になります。

	C:\> fd -DOSDRIVE=0,BIOS
もちろん、環境変数として設定しても構いませんし、 設定ファイル FD.RC に書いておいても構いません。 また、「,BIOS」の前の数値は独立して意味を持ちますので、 従来の DOSDRIVE 機能、 即ち MS-DOS から Long File Name をアクセスする機能とは独立して設定できます。

これで、 通常アクセス可能なドライブ名の一番最後に続いて、 擬似ドライブ名が幾つかアクセス可能になります。 通常、DOS から扱える最大ドライブが A:-D: までだとすると、 E: 以降が BIOS アクセスによる疑似ドライブとなります。

疑似ドライブは HDD 上の全ての MS-DOS partition を指しています。 ですから、構成によっては通常ドライブの数と疑似ドライブの数は一致しません。 FDD や CD-ROM、RAM DISK は疑似ドライブではサポートしませんので、 その分のドライブ数だけ疑似ドライブ数は少なくなります。 また、MS-DOS から見た FAT32 など、 OS がサポートしていない file system が見えるようになるので、 その分のドライブ数だけ疑似ドライブ数は多くなります。

ただし、Windows95 のようなマルチタスク OS の場合、 書込みに関しては BIOS に制限を加えている場合がありますので、 その場合は疑似ドライブは読取り専用となります。 また、WindowsNT では一切の BIOS アクセスを禁止していますので、 この機能は有効ではありません。(NTFS にも対応していません。)


PC-UNIX の場合

PC-UNIX の場合、 同じマシンの上に MS-DOS partition が同居していることがあります。 OS のバージョンによっては、 この partition が FAT32 であっても mount できますが、 未対応の場合は「何か知らない file system」としてしか認識されず、 一切アクセスできません。

UNIX 版 FDclone では、 公にはされていませんが、 FDD だけでなく HDD に対しても DOSDRIVE 機能が効くようになっています。 この機能を使えば、 OS が FAT32 に対応してなくても、 またその partition が mount されていなくても、 DOS partition にアクセスすることができます。

設定方法は、 普通の FDD に対する設定と同じように setdrv を用います。 デバイス名として HDD 上の MS-DOS partition のあるデバイスを指定してやれば、 FDD 上の DOSDRIVE と同様にアクセスできます。

ただし、FDclone では安全を考えて、 そのデバイスのヘッド数、セクタ数、 シリンダ数を指定しないといけないように設計されていますので、 FDD のようにこの値が定型ではない HDD ではデバイス毎に調べなくてはいけません。 そのためのソフトが getdrv.tar.gz として用意されていますので、 これを使えば各数値を調べることが可能です。

例えば FreeBSD の場合、 1st HDD の 1st partition は /dev/rwd0s1 で参照されますので、 以下のようにコマンド実行すると結果が得られます。

	% getdrv /dev/rwd0s1
	setdrv A "/dev/rwd0s1" 128, 63, 260

	Appendix:
	  cluster           = 8 sectors
	...(中略)
	  media descriptor  = 0xf8
	%
後ろの Appendix 以降は参考情報ですので読み飛ばすとして、 最初の setdrv の記述だけをそのまま使います。 .fdrc に書いておけばいいでしょう。 このまま記述すると A ドライブとして登録されますが、 もちろん、「A」の個所を「B」に書換えれば B ドライブとして登録できます。

FAT32 対応されている OS ではもちろん OS の機能を使ってもらった方が信頼性があると思いますが、 Windows95 以降は漢字や JIS X0201-1976 仮名文字を使ったファイル名が作られることが多くなりましたので、 そういう場合は FDclone を使わないとアクセスできないと思います。


戻る