为什么挂载ddrescue镜像时需要设置循环设备?

为什么挂载ddrescue镜像时需要设置循环设备?

在各种教程中我看到以下命令:

mount -o ro,loop,offset=123 harddrive.img /mnt/loop

但通过阅读文档,我无法理解什么是循环设备。为什么harddrive.img需要不同的选项/dev/sba

从我自己的测试来看,mount -o ro,offset=123 harddrive.img /mnt/loop似乎工作正常,那么这个选项的意义和意义是什么?

答案1

你需要一个循环装置(这基本上是一个由常规文件支持的“假”块设备)因为mount需要一个块设备。

并且您不需要指定,-o loop因为如果不指定,当您尝试挂载文件时,将自动创建循环设备。从安装手册页

如果未指定文件系统类型或 libblkid 已知文件系统,则 mount 命令会自动从常规文件创建循环设备

你可以看到即使不使用循环设备仍然被创建-o loop

$ sudo mount disk.img /mnt/test
$ lsblk /dev/loop0
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0   7:0    0  100M  0 loop /mnt/test
$ cat /proc/mounts | grep test
/dev/loop0 /mnt/test ext4 rw,seclabel,relatime 0 0

-o loop如果您想手动指定未使用或手动创建的循环设备,例如-o loop=/dev/loop3,那么最需要使用so 。

相关内容