今天遇到一个奇怪的问题,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进程搞坏的?