Монтирование .vmdk-диска виртуальной машины VMware в Linux

Иногда обмен файлами между виртуальной и хостовой операционными системами может стать проблемой (по крайней мере, у меня такое не раз бывало). Штатные средства на уровне гостевой ОС требуют установленных VMware-Tools, дополнительных настроек виртуальной сети и т.п.

А что делать, если нам просто нужно перекинуть небольшой файл из хостовой ОС Linux на диск виртуальной машины, но шаманить с тулзами и дополнительными настройками нету ни времени ни желания?

Как по мне, простейший способ сделать это — выключить ВМ (если есть возможность) и смонтировать ее виртуальный диск в хостовую ОС. О том как я это делал — ниже.

Итак, все происходило на моем любимом Дебиане 5.0 с установленным на нем VMware Server 2. На VMware крутится Windows 7.

У VMware Server для таких целей есть тулза vmware-mount, которая расположена в папке с самим гипервизором. Принцип ее использования достаточно прост:

./vmware-mount <путь к файлу диска> [номер раздела] <точка монтирования>

«путь к файлу диска» — это путь к самому .vmdk файлу нашей виртуальной машинки, который, как правило, расположен в папке с самой виртуальной машиной;

«номер раздела» — номер логического раздела на диске, начинается, по ходу с «1» т.к. «0» и «1», в моем случае, были загрузочным сектором, а раздел номер «2» был собственно разделом с виндой;

«точка монтирования» — папка, в которую хотим примонтировать наш диск;

Собственно у меня получилась вот такая команда:

$ sudo ./vmware-mount /var/vm-machines/windows7/windows7.vmdk 2 /mnt/windows7

что бы отмонтировать это дело, я не додумался до чего-то более умного чем:

$ sudo umount /mnt/windows7

думаю это есть правильно :)

Возможные ошибки (куда же без них):

Для начала, тулза не хотела ничего монтировать и вылетала с ошибкой:

./vmware-mount: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory

пофиксилось установкой 2-х пакетов: fuse-utils и libfuse2:

$ sudo apt-get install fuse-utils

но это не все, дальше появилась еще одна ошибка:

SSLLoadSharedLibrary: Failed to load library libcrypto.so.0.9.8:/vmserver/libdir/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8: cannot open shared object file: No such file or directory
Core dump limit is 0 KB.
Child process 16980 failed to dump core (status 0x6).

VMware Server Error:
VMware Server unrecoverable error: (app)
SSLLoadSharedLibrary: Failed to load library libcrypto.so.0.9.8:/vmserver/libdir/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8: cannot open shared object file: No such file or directory
Please request support.
To collect data to submit to VMware support, select Help > About and click "Collect Support Data". You can also run the "vm-support" script in the Workstation folder directly.
We will respond on the basis of your support entitlement.

Press "Enter" to continue...

Насколько я понял,связана она с тем, что VMware Server у меня был установлен не в /usr, а в /vmserver, а если конкретней, то сами библиотеки ВМтвари расположены не в /usr/lib/vmware а в /vmserver/lib/vmware. Пофиксить это достаточно просто, нужно создать симлинк на наши библиотеки:

$ sudo ln -s /vmserver/lib/vmware /usr/lib/vmware

vmserver в моем случае, это папка, в которую установлены быблиотеки гипервизора и сам гипервизор (инсталяциооный скрипт в процессе установки VMware сервера, спрашивает куда их устанавливать).

Вроде бы ничего не забыл :)

Монтирование .vmdk-диска виртуальной машины VMware в Linux: 4 комментария

  1. ps4 games

    Great website you have here but I was wondering if you knew of any community forums that cover the same topics discussed in this article?
    I’d really like to be a part of community where I can get feedback
    from other knowledgeable people that share the same interest.
    If you have any recommendations, please let me know.
    Kudos!

Добавить комментарий для quest bars cheap Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Не робот ли ты часом? * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.