Linux

將多個 img 文件掛載為單循環設備

  • September 5, 2019

有沒有辦法將磁碟 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 的文件,您應該切換到一個健全的文件系統。

引用自:https://unix.stackexchange.com/questions/17084