Ubuntu下增加loop设备数量
系统版本:Ubuntu 14.04
通过查看内核的配置文件可知(/boot/config-VERSION-generic),默认情况下,loop内核模块是编译进内核的,而不是单独成一个独立模块,而且默认情况下是只有8个Loop设备(最少只能够是8个)。
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
这样的情况下,你有两种方法修改Loop设备的数量,一种是自己重新编译内核,修改内核的配置文件。而另外一种就是给内核传递参数,指定Loop设备的数量。这里不推荐使用第一种方式,所以忽略第一种,只讲解第二种方式:
Loop是一个独立的内核模块
- umount所有挂载在loop设备上的设备
- 给loop模块指定参数
cat 'options loop max_loop=64 > /etc/modprobe
- 卸载loop模块
sudo rmmod loop
- 重新加载loop模块(有max_loop参数)
sudo modprobe loop
- 查看现在loop设备的个数,现在loop设备的个数应该跟内核参数指定的一样。
ls /dev/loop*
Loop模块被编译进内核
如果Loop被编译进内核,上面的方法是无效的,这个时候需要在启动系统的时候就告诉内核模块你需要的参数是什么,而不是进去系统后才告诉它。
如果是在测试的话,那么应该现在启动的时候长按shift(避免无法选择启动项),选好需要测试的启动项,然后按e对它进行编辑,在最后添加`max_loop=64’
linux /boot/vmlinuz-3.19.0-58-generic root=UUID=802285bd-87be-47f9-8c34-993c2ad9a7a5 ro quiet splash $vt_handoff max_loop=64
然后按F10使用当前配置启动机器,如果一切顺利,那么就可以使用接下来的方法,把该参数添加到grub的控制文件中了。在Ubuntu里面,不需要直接修改/boot/grub/grub.cfg文件,只需要在/etc/default/grub
里面进行修改:
GRUB_CMDLINE_LINUX="max_loop=64"
然后执行命令更新grub的配置。
sudo update-grub
最后在/boot/grub里面检查配置文件,看是否更新成功即可。
原文链接:https://www.f2er.com/ubuntu/355861.html