在VMware环境下为FreeBSD安装vmware-tools时,查看/etc/fstab配置文件,通常会看到这样一条记录:
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
于是很多用户会像在Linux系统中那样,直接执行mount /dev/acd0 /cdrom命令来挂载光盘镜像。然而,随后却会收到一条报错信息:
mount: /dev/acd0 on /cdrom : incorrect super block
问题究竟出在哪里?FreeBSD默认的文件系统挂载类型为UFS,如果在执行挂载时没有通过-t参数明确指定文件系统格式,系统便会默认按UFS尝试读取。而CDROM通常采用ISO9660(即cd9660)文件系统,UFS自然无法识别,导致超级块校验失败。实际上,U盘、移动硬盘等非UFS设备在挂载时若不加类型参数,也极有可能遭遇相同的错误提示。
正确的处理方式是在挂载时显式指定文件系统类型:
mount -t cd9660 /dev/acd0 /cdrom
或者直接调用对应的专用命令:
mount_cd9660 /dev/acd0 /cdrom
类似的,如果遇到FAT32格式的U盘,其挂载命令应为mount -t msdos或mount_msdosfs。掌握这个挂载技巧后,今后在FreeBSD中处理各类非UFS设备时,就不会再被“incorrect super block”错误所困扰了。
