Alt linux mount iso

CDEmu и все-все-все

Озадачившись решить проблему с разнообразием способов монтирования образов дисков в Альт Линуксе (советовать простому смертному «mount -o loop» — не самый лучший вариант), первым делом решил глянуть на CDEmu и его оболочки, благо, для раб. столов на базе GTK она есть в репозиториях (для QT имеется тоже, правда, НЕ в репозиториях).

Установив нужные пакеты (cdemu-client, cdemu-daemon, gcdemu), я перезагружаюсь, и после входа, выбрав образ, жму по нему правой кнопкой мыши и выбираю пункт «Открыть с помощью => Клиент CDEmu». И. Ничего. То есть совсем ничего. Попробовав ещё пару раз, я полез в консоль, и попробовал примонтировать образ через cdemu оттуда. Ответ был получен незамедлительно:

ОШИБКА: Не удалось подключиться к демону CDEmu: g-dbus-error-quark: Error calling StartServiceByName for net.sf.cdemu.CDEmuDaemon: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process net.sf.cdemu.CDEmuDaemon exited with status 255 (25) 

Сам демон выдал следующее:

> Запуск демона CDEmu со следующими параметрами: > - количество накопителей: 4 > - управление накопителем: /dev/vhba_ctl > - аудиодрайвер: null > - тип шины: session > > cdemu0: Kernel I/O: failed to open control device /dev/vhba_ctl: Нет такого файла или каталога! > cdemu: Daemon: failed to start device #0! > cdemu: Daemon: failed to create device! > Не удалось инициализировать и запустить демон!

Интересное кино — демон не может найти нужное устройство — виртуальный привод, то есть программе чего-то не хватает, а именно виртуального блочного устройства /dev/vhba_ctl. Причём во время установки система молчала, программа молчала, а недовольство высказала лишь после того, как установилась.

Читайте также:  Создать загрузочную флешку linux терминал

Ладно, мы народ не гордый, лезем в Интернет. Решение нашлось довольно быстро — не установлен модуль ядра vhba. Итак, начинаем решать задачу.

Алгоритм действий

0. Обновляем систему до актуального состояния, включая ядро (это очень важно, почему — поймёте позже).

apt-get update && apt-get dist-upgrade && update-kernel -yy

1. Устанавливаем пакет с модулем (ВНИМАНИЕ! Если модуль собран для самой последней версии ядра, он потянет и его — не пугаемся и соглашаемся на установку новой версии ядра).

apt-get install kernel-modules-vhba-std-def

2. Устанавливаем модули ядра видеокарты для новой версии ядра — если установилось последнее ядро, ставим для него, смотря на версию пакета.

apt-get install kernel-modules-nvidia-std-def#-
kernel-modules-drm-radeon-std-def#-

Если не обновить ядро заранее, может так статься, что рабочий стол вы не увидите — ядро будет новое, а модули для видеокарты — старые.

4. Запускаем модуль ядра от рута:

5. Прописываем модуль в автозапуск (от рута)

sh -c "echo 'vhba' >> /etc/modules" 

Обходные пути

Можно ли обойтись без CDEmu? Да, можно. Для основных сред рабочего стола имеются скрипты и рецепты упрощения работы с образами, правда, придётся поколдовать в терминале 🙂

XFCE

KDE

cp fuseisomenu.* ~/.local/share/kservices5/ServiceMenus/

MATE

Для 8-й и 9-й платформы

0. Устанавливаем пакет mate-file-manager-actions

apt-get install mate-file-manager-actions

1. Создаём каталог для наших команд:

mkdir -p ~/.local/share/caja/actions

2. Создаём desktop-файл нашего пункта меню:

nano ~/.local/share/caja/actions/Mount_Image.desktop
[Desktop Entry] Type=Action Tooltip=Mount Image Name=Mount Disk Image Name[ru]=Примонтировать образ диска Profiles=profile-zero; Icon=application-x-cd-image [X-Action-Profile profile-zero] MimeTypes=all/all; Exec=gksu "mount -o loop %f" /media/iso # каталог "iso" должен быть предварительно создан Name=Mount Image Name[ru]=Примонтировать образ диска

4. Выходим из файлового менеджера и снова входим. В контекстном меню должна появиться строка «Caja-Actions actions», а в ней — наш пункт меню.

Читайте также:  Fdisk linux удалить раздел

Альтернативный вариант

В случае отсутствия [1] вышеуказанного пакета можно обойтись bash-скриптом, который нужно положить по пути ~/.config/caja/scripts

0. Создаём файл по указанному адресу

1. Открываем любым текстовым блокнотом

2. Вставляем следующее содержимое:

