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 loop
thiết bị phân vùng có thể tạo ra.
Theo 0
mặ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/grub
và 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/loopX
thiết bị và tự động gắn các phân vùng vào /dev/loopXpY
thiế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