我想自己创建一个循环设备,我希望它有一个特殊的名称,比如/dev/loop-test-0
。我希望它在我重新启动机器后启动。我虽然可以用mknod
这个,但这似乎不起作用。我查看系统中的其他循环设备,它们看起来都像
brw-rw----. 1 root disk 7, 0 Jul 27 09:35 /dev/loop0
我添加了数字,mknod /dev/loop8 b 7 8
所以看起来像
brw-rw----. 1 root disk 7, 8 Jul 27 11:32 /dev/loop8
当我使用时,当我使用时,我losetup /dev/loop8 testfs
没有得到任何错误。losetup: /dev/loop8: failed to set up loop device: No such device or address
losetup /dev/loop0 testfs
问题是什么?我不想使用
echo loop > /etc/modules-load.d/loop.conf
echo options loop max_loop=8 > /etc/modprobe.d/eightloop.conf
我想自己创建循环设备,可以吗?
答案1
循环设备是一种特定类型的块设备,由循环设备驱动程序管理。 A循环装置是一种块设备,其内容存储在文件中,类似于 SCSI 磁盘设备是一种块设备,其内容存储在 SCSI 磁盘上,USB 存储设备是一种块设备,其内容存储在 USB 存储外围设备上, ETC。
Linux 有一个内核参数,它确定系统上可以使用的循环设备的数量。在中创建条目/dev
不会更改该数字:您拥有驱动程序允许的设备数量,不能再多了。如果您创建其他条目,则没有驱动程序来处理它们,因此当您尝试访问该设备时会出现错误“没有此类设备或地址”(ENODEV)。
在现代 Linux 系统上(近十年左右),乌德夫自动在 中创建条目/dev
,因此不需要手动创建条目 - 如果该条目不存在,则意味着您没有相应的驱动程序。