根据以下问题:
安装时什么是“循环装置”?
循环设备是充当基于块的设备的文件。虽然我可以从概念上理解这一点,但这与安装任何其他文件有何不同?例如,如果我获取 ext2 文件系统的 dd 映像然后挂载它,则不必使用循环选项 -mount -t ext2 file.dd /mnt/mount-point
成功。
我什么时候应该使用循环选项?使用循环选项安装和不使用循环选项安装之间有什么区别?
答案1
从技术上讲,循环设备是写入文件的块设备,而不是硬件。因此,在挂载文件时,您总是使用/需要使用环回设备。
直接回答就这么多了。也许这可以作为一个解释:
内核实现了多个抽象层,以便它可以以相同的方式处理不同的硬件。想象一下,如果您必须为每个品牌的控制器重建 ext2 驱动程序。没有人希望这样,但我们希望以同样的方式对待每个硬盘。这就是我们创建抽象层的原因。
块设备就是这样一个抽象。块设备具有某些属性并公开可供其他软件使用的某些功能。无论您拥有 ATA HDD、SCSI HDD 还是磁带驱动器,您始终使用完全相同的结构和函数与其交互。然后,内核的任务以及更明确的抽象层的任务是在访问块设备时执行正确的操作。对于块设备接口来说,正确的做法是将调用和数据传递到正确的设备驱动程序或从正确的设备驱动程序传递数据。例如,该设备驱动程序可以是 SCSI 子系统或循环设备的驱动程序。
循环设备驱动程序将关联块设备上的操作转换为文件系统操作,这就是数据/分区最终出现在文件中的方式。
我在使用的术语以及所涉及的抽象层的名称和数量方面可能是非常错误的。我只是想勾勒出基本概念,这样就可以清楚地看出循环设备不是一个执行某些操作的文件,而是一个使用文件的东西。该文件不会执行任何不同于其用途的操作。
答案2
如果您不必使用循环选项来挂载常规文件,那是因为mount
系统会检测到这一点并自动为您激活它。您过去必须手动指定它。