losetup -P
ระบบอัตโนมัติ
วิธีการที่กล่าวถึงโดยhttps://superuser.com/a/684707/128124 (เพิ่มใน util-linux v2.21, เพิ่ม Ubuntu 16.04), นี่คือฟังก์ชั่นที่จะทำให้มันอัตโนมัติยิ่งขึ้น การใช้งาน:
$ los my.img
/dev/loop0
/mnt/loop0p1
/mnt/loop0p2
$ ls /mnt/loop0p1
/whatever
/files
/youhave
/there
$ sudo losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO
/dev/loop1 0 0 0 0 /full/path/to/my.img
$ # Cleanup.
$ losd 0
$ ls /mnt/loop0p1
$ ls /dev | grep loop0
loop0
ที่มา:
los() (
img="$1"
dev="$(sudo losetup --show -f -P "$img")"
echo "$dev"
for part in "$dev"?*; do
if [ "$part" = "${dev}p*" ]; then
part="${dev}"
fi
dst="/mnt/$(basename "$part")"
echo "$dst"
sudo mkdir -p "$dst"
sudo mount "$part" "$dst"
done
)
losd() (
dev="/dev/loop$1"
for part in "$dev"?*; do
if [ "$part" = "${dev}p*" ]; then
part="${dev}"
fi
dst="/mnt/$(basename "$part")"
sudo umount "$dst"
done
sudo losetup -d "$dev"
)
โมดูลวนลูป max_part config
วิธีที่ดีก่อน util-linux v2.21
loop
เป็นโมดูลเคอร์เนลสร้างขึ้นในเคอร์เนลใน Ubuntu 14.04
หากคุณกำหนดค่าถูกต้อง Linux จะแยกอุปกรณ์ให้คุณโดยอัตโนมัติ
cat /sys/module/loop/parameters/max_part
บอกว่าloop
อุปกรณ์พาร์ติชั่นสามารถสร้างได้กี่ตัว
เป็น0
ค่าเริ่มต้นบน Ubuntu 14.04 ซึ่งเป็นสาเหตุที่ไม่มีการแยกอัตโนมัติเกิดขึ้น
หากต้องการเปลี่ยนเราสามารถเพิ่ม:
options loop max_part=31
ไปยังไฟล์ใน/etc/modprobe
หรือ:
GRUB_CMDLINE_LINUX="loop.max_part=31"
ไปแล้ว/etc/default/grub
sudo update-grub
วิธีการตั้งค่าพารามิเตอร์โมดูลยังได้รับการคุ้มครองที่: https://askubuntu.com/questions/51226/how-to-add-kernel-module-parameters
หลังจากรีบู๊ตเมื่อคุณ:
sudo losetup -f --show my.img
มันติดภาพไปยัง/dev/loopX
อุปกรณ์และพาร์ทิชันโดยอัตโนมัติไปยัง/dev/loopXpY
อุปกรณ์
ดังนั้นนี่เป็นวิธีที่สะดวกที่สุดถ้าคุณเต็มใจที่จะรีบูต
ดูสิ่งนี้ด้วย