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最も便利です。

関連情報