losetup -P
автоматизация
losetup -P
является ли лучший метод, начиная с Ubuntu 16.04, как упоминалось в https://askubuntu.com/a/496576/52975 , вот функции для автоматизации, если потребуется. Использование:
$ los my.img/dev/loop0/mnt/loop0p1/mnt/loop0p2$ ls /mnt/loop0p1/whatever/files/youhave/there$ sudo losetup -lNAME 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 loop0loop0
Источник:
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
Это достойный метод до 16.04.
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
.
Как задать параметр модуля, также описано в: Как добавить параметры модуля ядра?
После перезагрузки, когда вы делаете:
sudo losetup -f --show my.img
он монтирует изображение на /dev/loopX
устройство и автоматически монтирует разделы на /dev/loopXpY
устройства.
Так что это самый удобный метод, если вы хотите перезагрузиться.
Смотрите также