对于大多数DOS/WINDOWS用户来说,在UNIX中使用软盘是一件很头痛的事。它不但操作麻烦,而且较难理解。另外,UNIX版本众多,各系统对软盘的操作又不尽相同。本文基于digital UNIX 4.0谈谈对软盘的操作,希望能起到抛砖引玉的作用。
  一、格式化软盘
  无论软盘是新盘还是以其它方式(如windows,dos等)格式化过,第一次在UNIX系统中使用都需要格式化。在digital UNIX中,格式化软盘主要由fddisk,disklabel,newfs等三个命令联合完成。
  1、fddiskfddisk是一个FDI(integrated Floppy Disk Interface)磁盘维修程序。它不但可以格式化软盘,还能扫描软盘坏块和读写软盘所选块等。这里主要谈谈它的格式化功能,其命令格式为:
  #/sbin/fddisk -fmt -f /dev/fd0a其中,/dev/fd0a为块设备文件,表示第一软驱。-fmt选项表示系统会以恰当的容量格式化软盘。如果不带-f选项,则在下面两种情况下格式化操作将失败:一是当软盘插入时,软驱已打开;二是软驱已被其它进程占用。格式化操作要求用户对软驱有读/写权利以及/dev/fd0a对应软驱并没有被安装等。
  2、disklabeldisklabel命令为读写磁盘标签。磁盘标签包括了磁盘的类型、物理参数和分区等信息。
  此命令只对字符设备文件进行读写,其命令格式为:
  #/sbin/disklabel -rw /dev/rfd0a rx23其中,/dev/rfd0a是软盘对应的字符设备文件,选项-rw表示对软盘标签进行读写操作,rx23表示软盘是1.44MB高密度软盘(详见/etc/disktab,此文件包含了磁盘和驱动器的基本信息)。
  3、newfs对软盘写入标签后,就可以用newfs命令在软盘上建立一个UFS(UNIX file system)。其命令格式为:
  #/sbin/newfs -s 512 /dev/fd0a rx23其中,选项"-s 512"表示软盘每个扇区为512个字节,rx23表示软盘是1.44MB高密度软盘。
  上面三个命令对软盘进行了格式化操作,相当于dos/windows下的format命令。这也是digital UNIX格式化软盘必须经历的"三步曲"。
  二、安装和卸载文件系统
  1、安装文件系统
  如果用户要在UNIX系统中使用该UNIX软盘文件系统,必须先将软盘文件系统安装(mount)到UNIX系统上,其命令格式为:
  #/sbin/mount /dev/fd0a /mnt/fd0a其中,/mnt/fd0a为软盘在UNIX系统上的安装目录,即所谓的"安装点",此目录必须是一个已存在的空目录,且未被其它进程使用。用户也可以用mount命令检查软盘文件系统是否安装成功,如:
  #/sbin/mount
  root_domain#root on / type advfs(rw)
  usr_domain#usr on /usr type advfs(rw)
  ......
  /dev/fd0a on /mnt/fd0a type ufs(rw)
  系统显示表明软盘文件系统已经成功安装到/mnt/fd0a上。这样,目录/mnt/fd0a就类似DOS/WINDOWS下的A:驱动器。在这个目录下,用户就可以对软盘使用各种文件操作命令,如:ls,mkdir,cp,rm等,也可以查看软盘文件系统空间的使用情况,如:
  #/sbin/df /mnt/fd0a
  Filesystem 512-block Used Available Capactity Mountd on
  /dev/fd0a 430 14 372 4% /mnt/fd0a
  2、卸载文件系统
  对软盘操作完毕后,应先将软盘文件系统从UNIX系统中卸载出来,再取出软盘。卸载文件系统的命令格式为:
  #/sbin/umount /dev/fd0a在拆卸文件系统之前,首先要把系统降为单用户模式。不建议用umount命令带-f选项强行卸下文件系统,这会损坏文件系统。
  三、修复文件系统
  如果在mount软盘文件系统时出现错误信息:"dev/fd0a on /mnt/fd0a:Dirty filesystem"。这表明软盘文件系统糟到了损坏。这有可能是某些不可预见因素,如系统突然掉电,或误操作,如上次使用此软盘时未卸载而先取出软盘等原因造成的。这时用户就需要对软盘文件系统进行修复:
  #/sbin/fsck /dev/fd0a
  /sbin/ufs_fsck /dev/fd0a
  **/dev/rfd0a
  **Last Mounted on /mnt/fd0a (最近一次安装在/mnt/fd0a目录上)
  **Phase 1 Check blocks and Sizes(检查块及其大小)
  **Phase 2 Check Pathnames(检查路径名)
  **Phase 3 Check Connectivity(检查文件链接)
  **Phase 4 Check Reference Counts(检查关联记数)
  **Phase 5 Check Cyl groups(检查柱面)
  4 files,7 used,208 free(8 frags,25 blocks,3.7% fragmentation)(软盘文件系统的文件总数,占用块数和剩余空闲块总数。)
  注:括号内的汉字为笔者注释。
  fsck命令从五个阶段对软盘文件系统进行了成功修复。如果在某个阶段发现一个被破坏的文件,fsck命令就会询问用户是否需要修复,这时只要输入“y”,就可以对这个文件进行修复。如果fsck认为这个文件已经无法修复,这时用户可以输入"n",让fsck忽略这个错误,以便使用其它命令来修复这个文件。
  上面所介绍的只是对软盘的常用操作,如果用户想详细了解各命令,请参见各命令的联机帮助。下面谈谈对操作软盘的几个问题的说明。
  (1)、用户对软盘进行缺省(即可读写软盘)安装时,应将软盘的写保护打开,否则系统将出现错误信息:"dev/fd0a on /mnt/fd0a:Read-only file system"。
  (2)、如果用户要求UNIX系统每次启动时自动安装软盘文件系统,可在/etc/fstab文件中加入"/dev/fd0a /mnt/fd0a ufs rw 0 0"。不过这样会增加服务器的负担。
  (3)、修复软盘文件系统时应先将其卸载。
  (4)、对软盘的操作并不仅仅只是超级用户(root),也可以是由超级用户授权的那些用户。
  (5)、对众多UNIX版本来说,格式化软盘的命令差异比较大,而安装与卸载文件系统、修复文件系统大都相同,只是各命令的参数略有不同。
  综上所述,在UNIX系统中使用软盘比在DOS/WINDOWS中要多费些“手脚”。不过,只要用户真正理解其实质,操作起来也会得心应手。
  注:运行环境,ALPHAserver 4100,digital UNIX 4.0,B shell。