VMWare-Mount не распознает виртуальные диски - PullRequest
0 голосов
/ 26 февраля 2010

У меня есть два диска как .vmdk файлы и четыре как .vdi файлы.Я могу загружать на них виртуальные машины с помощью Sun xMV VirtualBox, и они прекрасно работают.Однако я хочу смонтировать их на своем локальном компьютере, чтобы я мог читать с них некоторые файлы, не запуская виртуальную машину.Я скачал утилиту vmware-mount, но у меня появляется эта ошибка:

Unable to mount the virtual disk. The disk may be in use by a virtual
machine, may not have enough volumes or mounted under another drive
letter. If not, verify that the file is a valid virtual disk file.

Считая, что это проблема с утилитой, я скачал SDK и создал собственную простую программу на C, чтобы попытаться смонтировать диск.Он просто инициализирует API, подключается к нему, затем пытается открыть диск.Я получаю эту ошибку, еще раз утверждая, что это не виртуальный диск:

**LOG: DISKLIB-DSCPTR: descriptor above max size: I64u
**LOG: DISKLIB-LINK  : "f:\programming\VMs\windowstrash.vdi" : failed to open (The file specified is not a virtual disk).
**LOG: DISKLIB-CHAIN : "f:\programming\VMs\windowstrash.vdi" : failed to open (The file specified is not a virtual disk).
**LOG: DISKLIB-LIB   : Failed to open 'f:\programming\VMs\windowstrash.vdi' with flags 0x1e (The file specified is not a virtual disk).
** FAILURE ** : The file specified is not a virtual disk

Файлы, очевидно, являются виртуальными дисками, поскольку на самом деле я могу подключить их и использовать на виртуальной машине.Я пытался отсоединить их от любых виртуальных машин и повторил попытку, но получил те же результаты.

Есть идеи?Может быть, «дескриптор выше максимального размера» - это подсказка?

Ответы [ 2 ]

1 голос
/ 27 февраля 2010

.vdi - это формат, поддерживаемый VirtualBox, но не поддерживаемый VMWare.

Файлы .vmdk представляют собой образы VMWare - их можно нормально загрузить с помощью инструмента vmware (VirtualBox также поддерживает их, но обратное неверно).

0 голосов
/ 28 февраля 2014

Однако, если вы пытаетесь просто как-то смонтировать образ VDI ....

Попробуйте этот блог

http://bethesignal.org/blog/2011/01/05/how-to-mount-virtualbox-vdi-image/

Это именно то, что вы должны смотреть, если вы хотите сделать это в считанные секунды.

Я только опубликовал это, поскольку другим людям, которые посещают эту страницу, было бы легче.

Спасибо.

В случае удаления этого блога в будущем было бы полезно кратко опубликовать содержание здесь. Поэтому я бы извлек содержимое и разместил его здесь.

Будь суперпользователем

sudo su

Загрузить модуль ядра nbd. - модуль сетевого блочного устройства

modprobe nbd

запустите qemu-nbd, который является сервером блочных устройств в пользовательском пространстве для поддерживаемых QEMU дисков. По сути, он знает все о странных форматах образов дисков и представляет их ядру через nbd, а в конечном итоге и всей системе, как если бы они были обычными дисками.

qemu-nbd -c /dev/nbd0 <vdi-file>

Эта команда представит весь образ как блочное устройство с именем / dev / nbd0, а разделы внутри него - как подустройства. Например, первый раздел в изображении будет выглядеть как / dev / nbd0p1.

Теперь вы можете, например, запустить cfdisk на блочном устройстве, но вы, скорее всего, захотите смонтировать отдельный раздел.

mount /dev/nbd0p1 /mnt

Когда вы закончите, размонтируйте файловую систему и выключите службу qemu-nbd.

umount /mnt
qemu-nbd -d /dev/nbd0
...