[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Операционные системы / Linux /

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

Ерижоков А.А.

Иногда возникает потребность списать что-нибудь с виртуального диска, созданного под 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-устройством файл виртуального диска, который занят запущенной виртуальной машиной.





Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Операционные системы / Linux /

Linux - начало
28-05-2010   

Пользователь, поставивший Linux тут же задается вопросом: “А что дальше?”. Сейчас я постараюсь ответить на этот вопрос. Итак, с первой задачей, установкой системы, вы видимо уже справились... подробнее

Кол. просмотров: общее - 3476 сегодня - 3

Консольные команды
28-05-2010   

Итак, Linux, операционная система, где консоль играет наиважнейшую роль. Есть масса людей, которые и вовсе не ставят Х-сервер и работают на черном экранчике с белыми буквами (на самом деле консоль можно модернизировать, так что и KDE позавидует:))... подробнее

Кол. просмотров: общее - 3391 сегодня - 1

Оффис в Linux
28-05-2010   

Оффисные приложения в операционной системе Linux развиты на сегодняшний день достаточно чтобы полностью заменить оные в Винде. И это не шутка! Офис в Linux ничуть не уступает своему конкуренту от Microsoft... подробнее

Кол. просмотров: общее - 3246 сегодня - 1

Мультимедиа возможности пингвина
28-05-2010   

Сегодня Linux уже не просто консоль – пингвин обладает на данный момент массой великолепных графических оболочек. При этом естественно и мультимедиа возможности Линукса тоже сильны... подробнее

Кол. просмотров: общее - 3402 сегодня - 1

Интернет и Linux
27-05-2010   

О как близки два этих понятия! Интернет и Линукс. Линукс великолепно подходит вам если вы хотите серфить глобальные просторы интренет. В “пингвине” можно найти все... подробнее

Кол. просмотров: общее - 3351 сегодня - 1



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects