How to mount VMDK-image in Linux
Есть ли какой-то другой способ? Утилита xmount, по-моему, такого не умеет.
у тебя qemu за сентябрь 2012 года.
Просто интересовали какие-то прямые способы без конвертации. Я нашёл упоминание, что есть проприетарные утилиты для этого под Windows, MacOS (от VMWare).
Странно, что ты не вбил заголовок треда в гугл, вопрос сформулирован абсолютно правильно. И самый первый линк в выдаче дал
Mount a VMware virtual disk (.vmdk) file on a Linux box
Assumes XP/2000/2003. For Server 2008+ try offset=105,906,176 You can find this number in the System Information utility under Partition Starting Offset. UEFI based boxes you want partition 2 since the first is just the boot files (and FAT). This works with (storage side) snapshots which is handy for single file restores on NFS mounted VMware systems
И кучу альтернативных вариантов, без ожидания кучи времени на конвертацию.
И кстати, за это я не люблю Дебиан, полный древними ископаемыми. Взглянув на версии софта, так и хочется заменить «ШГ» на «УГ» рядом со словом Debian на твоей аве.
Запуск Linux с виртуального диска vmdk на реальном железе и VirtualBox
Возникла необходимость обеспечить работу Linux как на виртуальной машине (VirtualBox), так и на реальном железе. После долгих поисков и попыток запускать Linux с виртуального диска формата VHD, по примеру Windows, которые либо слишком сложны, либо не работают, я пришел к достаточно простому способу сделать это. Правда не из дисков в формате VHD, а из образа раздела диска в формате VMDK.
Linux возможно загрузить из образа раздела. Теперь нужно сделать так, чтобы у нас был и образ диска, который понимает VirtualBox и образ раздела, который может загрузить grub.
Далее расписано, как это можно сделать быстро и без лишней головной боли.
Все что далее, сделано из Windows.
Создаем новый диск фиксированного размера в формате vmdk:
Имеем созданные файлы:
Теперь необходимо в начало диска добавить еще один кусок размером 1M.
Создаем файл test1-boot.vmdk размером 1M:
где 2048 — это 2048*512=1048576 байт (1M) для этой части диска.
Создаем виртуальную машину для установки Linux, подключаем к ней диск test1.vmdk и ставим ubuntu/kubuntu/xubunu. Я ставил только эти дистрибутивы, начиная с версий 18.04 до последней (еще не вышедшей) 21.04, все остальное не проверял.
Особенность при установке: должен быть создан только один раздел на виртуальном диске и должен он быть на границе 1M. Это поведение по умолчанию при ручном создании раздела.
Загрузчик должен быть установлен на диск /dev/sda, а не на раздел /dev/sda1. Это тоже поведение по умолчанию.
После того, как все установили, перезагружаемся в VirtualBox, чтобы убедится, что Linux загружается.
Теперь загрузим только что установленный Linux на реальном железе. Проще всего сделать это с использованием загрузочной флешки.
Создаем загрузочную флешку (или usb-диск) с использованием Ventoy (https://www.ventoy.net/).
Создаем файл ventoy\ventoy_grub.cfg на разделе данных флешки со следующим содержимым:
Загружаемся с этой флешки, нажимаем F6 и попадаем в меню, где выбираем пункт «boot linux from vmdk part». Радуемся запущенному Linux.
Можно вернуться в свою рабочую OS, запустить VirtualBox и загрузить Linux из виртуального диска.
Таким вот, незамысловатым, способом можно иметь возможность сидя в Windows запускать Linux в VirtualBox, настраивать его… А потом запускать на реальном железе.
Стоит иметь ввиду, что если обновления затрагивают grub, то они не корректно будут завершены в системе, запущенной на реальном железе, ибо нет раздела с загрузчиком. Однако это не мешает нормальной работе. А такие обновления можно и через VirtualBox применять.
Монтирование VMDK дисков в ОС Linux или как достать лог-файлы CUCM
В современном, быстро меняющемся мире, разработка программного обеспечения (ПО) и его выпуск на рынок производителями происходит все быстрее и быстрее. Новые версии продуктов получают новую функциональность и избавление от старых проблем. ПО Cisco Unified Communication Manager (CUCM) не является здесь исключением.
Процедуры установки и обновления CUCM детально документированы и ознакомиться с ними можно на странице по следующей ссылке:
Раньше, когда деревья были большими и ПО устанавливалось на физические сервера, можно было бы загрузиться с Floppy / CD / DVD диска, далее смонтировать файловую систему на HDD в ручном режиме и посмотреть оставшиеся от программы-установщика лог-файлы.
В нашей сегодняшней «виртуальной» реальности, к сожалению, не все так просто. Для получения лог-файлов процесса установки ПО CUCM необходимо заранее создать в нашей виртуальной машине консоль, подключиться к ней и только после этого начинать процесс установки или обновления. Подробности о том как это нужно делать можно прочесть в следующем документе:
http://docwiki.cisco.com/wiki/How_to_Dump_Install_Logs_to_the_Serial_Port_of_the_Virtual_Machine
Часто ли Вы следовали процедуре, описанной выше? Вот, вот, и я тоже 
Ниже описан способ с помощью которого можно смонтировать файл VMDK с неудачной установкой CUCM на обычной системе с ОС Linux. В описанном ниже примере, использовался CentOS Linux 7.0.
Шаг 1. Получение доступа к исходному файлу VMDK из ОС Linux.
Для работы с VMDK файлом его можно просто загрузить внутрь ОС Linux с помощью протоколов FTP/SFTP/SCP, в случае, если размеры дисковой подсистемы ОС Linux обладают нужными объемами. В данном случае размер vmdk файла превышал 100 гигабайт и места на локальном диске не хватало для его размещения, поэтому исходный файл был размещен на сетевом хранилище NAS и смонтирован оттуда в недра ОС Linux:
Проверка доступности необходимого VMDK файла:
-rwx—— 1 roor root 7209472 Jul 14 15:50 cucm01-ctk.vmdk
-rwx—— 1 root root 118111600640 Jul 21 23:35 cucm01-flat.vmdk
-rwx—— 1 root root 576 Jul 17 11:22 cucm01.vmdk
Шаг 2. Получение информации о структуре диска VMDK.
Монтируем наш VMDK файл как loopback устройство, указав путь:
losetup /dev/loop0 /mnt/nas/cucm01-flat.vmdk
и смотрим таблицу разделов и характеристики теперь уже смонтированной файловой системы:
Disk /dev/loop0: 118.1 GB, 118111600640 bytes, 230686720 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00079338
Device Boot Start End Blocks Id System
/dev/loop0p1 * 2048 41259007 20628480 83 Linux
/dev/loop0p2 41259008 82515967 20628480 83 Linux
/dev/loop0p3 82515968 83040255 262144 83 Linux
/dev/loop0p4 83040256 230686719 73823232 5 Extended
/dev/loop0p5 83042304 87138303 2048000 82 Linux swap / Solaris
/dev/loop0p6 87140352 230686719 71773184 83 Linux
Далее, нам необходимо смонтировать разделы p1 и p6 уже отдельно для получения доступа к файлам на них хранящимся.
Шаг 3. Монтирование отдельных разделов и доступ к файлам.
Перед монтированием отдельного раздела необходимо вычислить его смещение в байтах относительно начала VMDK файла. Для этого необходимо цифру из столбца Start соответствующего раздела умножить на размер блока:
/dev/loop0p1 – 2048 x 512 = 1048576
/dev/loop0p6 – 87140352 x 512 = 44615860224
Создаем точки монтирования для нужных нам разделов:
mkdir /mnt/vmdk1
mkdir /mnt/vmdk6
Разделы должны смонтироваться без ошибок. После этого доступ к лог-файлам станет возможным! Теперь можно посмотреть на список файлов:
ls –la /mnt/vmdk1/var/log
Шаг 4. Размонтирование разделов после их использования
После завершения работы с разделами их необходимо размонтировать. Сделать это можно следующим образом:
cd /
umount /mnt/vmdk1
umount /mnt/vmdk6
Успешных Вам новых установок и обновлений CUCM!
Самая свежая информация о продуктах и решениях унифицированных коммуникаций Cisco в потоке «Технологии для совместной работы» на Cisco Connect в Москве (17-18 ноября)
Монтирование образа диска VMDK
У меня есть один файл образа диска vmware с расширением vmdk
Я пытаюсь смонтировать это и исследовать все разделы (включая скрытые).
Я могу смонтировать образ с помощью vdfuse
После этого я вижу один раздел и целый диск, выставленный на экран
Продолжая с руководством, я пытаюсь смонтировать либо FullDisk, либо Partition1, используя
Но это дает мне ошибку ‘mount: вы должны указать тип файловой системы’
Пытаясь найти правильный тип, который я пробовал
Так что я устал уставать как vfat, но это дало мне
Что я делаю не так?
6 ответов
Для более новых систем Linux есть команда ‘guestmount’. После установки вы можете запустить следующую команду для монтирования третьего раздела в образе VMDK:
Кроме того, для автоматического определения и монтирования образа (менее надежного) вы можете попробовать:
guestmount содержится в следующих пакетах для каждого дистрибутива:
Вы также можете использовать qemu:
если они не установлены, вы можете установить их (в Ubuntu это команда)
а затем смонтируйте его
а потом я его монтирую
Установите affuse, затем подключите его.
Необработанный образ диска теперь находится в /mnt /vmdk. Проверьте размер его сектора
Умножьте размер сектора и начальный сектор. В примере это будет 2048 * 512
Монтировать с использованием этого смещения
Теперь диск должен быть смонтирован и доступен для чтения на /mnt /vmdisk
Я нашел ответ commandlinefu.com довольно мило:
Вы также можете активировать тома LVM в образе, запустив
и затем вы можете смонтировать LV внутри образа.
Чтобы размонтировать образ, отключите раздел /LV, деактивируйте VG для образа
чтобы удалить сопоставления разделов.
У вас есть пакет программного обеспечения для NTFS?
в системах на основе Debian.
Не разрешено комментировать сообщение @Thomas (ответ 38 upvotes). Я бы хотел сообщить следующему человеку, который может столкнуться со следующим кодом ошибки, сгенерированным из guestmount, когда qemu-img использует способ решения проблемы.
Внутри смонтированного каталога находится файл vmdk1 (ваш необработанный файл)
Теперь попробуйте загрузить vmdk, используя guestmount
How can i access the files in a vmdk file?
I had problems with the virtual machines, I wanted to know if there is a way to access the virtual disk files, I had heard about OSFMount but it does not give me access to the folder I need
restore the backup of the virtual machine on the host so that the system was running, but I need to get the data that is inside the disk, I have it on an external disk, it moved it to a Windows computer, then CentOS to be able to access with vmware-mount but it sends me an error «Failed to mount disk ‘SERVER-04.Palmiss.local.vmdk’: It is not safe to mount the virtual disk. It may be in use.»
1 Answer 1
There are several methods to gain access to a vmdk file.
vmware-mount
It might be necessary to only mount the specific parition or to know the correct partition number in your case.
Verify that you have the nbd kernel module.
Then mount it to your Linux host using the following:
If you can and you do see relevant directories then you should be able to extract specific files with the following:
/dev/loop and guestmount
You can use a loop device or even guestmount to also attempt to mount the image.
If your loop devices go up to 20 then create a higher numbered loop device and mount your image with:
The link I mentioned earlier talks about making an offset but that should only be necessary for specific Windows VMs.
For a typical Windows guest which has its main filesystem on the first partition:
For a typical Linux guest which has a /boot filesystem on the first partition, and the root filesystem on a logical volume:
To get libguestfs to detect guest mountpoints for you:



