2つのファイルをリンクして、その中にファイルシステムをループマウントします。

2つのファイルをリンクして、その中にファイルシステムをループマウントします。

diskimage.part1低速の外付け(USB 2)ハードドライブに2つのファイルがあるため、次diskimage.part2の作業を行う必要があります。

cat diskimage.part{1,2} > diskimage
mount -o ro,loop diskimage /tmp/mountpoint

ただし、これをcat完了するには数時間かかり、ディスクイメージはサイズが大きいためどこにも合いません。

このディスクイメージで使用できる「catの怠惰なバージョン」はありますか?それはまるで

losetup --readonly /dev/loopX --concatenate diskimage.part*
mount -o ro /dev/loopX /tmp/mountpoint

(ただしlosetup --concatenate存在しない)

答え1

たぶんあなたが使用したいかもしれませんmdadm

$ losetup --readonly /dev/loop1 diskimage.part1 
$ losetup --readonly /dev/loop2 diskimage.part2 
$ mdadm --create /dev/md0 --level=linear --raid-devices=2 /dev/loop1 /dev/loop2
$ mount -o ro /dev/md0 /tmp/mountpoint

答え2

diskimageとdiskimage2に少なくとも十分な空き容量がある場合は、後者を古いファイルに追加できます。

cat diskimage.part2 >> diskimage.part1 && mv diskimage.part1 diskimage

また、多くのデータを移動する必要がないため、両方をコピーするよりも高速です。ただし、速度上の理由から、他の高速デバイスをカスケード接続することをお勧めします。

十分な空き容量がない場合は、別の(おそらく外部)デバイスを使用してディスクイメージファイルを作成してください。

答え3

mdadm --create私はループデバイスに書きたいと思っていましたが、うまくいくかどうかを確認するのに十分な勇気がなかったので、dmsetupを使ってより良い解決策を見つけました。はい、LVMはそうです。職業に適しています。

losetup --read-only /dev/loop1 diskimage.part1 # For this example, 5120 bytes
losetup --read-only /dev/loop2 diskimage.part2 # For this example, 2560 bytes
echo -e "0 10 linear /dev/loop1 0 \n10 5 linear /dev/loop2 0" | dmsetup create merge0
mount -o ro /dev/mapper/merge0 /tmp/mountpoint

説明: dmsetupLVM を管理するコマンドです。新しいマッピングされたデバイスを作成するときに使用し、dmsetup create <dev_name>マッピングを説明するテーブルも必要です。デフォルトでは、テーブルは標準入力で提供されます。

テーブルは次の形式の行で構成されていますstart_sector number_sectors target_type [target_type_arguments]。セクタは512バイトで構成されています。この例では、linearマップするファイルとマップするファイルのオフセット(セクター単位)をパラメータとして使用するマップを使用します。この例では、ファイル内のどの項目もスキップしないと仮定するため、値は0に設定されています。

このコマンドは、新しいデバイスの場合、merge0最初の10個のセクタがにマッピングされ、/dev/loop1次の5個のセクタがにマッピングされることを意味します/dev/loop2

新しい機器が市場に発売される予定です/dev/mapper/merge0partprobeイメージにパーティションが含まれている場合は、それを実行してパーティションを読み取る必要があります。

より多くの情報を見ることができますここ(特にTABLE_FORMATセクションで)いくつかの非常に便利な例を見つけることができます。ここ

完全に間違ったコマンドを提供しましたが、正しい方向を教えてくれたchatGPTに感謝します。

関連情報