今天遇到一个奇怪的问题,mount一个iso镜像居然报错了,报错如下:

[root@BJS0-032 ~]# mount -o loop -t iso9660 rhel-server-6.3-x86_64-dvd.iso /mnt/cd-rom/

mount: wrong fs type, bad option, bad superblock on /dev/loop0,

      missing codepage or helper program, or other error

      In some cases useful info is found in syslog - try

      dmesg | tail  or so


以前挂在光盘镜像, 也是使用的这个命令啊,从没出现的错误.

而且这个机器还是我前几天我亲自给供应商挂载的iso...


在发现这个错误之前,我使用yum安装glibc,一直提示有错误,我想是不是挂载有问题,

于是就使用umount先卸载了,但是没成功,因为被占用嘛,接着我用lsof查找占用,kill了2个占用,

umount成功后我重新挂载iso, 就报上面的错了.

接着是排错:

wrong fs type, bad option, bad superblock on /dev/loop0

其实这句话就应该能想到问题出在哪里.

再看看dmesg | tail:

[root@BJS0-032 ~]# dmesg | tail

ISOFS: Unable to identify CD-ROM format.

ISOFS: Unable to identify CD-ROM format.

ISOFS: Unable to identify CD-ROM format.

ISOFS: Unable to identify CD-ROM format.

不能识别cdrom格式,我再看看iso的大小和md5

[root@BJS0-032 ~]# ll -h rhel-server-6.3-x86_64-dvd.iso

-rw-r--r--. 1 root root 18M 2月  20 21:42 rhel-server-6.3-x86_64-dvd.iso

这很明显是错的,md5都不用看了.

于是重新copy个iso过去,终于可以正常挂载了.


我在解决这个问题上花了挺长时间,主要是iso是我之前copy过去的,还曾经挂载成功过,

不知道为什么会变成18M了,本来应该是3.4G的,我猜是供应商自己搞坏的吧,难道是我kill进程搞坏的?