下一页 上一页 目录

3. 硬盘设置

3.1 如何在 dosemu 中使用我的硬盘?

首先,将您的 dos 硬盘分区挂载为 Linux 子目录。例如,您可以在 Linux 中创建一个目录,例如 /dos (mkdir -m 755 /dos),并添加如下行:

   /dev/hda1       /dos     msdos   umask=022
到您的 /etc/fstab 文件中。(在本例中,分区以只读方式挂载。您可能希望通过将 “022” 替换为 “000” 并将 -m 777 选项与 mkdir 一起使用,以读写方式挂载它)。现在挂载 /dos。README.txt 文件中写道:
  you just can have a Linux directory containing all what you
  want to have under your DOS C:. Copy your IO.SYS, MSDOS.SYS or what
  ever to that directory (e.g. /var/lib/dosemu/bootdir), put

          $_hdimage = "bootdir"


  into your /etc/dosemu.conf, and up it goes. DOSEMU makes a lredir'ed
  drive out of it and can boot from it. You can edit the config.sys and
  the autoexec.bat within this directory before you start dosemu.  Fur-
  ther more, you may have a more sohisticated setup. Given you want to
  run the same DOS drive as you normal have when booting into native
  DOS, then you just mount you DOS partition under Linux (say to /dos)
  and put links to its subdirectories into the boot dir. This way you
  can decide which files/directories have to be visible under DOSEMU and
  which have to be different. Here's a small and incomplete example
  bootdir setup:


         config.sys
         autoexec.bat
         command.com -> /dos/command.com
         io.sys -> /dos/io.sys
         msdos.sys -> /dos/msdos.sys
         dos -> /dos/dos
         bc -> /dos/bc
         windows -> /dos/windows


  There is, however, one drawback, you can't use the DosC kernel
  (FreeDos) for it, because it hasn't yet a working redirector (will
  hopefully be available some time in the future).

3.2 如何从 Linux 访问 hdimage?

使用 mtools。在 /etc/mtools.conf 中添加如下行:

   drive n:  file="/var/lib/dosemu/hdimage" MTOOLS_SKIP_CHECK=1 \
   MTOOLS_LOWER_CASE=1 MTOOLS_NO_VFAT=1 partition=1 offset=128
您可以使用 mtools 操作 hdimage,例如 “mdir n:”。“mcopy n:/config.emu /tmp” 将 config.emu 文件从 hdimage 复制到 /tmp/config.emu。您可以在那里编辑它并复制回去。使用您认为合理的驱动器盘符。“N:” 只是一个例子。

3.3 我可以使用我的 stacked/double-spaced/super-stored 磁盘吗?

目前,压缩驱动器无法通过标准内核上的重定向器(lredir 或 emufs)访问。内核有一个补丁,可以将压缩文件以 “dmsdosfs” 的名称挂载。在 sunsite.unc.edu 及其镜像站点上可以找到它:

http://sunsite.unc.edu:/pub/Linux/system/filesystems/dosfs/
一个好主意是也查看 http://sunsite.unc.edu:/pub/Linux/Incoming 以获取更新版本。旧版本 dosemu 中的 “wholedisk” 选项在新版本中不再允许,但是,类似下面这样的行:
   $_hdimage = "/dev/hda1"
可能有效,但风险是您可能会在 dosemu 崩溃时丢失该分区中的所有数据。

如果您的 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. 使用 dd 命令将 MBR 复制到一个文件。(或者使用 norton utility 等工具,前 512 字节)

2. 启动 dos(从完整启动而不是 emu),执行 fdisk /mbr,使用 (dos) fdisk 将您的 dos 分区设置为活动状态。

3. 将新的 MBR 复制到一个文件。

4. 替换原始 MBR

5. 将第二个 MBR 复制到 /var/lib/dosemu/partition.hda?(根据您的 dos 分区而定)

6. 设置 dosemu.conf

               disk {partition "/dev/hda? ?"}

7. 启动 dosemu,瞧!没有 LILO。

对于最近版本的 dosemu,您需要更改

               disk {partition "/dev/hda? ?"}
行,改成类似这样:
               $_hdimage = "/dev/hda1"
---------------------

Holger Schemel (q99492@pbhrzx.uni-paderborn.de) 报告 (94/2/10):

即使在 MS-DOS 6.0 的 dosemu 下也能正常工作。如果您遇到问题,则必须手动编辑文件 “DBLSPACE.INI”,并将盘符更改为您在 dosemu 下获得的驱动器盘符。

---------------------

Darren J Moffat (moffatd@dcs.gla.ac.uk) 也报告 (94/3/27):

“...如果可以,请使用 6.2!只需确保手头有一个 LILO 启动盘,因为 dos 6{.2} 会更改启动 HZ 的 MBR。”

3.4 创建您自己的 hdimage 文件。

简单的方法是使用 mkdexe - 详情请参阅 README.txt。老式方法(我不知道现在为什么还有人想这样做,但以防万一,还是介绍一下)如下:

有一个额外的实用程序程序名为 mkfatimage16,它允许创建 hdimage 文件头。完整信息在您的发行版中包含的 manpage (man/mkfatimage16.1) 中。

要创建一个几何结构与 32 兆字节真实硬盘相对应的硬盘镜像文件,请运行:

mkfatimage16 -k 32768 > hdimage

对于大多数需求来说,这可能太大了;如果您需要这么大的空间,请考虑使用磁盘重定向器。”

通常,最好在之后格式化驱动器。


下一页 上一页 目录