losetup -P tự động hóa
Phương pháp được đề cập bởi https://superuser.com/a/684707/128124 (được thêm vào trong linux-linux v2.21, đã thêm Ubuntu 16.04), đây là các chức năng để tự động hóa thêm. Sử dụng:
$ 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
Nguồn:
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"
)
cấu hình vòng lặp max_part config
Phương pháp Decent trước khi sử dụng linux v2.21.
loop là một mô-đun hạt nhân, được tích hợp vào kernel trong Ubuntu 14.04.
Nếu bạn định cấu hình đúng, Linux sẽ tự động chia nhỏ các thiết bị cho bạn.
cat /sys/module/loop/parameters/max_part
cho biết có bao nhiêu loopthiết bị phân vùng có thể tạo ra.
Theo 0mặc định, trên Ubuntu 14.04, đó là lý do tại sao không có tự động chia tách xảy ra.
Để thay đổi nó, chúng ta có thể thêm:
options loop max_part=31
vào một tập tin trong /etc/modprobe, hoặc:
GRUB_CMDLINE_LINUX="loop.max_part=31"
đến /etc/default/grubvà sau đó sudo update-grub.
Cách đặt tham số mô-đun cũng được đề cập tại: https://askubfox.com/questions/51226/how-to-add-kernel-module-parameter
Sau khi khởi động lại, khi bạn làm:
sudo losetup -f --show my.img
nó gắn hình ảnh vào một /dev/loopXthiết bị và tự động gắn các phân vùng vào /dev/loopXpYthiết bị.
Vì vậy, đây là phương pháp thuận tiện nhất nếu bạn sẵn sàng khởi động lại.
Xem thêm