GNU/Linux >> Linux の 問題 >  >> Linux

複数の img ファイルを単一のループ デバイスとしてマウントする

その場でできるとは思いませんが、十分なスペースがあれば、これでうまくいくはずです:

# Create the files that will hold your data
dd if=/dev/zero of=part-00 bs=1M count=4k
dd if=/dev/zero of=part-01 bs=1M count=4k

# Create the loop devices
losetup /dev/loop0 part-00
losetup /dev/loop1 part-01

# Create a RAID array
mdadm --create /dev/md0 --level=linear --raid-devices=2 /dev/loop0 /dev/loop1

# Copy the original filesystem
dd if=original-file-00 of=/dev/md0 bs=512
# Look at the records written value
dd if=original-file-01 of=/dev/md0 bs=512 seek=<sum of records written values so far>

# Mount the new filesystem
mount /dev/md0 /mnt

RAID ディスクには、ディスクの数、RAID レベルなどが格納される特定のヘッダーがあるため、元のファイルから RAID アレイを単純に作成することはできません。これを行うと、元のファイルのその部分が上書きされます。

mdadm --build を使用できます メタデータなしでアレイを作成するには、最初にバックアップを作成する必要があります。または、読み取り専用マウントで十分な場合:

losetup -r /dev/loop0 original-00
losetup -r /dev/loop1 original-11
mdadm --build /dev/md0 --level=linear --raid-devices=2 /dev/loop0 /dev/loop1
mount /dev/md0 /mnt

なぜこれをしたいのですか?ファイルシステムが 4GB を超えるファイルを処理できない場合は、適切なファイルに切り替える必要があります。


分割ディスク イメージ (またはパーティション イメージ) をマウントするには、 affuse を使用する必要があります 現在ここで維持されている afftools から:https://github.com/sshock/AFFLIBv3

したがって、ファイルがある場合は、複数のサブファイルに分割してください test_img.000, test_img.001, test_img.002, test_img.003, test_img.004, test_img.005, test_img.006, test_img.007, test_img.008, test_img.009

affuse で仮想的に参加できます

# affuse test_img.000 /mnt/combine
# ls -lh /mnt/combine
total 0
-r--r--r-- 1 root root 2.0G 1969-12-31 16:00 test_img.000.raw

(これにより、ファイル 000 から始まり、001、002、… とすべてのファイルが結合されます)

そして、イメージをマウントします

mount -o ro,loop,offset=329043456 /mnt/combine/test_img.000.raw /mnt/test

使用法についてはこちらで説明し、いくつかの例をこちらで説明します。コンパイルおよびインストール後、またはここからマンページも利用できます。

PS:私にとって affuse 分割ファイルのサイズが 512 バイトの倍数である場合にのみ機能しました。


Linux
  1. Unixの単一のコマンドまたはスクリプトで複数のファイルの名前を変更する方法は??

  2. 検索を使用して複数のファイルの名前を変更するにはどうすればよいですか?

  3. Dd:複数の入力ファイル?

  1. Linux – 1人のユーザーが複数のCrontabファイルを持つことができますか?

  2. 単一ホスト上の複数の glibc ライブラリ

  3. SSH 経由でデバイスを使用しますか?

  1. dd イメージを複数のファイルに分割する

  2. Linux で単一のマウント ポイントに複数のデバイスをマウントする

  3. 複数のリモート ファイルを追跡する