まず、DOS のパーティションを Linux のサブディレクトリとしてマウント します。例えば、/dos (mkdir -m 755 /dos) のようなディレクトリを作り、 /etc/fstab に次の項目を追加します。
/dev/hda1 /dos msdos umask=022(この例では、ハードディスクは読み出し専用でマウントされます。読み書き できるようにマウントするためには、"022"を"000"に置き換え、mkdir では -m 777 オプションを指定します。) 次に mount /dosを行います。 そして hdimage 内の AUTOEXEC.BAT ファイルに以下の行を追加します。
lredir d: linux\fs/dos(以下の LREDIR についての説明も参照してください。)マルチユーザ環境では
lredir d: linux\fs\${home}のように指定することもできます。 この "home" は環境変数で、DOS ディレクトリの場所(例では /dos) が格納さ れています(95/8/11)。
---------------------
Tim Bird 氏(Tim_R_Bird@Novell.COM) によれば LREDIR を AUTOEXEC の中 で使うときには気をつけなければいけません。それは、COMMAND.COM がリダイ レクトされたドライブ上の AUTOEXEC.BAT ファイルを解析する際に、物理ドラ イブ上の AUTOEXEC.BAT と同じファイルオフセットまで解析し続けようとする からです。従って、リダイレクトされたドライブと物理ドライブでは AUTOEXEC.BAT は同じにしておくのが安全です(95/8/11)。
---------------------
Robert D. Warren 氏(rw11258@xx.acs.appstate.edu)は以下のようなの報 告をしています(94/4/28)。
私の場合、小さな hdimage ファイル(1MB 以下で、その時点で必要量の二倍の 大きさ)からブートして、hdimage 上の CONFIG.SYS ファイルの最後に以下の 行をつけ加えました。
install=c:\lredir.exe c: LINUX\FS\home/dosこれによって、コマンドインタープリタが実行される直前に lredir が実行さ れるようになります。私の場合、COMMAND.COM と 4DOS でうまく動作しました。 この方法で、lredir を AUTOEXEC.BAT の中で実行する場合におきるオフセッ トの問題を避けることができます。
以下は Uwe Bonnes 氏(bon@elektron.ikp.physik.th-darmstadt.de) による追加事項です(95/8/11)。
次のようにすると便利です:
install=C:\subst.exe g: c:この前に、hdimage をドライブ G: としてアクセスできるようにしておかなけ ればなりません。 他に便利なテクニックとしては、DOS と dosemu を完全に切り離せるように、 "autoexec.emu" を使うように dosemu を設定してしまう方法もあります。
最新の mtools(この文章を書いている時点でバージョン 3.0)を使ってくだ さい。/etc/mtools.confに以下のような行を加えます。
drive g: file="/var/lib/dosemu/hdimage" Offset=8832こうすると mtools を使って "mdir g:" のようにして hdimage にアクセスで きます。"mcopy g:/config.emu /tmp" で hdimage 上の config.emu ファイル を /tmp/config.emu にコピーできます。そして、このファイルを編集して hdimage へ書き戻すことができます。実際には使いやすいドライブレターを使っ てください。"g:" は単なる例に過ぎません(97/2/9)。
http://sunsite.unc.edu:/pub/Linux/system/Filesystems/dosfs/
新しいバージョンを見つけるには
http://sunsite.unc.edu:/pub/Linux/Incoming
を探すと良いかもしれません。
しかし、 dosemu の設定ファイルの中の
disk { wholedisk "/dev/hda" } # 1st partition on 1st diskの部分のコメントアウトを単にはずしたり、
disk { partition "/dev/hda1" }と設定したりすることでうまくいっている人もたくさんいるようです。 これらのテクニックは dosemu がクラッシュしたときにデータを無くしてしま うリスクを知って使ってください!(97/2/9) すでにDOSパーティションに書き込みが許可された状態で dosemu でパーティ ションやディスク全体にアクセスすると、dosemu は警告メッセージを表示し て異常終了します。これは、DOS と Linux が別々にディスクに書き込みを行 ない、DOS パーティションが破壊されるのを防ぐためです(95/8/11)。
--------------------- LILO がインストールされている場合には上記の方法ではうまくいきません。 しかし…
Thomas Mockridge 氏が(thomas@aztec.co.za) が次の方法を報告し ています(94/8/5)。
LILO と Stacker 4.0 の組み合わせで dosemu を起動するにはちょっとした工 夫が必要です…
1. ファイルに MBR をddします。(またはノートンユーティリティな ど使います。MBR は最初の 512バイトです。)
2. (emu ではなく、本物の)DOS をブートして、fdisk /mbr を実行します。 DOS の fdisk を使って DOS パーティションをアクティブにします。
3. 新しくできた MBR をファイルにコピーします。
4. オリジナルの MBR を置き換えます。
5. 3. で作った MBR を /var/lib/dosemu/partition.hda? (hda?は、DOS パーティションのあるところ) にコピーします。
6. dosemu.conf を次のように設定します。
disk {partition "/dev/hda? ?"}
7. sosemu を起動します。ほら、できた! LILO が無くても起動できましたね。
--------------------- Holger Schemel 氏の(q99492@pbhrzx.uni-paderborn.de) 報告です (94/2/10)。
dosemu の下で MS-DOS 6.0もうまく動作しました。問題がある場合には、'DBLSPACE. INI' を手で修正して、ドライブ名を dosemu上でのドライブ名に変更すればう まくいくでしょう。
--------------------- Darren J Moffat 氏(moffatd@dcs.gla.ac.uk)の報告です(94/3/27)。
"…もし 6.2 を入手できるなら、それを使いましょう。LILO ブートディスク が手元にあることを確認しておいてください。DOS 6{.2}はブートディスクの MBR(Master Boot Record) を書き換えるからです。"
Jacek Pliszka 氏(Jacek.Pliszka@fuw.edu.pl)の報告: バージョン0.66-2 には mkhdimage というユーティリティが付属していて、 hdimage のファイルヘッダを作ることができます。これについての詳しい情報 は dosemu のパッケージに含まれる dosemu-info ファイルにあります。ここ ではそこから数行だけ引用します。
「12ヘッド、17セクタ/トラック、300シリンダの(本物の)ハードディスクに相 当するジオメトリを持つディスクイメージファイルを作るには、以下のコマン ドを実行します。」
mkhdimage -h 12 -s 17 -c 300 > hdimage
512バイト/セクタであれば、これは約29メガバイトのディスクと同じです。た ぶん、これは普通に使うには大きすぎるでしょう。大きな領域が必要な場合に は、ディスクリダイレクタを使うべきでしょう。