#!/bin/bash #script via TheeMahn gksu umount /media/ISO for I in `echo $*` do foo=`gkgksu -u root -k -m "enter your password for root terminal access" /bin/echo "got r00t?"` gksu mkdir /media/ISO gksu "mount -o loop -t iso9660 $I" /media/ISO done 

3. Даём права на исполнение через свойства файла или командой в терминале:

chmod +x ~/.config/caja/scripts/MountISO

Источник

Монтирование образов устройств

Файловая система распознается и смонтируется автоматически.

Для размонтирования выполните:

Монтирование vdi, vmdk, vhd и qcow2

VDI, VMDK, VHD

1. Установите пакет vdfuse

# mkdir /mnt/vdi # vdfuse -w -f '/home/user/VirtualBox VMs/ALT Linux/ALT Linux.vdi' /mnt/vdi

В смонтированном образе отобразятся разделы. Теперь нужно смонтировать их.

# mkdir /mnt/vdi-part1 # sudo mount -t auto /mnt/vdi/Partition1 /mnt/vdi-part1 -o loop

Теперь по адресу /mnt/vdi-part1 у вас будет содержимое VDI-диска.[1]

qcow2

losetup -f lxde-p5.qcow2 kpartx -a /dev/loop0 mount /dev/mapper/loop0p2 /mnt # монтирование второго раздела
umount /mnt kpartx -d /dev/loop0 losetup -d /dev/loop0

Монтирование файловой системы из образа устройства

Задача: есть файл с образом устройства (e.g. /dev/sda), содержащим Partition Table и одну или несколько файловых систем. Одну из них нужно смонтировать. В качестве примера можно рассматривать образ установочной флешки, доступной для скачивания здесь, образ нужно разжать.

Монтировать файловую систему из такого образа можно указывая для программы mount опцию -o offset= (man losetup) со смещением начала файловой системы в байтах. Необходимое смещение мы можем узнать из Partition Table с помощью программы fdisk:

$ echo -en "x\np\n" |/sbin/fdisk altlinux-4.1.1-desktop-i586-install-flash.img . # AF Гол Сек Цил Гол Сек Цил Начало Разм ID 1 80 130 3 0 24 24 984 8192 3960832 0b

Мы видим, что файловая система, располагающаяся в первом разделе этого образа, начинается с 8192 сектора. Учитывая размер сектора равным 512 байтам, монтируем FS:

# mount -o loop,offset=$((8192*512)) altlinux-4.1.1-desktop-i586-install-flash.img mymountpoint/

Источник

Читайте также:  Linux просмотреть сетевую папку

Монтирование образов устройств

Файловая система распознается и смонтируется автоматически.

Для размонтирования выполните:

Монтирование vdi, vmdk, vhd и qcow2

VDI, VMDK, VHD

1. Установите пакет vdfuse

# mkdir /mnt/vdi # vdfuse -w -f '/home/user/VirtualBox VMs/ALT Linux/ALT Linux.vdi' /mnt/vdi

В смонтированном образе отобразятся разделы. Теперь нужно смонтировать их.

# mkdir /mnt/vdi-part1 # sudo mount -t auto /mnt/vdi/Partition1 /mnt/vdi-part1 -o loop

Теперь по адресу /mnt/vdi-part1 у вас будет содержимое VDI-диска.[1]

qcow2

losetup -f lxde-p5.qcow2 kpartx -a /dev/loop0 mount /dev/mapper/loop0p2 /mnt # монтирование второго раздела
umount /mnt kpartx -d /dev/loop0 losetup -d /dev/loop0

Монтирование файловой системы из образа устройства

Задача: есть файл с образом устройства (e.g. /dev/sda), содержащим Partition Table и одну или несколько файловых систем. Одну из них нужно смонтировать. В качестве примера можно рассматривать образ установочной флешки, доступной для скачивания здесь, образ нужно разжать.

Монтировать файловую систему из такого образа можно указывая для программы mount опцию -o offset= (man losetup) со смещением начала файловой системы в байтах. Необходимое смещение мы можем узнать из Partition Table с помощью программы fdisk:

$ echo -en "x\np\n" |/sbin/fdisk altlinux-4.1.1-desktop-i586-install-flash.img . # AF Гол Сек Цил Гол Сек Цил Начало Разм ID 1 80 130 3 0 24 24 984 8192 3960832 0b

Мы видим, что файловая система, располагающаяся в первом разделе этого образа, начинается с 8192 сектора. Учитывая размер сектора равным 512 байтам, монтируем FS:

# mount -o loop,offset=$((8192*512)) altlinux-4.1.1-desktop-i586-install-flash.img mymountpoint/

Источник

Оцените статью
Adblock
detector