对大多数Linux用户,特别是我等Linux爱好者来说,往往需要在Linux系统下使用DOS/Windows文档,这就涉及到如何在Linux环境下使用DOS/Windows磁盘的问题。下面从如何在Linux下使用DOS/Windows硬盘分区和软盘两个方面对这个问题作一个简单的介绍。
1.在Linux下使用DOS/Windows硬盘分区
Linux有一个在根目录下启动的文件系统,根目录用一个斜线(/)表示。要在Linux下使用一个物理存储设备(如硬盘分区或CD-ROM),必须先把该设备安装成为Linux文件系统的一部分。
可以用mount命令在Linux文件系统的指定目录(安装点)下手工安装设备。比如笔者的机器上安装了一块IDE硬盘,在上面安装有WindowsMe和Linux系统。WindowsMe的主分区(C盘)是该硬盘的第一个分区,也就是Linux下的/dev/hda1。为了在Linux系统下访问WindowsMe的C盘,笔者在Linux的根目录下建立了名为/mswin/c:目录,并用如下的带分区类型选项 -t msdos(WindowsNT/2000的类型选项为 -t ntfs)的mount命令:
mount -t msdos /dev/hda1 /mswin/c:
安装该分区。现在WindowsMe的C盘就被映射到了Linux的/mswin/c:目录下,用户可以通过该目录访问WindowsMe的C盘上的数据,并且可以把数据保存到该目录下,以使WindowsMe可以在C盘上访问这些数据,达到在两个系统之间交换数据的目的。
如果用户经常需要在Linux下访问DOS/Windows分区(笔者在使用Linux时多数情况下都用XMMS听保存在WindowsMe的D盘(/dev/hda5)上的MP3音乐),则可以通过在/etc/fstab文件中添加一行数据,使Linux在启动时自动安装该分区。比如,在笔者系统的fatab文件末尾添加了如下一行:
/dev/hda5 /mswin/d: msdos defaults 0 0
其中第一个参数指明了要安装的分区,第二个参数指定了安装点,第三个参数指定了分区类型,第四个参数表示按缺省方式安装。在以后启动Linux后,就可以在目录/mswin/d:下访问WindowsMe的D盘上的数据了。
笔者曾经试用过几个Linux版本。有的Linux版本的安装程序会提示用户在安装的时候设置需要在Linux下访问的DOS/Windows分区。在使用冲浪Xteam3.0的时候,可以安装FAT32分区和NTFS分区,但是可能是内码不兼容的原因,在Linux下Windows文件的中文名字显示为乱码。更让人难以理解的是,在Redhat Linux 7.0下居然不支持NTFS分区。
2.在Linux下使用DOS软盘
正如在可以在Linux系统中安装DOS硬盘分区一样,也可以安装DOS软盘。在缺省状态下,Linux定义了通用的软盘设备名:
/dev/fd0,它是A驱动器(第一个软驱)
并且系统通常还建立了安装点/mnt/floppy。因此,用如下命令就可以把DOS软盘安装到/mnt/floppy:
mount -t msDOS /dev/fd0 /mnt/floppy
安装成功后,就可以用常规的Linux命令访问DOS软盘。当要取出软盘时,首先应该卸载软盘。用umount命令卸载设备,如下所示:
umount /dev/fd0
但是,如果要频繁地更换软盘,上面的过程就显得十分繁琐。因此,通常都用mtools软件包来访问软盘。mtools软件包可以执行大多数常用的DOS命令,这些命令名除了要在每个命令前添加m前缀外,与DOS中相同。例如命令
mdir a:
mcd "a:\sample"
mcopy "a:\*.dat" .
分别列出A盘上的文件、进入A盘的sample目录、将A盘上的所有以.dat为扩展名的文件拷贝到Linux的当前目录下。需要说明的是,上面之所以用到了双引号,是为了避免shell错误地解释通配符"*"和DOS地目录分隔符"/"。
在Linux下格式化DOS软盘的时候,尽管mtools工具包提供了mformat实用程序,它可以格式化用于DOS的软盘。但是不像DOS的format命令那样,mformat命令需要执行两步过程来准备软盘:用fdformat命令(Linux命令)低级格式化软盘;用mformat a:命令把DOS文件系统放在低级格式化过的软盘上。