このディスクimgをCDROMブロックデバイスを介してのみマウントできるのはなぜですか?

このディスクimgをCDROMブロックデバイスを介してのみマウントできるのはなぜですか?

ddext4パーティションが含まれています。

parallels@debian-gnu-linux-10:/media/psf/Irfan$ file -k old_armbian.img
old_armbian.img: Linux rev 1.0 ext4 filesystem data, UUID=62974604-6430-48bc-9f66-90d77651e3bf (extents) (large files) (huge files) (Lepton 3.x), scale 0-0, spot sensor temperature 0.000000, unit celsius, color scheme 0, calibration: offset 0.000000, slope 0.000000 (Lepton 2.x), scale 0-0, spot sensor temperature 0.000000, unit celsius, color scheme 0, calibration: offset 0.000000, slope 0.000000\012- data

私はループバックマウントを通してDebianにこのimgをマウントしようとしましたが、その中に含まれているext4を検出してマウントすることを拒否しました。

私がインストールできる唯一の方法は、仮想マシンを介して、このimgファイルをCDROMデバイスに添付することでした。その後、CDROMブロックデバイス(/dev/sr0)を介してインストールできます。

質問:

$ sudo mount -t ext4 -o loop,ro ./old_armbian.img /mnt/PEND/
mount: /mnt/PEND: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
$ sudo mount ./old_armbian.img /mnt/PEND/
mount: /mnt/PEND: can't read superblock on /dev/loop0.

私もこれを試しましたlosetup

$ sudo losetup --partscan -f old_armbian.img
$ sudo mount -t ext4 /dev/loop0 /mnt/test
mount: /mnt/test: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.

これだけがうまくいきます:

$ sudo mount -t ext4 -o ro /dev/sr0 /mnt/PEND

何を提供しますか?

ベストアンサー1

ループデバイスを作成して-o loop mountマウントしようとしましたが、デバイスにext4ファイルシステムがなく、マウントできないパーティションテーブルが含まれています。イメージにパーティションをマウントする必要がありますが、mountそうすることはできません。まず、ループデバイスを手動で作成し、--partscanカーネルにパーティションテーブルを調べてパーティションをマウントするように指示する必要があります。

# losetup --partscan -f old_armbian.img

# mount /dev/loop0p1 /mnt/PEND

なぜこれが同じ問題を持つ仮想CDに適用されるのかよくわかりません(仮想CDはおそらくオフセットを使用して作成され、実際には最初のパーティションまたは同様のものから始まります)。

おすすめ記事