循环设备和块设备有什么区别?

循环设备和块设备有什么区别?

我想自己创建一个循环设备,我希望它有一个特殊的名称,比如/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 addresslosetup /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,因此不需要手动创建条目 - 如果该条目不存在,则意味着您没有相应的驱动程序。

相关内容