Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

Доступ к виртуальным дискам из-вне виртуальной машины.

Иногда возникает потребность списать что-нибудь с виртуального диска, созданного под VMWare, на диск реального компьютера. Это можно сделать, запустив VMWare, загрузить установленную под ней ОС и переписать это "что-нибудь" на реальный диск, подключенный в VMWare как Raw Disk или через Samba и т.д.. А если твоя виртуальная машина создана без поддержки сети? Или у тебя нет времени или желания запускать Windows под VMWare и ждать его загрузки только для того, чтоб переписать пару килобайт?

Именно для таких целей служит программа, входящая в поставку VMWare - vmware-loop. Эта программа предназначена для связывания какого-нибудь NBD (Network Block Device)-устройства с файлом виртуального диска. После этого NBD-устройство можно монтировать как обычный диск или loopback-устройство.

Для того, чтобы все это работало, твое ядро должно поддерживать NBD/usr/src/linux/.config должны быть строчка CONFIG_BLK_DEV_NBD=m или CONFIG_BLK_DEV_NBD=y). По-умолчанию она есть. Если нет - придется пересобрать ядро, добавив поддержку NBD.:)

NBD-устройства имеют имена /dev/nbX или /dev/ndX, где X - номер устройства. Для связывания NBD и виртуального диска надо выполнить следующую команду:


vmware-loop имя_файла_виртуального_диска номер_партиции_виртуального_диска /dev/nbX

Т.е. если файл виртуального диска - /home/vmware/win98/win98.dsk, ты хочешь подключить первую партицию на этом диске к устройству /dev/nb0, тогда надо выполнить команду:


vmware-loop /home/vmware/win98/win98.dsk 1 /dev/nb0

Для того, чтоб открыть файл виртуального диска только для чтения, надо запускать vmware-loop с ключом -r.


vmware-loop -r имя_файла_виртуального_диска номер_партиции_виртуального_диска /dev/nbX

После запуска vmware-loop останется активной в текущем окне терминале, ожидая нажатия Ctrl+C. Теперь в другом окне можно запустить mount:


mount -t файловая_система /dev/nbX точка_монтирования

В моем примере, можно использовать такую команду:


mount -t vfat /dev/nb0 /mnt/vmware

Обрати внимание: каталог, к которому ты монтируешь устройство, должен существовать. Остальные опции команды mount ты можешь посмотреть, набрав man mount.

Теперь перейди в каталог, являющийся точкой мотирования, и можешь копировать с диска и на диск что хочешь и чем хочешь...:)

После этого нужно отмонтировать виртуальный диск командой:


umount точка_монтирования

В моем примере:


umount /mnt/vmware

Теперь надо перейти в то окно терминала, в котором запущен vmware-loop и нажать Ctrl+C.

Программа vmware-loop позволяет также просмотреть информацию о партициях виртуального диска.


vmware-loop -p имя_файла_виртуального_диска

В моем примере:


vmware-loop -p /home/vmware/win98/win98.dsk

Для автоматизации всего этого процесса (связывания с NBD и монтирования) служит скрипт vmware-mount.pl, также входящий в поставку VMWare. Вызывается он следующим образом:


vmware-mount.pl имя_файла_виртуального_диска номер_партиции точка_монтирования

Применительно к моему примеру:


vmware-mount.pl /home/vmware/win98/win98.dsk 1 /mnt/vmware

Скрипт пытается автоматически определить файловую систему монтируемой партиции. Если это не удается, можно воспользоваться ключом -t:


vmware-mount.pl имя_файла_виртуального_диска номер_партиции -t тип_файловой_системы точка_монтирования

После выполнения всех необходимых операций скрипт остается активным в своем окне терминала и сообщает о том, что для выхода из него нужно нажать Ctrl+C. При нажатии Ctrl+C происходит отмонтирование виртуального диска и разрыв связи с NDB-устройством.

При запуске vmware-loop (соответственно и vmware-mount.pl) блокирует файл виртуального диска, запрещая запись и чтение. Из-за этого запуск виртуальной машины, использующей этот диск невозможен. Также нельзя связать с NBD-устройством файл виртуального диска, который занят запущенной виртуальной машиной.

Подробнее о VMWare


(c)Ерижоков А.А., 2000.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника: DH's Linux Site




      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP