参考自:
http://tonykorn97.itpub.net/post/6414/466682
操作系统
[root@vkillhost ~]# uname -r
2.6.25-ARCH
问题现象
[root@vkillhost ~]# mount -t iso9660 /media/hyp/archlinux-2008.06-core-i686.iso /mnt/iso
mount: /media/hyp/archlinux-2008.06-core-i686.iso is not a block device (maybe try `-o loop'?)
[root@vkillhost ~]# mount -t iso9660 -o loop /media/hyp/archlinux-2008.06-core-i686.iso /mnt/iso
mount: could not find any device /dev/loop#
解决方法分析:
1、原因分析,是因为/dev下没有任何loop设备导致
[root@vkillhost ~]# ls -l /dev/loop*
ls: cannot access /dev/loop*: No such file or directory
2、查看本机模块,发现没有loop模块
[root@vkillhost ~]# lsmod | grep loop
[root@vkillhost ~]#
3、查看loop模块信息,如果提示 modinfo: could not find module loop ,执行pacman -S kernel26 修复安装后再查看loop模块信息
[root@vkillhost ~]# modinfo loop
filename: /lib/modules/2.6.25-ARCH/kernel/drivers/block/loop.ko
alias: block-major-7-*
license: GPL
depends:
vermagic: 2.6.25-ARCH SMP preempt mod_unload 686
parm: max_loop:Maximum number of loop devices (int)
4、查看本机这个模块文件是否存在
[root@vkillhost ~]# [ -f /lib/modules/`uname -r`/kernel/drivers/block/loop.ko ] && (echo exist)
exist
5、查看这个模块文件属于哪个包
[root@vkillhost ~]# pacman -Q -o /lib/modules/2.6.25-ARCH/kernel/drivers/block/loop.ko
/lib/modules/2.6.25-ARCH/kernel/drivers/block/loop.ko is owned by kernel26 2.6.25.6-1
6、查看本机上这个包的信息
[root@vkillhost ~]# pacman -Q -l kernel26 | grep loop
kernel26 /lib/modules/2.6.25-ARCH/kernel/drivers/block/cryptoloop.ko
kernel26 /lib/modules/2.6.25-ARCH/kernel/drivers/block/loop.ko
kernel26 /usr/src/linux-2.6.25-ARCH/include/config/blk/dev/cryptoloop.h
kernel26 /usr/src/linux-2.6.25-ARCH/include/config/blk/dev/loop.h
kernel26 /usr/src/linux-2.6.25-ARCH/include/linux/loop.h
7、确认上面提示中包含loop.ko ,开始执行下列命令
#检测模块的相依性,供modprobe在安装模块时使用
[root@vkillhost ~]# depmod
#载入loop模块
[root@vkillhost ~]# modprobe loop
8、继续查看本机模块,发现已经有loop模块了
[root@vkillhost ~]# lsmod | grep loop
loop 14212 0
9、查看/dev 下是否有loop设备,可以看到多了一些loop设备
[root@vkillhost ~]# ls -l /dev/loop*
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop0 -> loop/0
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop1 -> loop/1
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop2 -> loop/2
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop3 -> loop/3
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop4 -> loop/4
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop5 -> loop/5
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop6 -> loop/6
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop7 -> loop/7
/dev/loop:
total 0
brw-rw---- 1 root disk 7, 0 2008-08-17 13:15 0
brw-rw---- 1 root disk 7, 1 2008-08-17 13:15 1
brw-rw---- 1 root disk 7, 2 2008-08-17 13:15 2
brw-rw---- 1 root disk 7, 3 2008-08-17 13:15 3
brw-rw---- 1 root disk 7, 4 2008-08-17 13:15 4
brw-rw---- 1 root disk 7, 5 2008-08-17 13:15 5
brw-rw---- 1 root disk 7, 6 2008-08-17 13:15 6
brw-rw---- 1 root disk 7, 7 2008-08-17 13:15 7
10、现在继续挂载iso文件,成功挂载
[root@vkillhost ~]# mount -t iso9660 -o loop /media/hyp/archlinux-2008.06-core-i686.iso /mnt/iso
[root@vkillhost ~]#
后记:
这样做重新启动后还是会失效,解决办法修改 /etc/rc.conf 文件加入开机加载模块中
[root@vkillhost ~]# vi /etc/rc.conf
.......
#加入loop模块
MODULES=(... loop)
......
Last modified by vkill on2008/09/07 10:37
http://tonykorn97.itpub.net/post/6414/466682
操作系统
[root@vkillhost ~]# uname -r
2.6.25-ARCH
问题现象
[root@vkillhost ~]# mount -t iso9660 /media/hyp/archlinux-2008.06-core-i686.iso /mnt/iso
mount: /media/hyp/archlinux-2008.06-core-i686.iso is not a block device (maybe try `-o loop'?)
[root@vkillhost ~]# mount -t iso9660 -o loop /media/hyp/archlinux-2008.06-core-i686.iso /mnt/iso
mount: could not find any device /dev/loop#
解决方法分析:
1、原因分析,是因为/dev下没有任何loop设备导致
[root@vkillhost ~]# ls -l /dev/loop*
ls: cannot access /dev/loop*: No such file or directory
2、查看本机模块,发现没有loop模块
[root@vkillhost ~]# lsmod | grep loop
[root@vkillhost ~]#
3、查看loop模块信息,如果提示 modinfo: could not find module loop ,执行pacman -S kernel26 修复安装后再查看loop模块信息
[root@vkillhost ~]# modinfo loop
filename: /lib/modules/2.6.25-ARCH/kernel/drivers/block/loop.ko
alias: block-major-7-*
license: GPL
depends:
vermagic: 2.6.25-ARCH SMP preempt mod_unload 686
parm: max_loop:Maximum number of loop devices (int)
4、查看本机这个模块文件是否存在
[root@vkillhost ~]# [ -f /lib/modules/`uname -r`/kernel/drivers/block/loop.ko ] && (echo exist)
exist
5、查看这个模块文件属于哪个包
[root@vkillhost ~]# pacman -Q -o /lib/modules/2.6.25-ARCH/kernel/drivers/block/loop.ko
/lib/modules/2.6.25-ARCH/kernel/drivers/block/loop.ko is owned by kernel26 2.6.25.6-1
6、查看本机上这个包的信息
[root@vkillhost ~]# pacman -Q -l kernel26 | grep loop
kernel26 /lib/modules/2.6.25-ARCH/kernel/drivers/block/cryptoloop.ko
kernel26 /lib/modules/2.6.25-ARCH/kernel/drivers/block/loop.ko
kernel26 /usr/src/linux-2.6.25-ARCH/include/config/blk/dev/cryptoloop.h
kernel26 /usr/src/linux-2.6.25-ARCH/include/config/blk/dev/loop.h
kernel26 /usr/src/linux-2.6.25-ARCH/include/linux/loop.h
7、确认上面提示中包含loop.ko ,开始执行下列命令
#检测模块的相依性,供modprobe在安装模块时使用
[root@vkillhost ~]# depmod
#载入loop模块
[root@vkillhost ~]# modprobe loop
8、继续查看本机模块,发现已经有loop模块了
[root@vkillhost ~]# lsmod | grep loop
loop 14212 0
9、查看/dev 下是否有loop设备,可以看到多了一些loop设备
[root@vkillhost ~]# ls -l /dev/loop*
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop0 -> loop/0
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop1 -> loop/1
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop2 -> loop/2
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop3 -> loop/3
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop4 -> loop/4
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop5 -> loop/5
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop6 -> loop/6
lrwxrwxrwx 1 root root 6 2008-08-17 13:15 /dev/loop7 -> loop/7
/dev/loop:
total 0
brw-rw---- 1 root disk 7, 0 2008-08-17 13:15 0
brw-rw---- 1 root disk 7, 1 2008-08-17 13:15 1
brw-rw---- 1 root disk 7, 2 2008-08-17 13:15 2
brw-rw---- 1 root disk 7, 3 2008-08-17 13:15 3
brw-rw---- 1 root disk 7, 4 2008-08-17 13:15 4
brw-rw---- 1 root disk 7, 5 2008-08-17 13:15 5
brw-rw---- 1 root disk 7, 6 2008-08-17 13:15 6
brw-rw---- 1 root disk 7, 7 2008-08-17 13:15 7
10、现在继续挂载iso文件,成功挂载
[root@vkillhost ~]# mount -t iso9660 -o loop /media/hyp/archlinux-2008.06-core-i686.iso /mnt/iso
[root@vkillhost ~]#
后记:
这样做重新启动后还是会失效,解决办法修改 /etc/rc.conf 文件加入开机加载模块中
[root@vkillhost ~]# vi /etc/rc.conf
.......
#加入loop模块
MODULES=(... loop)
......
Last modified by vkill on2008/09/07 10:37



谢谢你