Как отличить виртуальный диск от физического
Виртуальной машиной (англ. virtual machine) называют программную или аппаратную среду, исполняющую некоторый код или спецификацию такой системы.
Виртуальная машина ( в дальнейшем ВМ) – это полностью изолированный программный контейнер, способный выполнять собственную операционную систему и приложения, как физический компьютер. Виртуальная машина работает абсолютно так же, как физический компьютер, и содержит собственные виртуальные (т.е. программные) ЦП, ОЗУ, жесткий диск и сетевую интерфейсную карту (NIC).
Операционная система, приложения и другие компьютеры в сети не способны отличить виртуальную машину от физического компьютера. Даже сама виртуальная машина считает себя материально существующим компьютером. Тем не менее, он состоит исключительно из программного обеспечения и абсолютно не содержит аппаратных компонентов. Поэтому виртуальные машины обладают рядом существенных преимуществ по сравнению с физическими серверами.
Зачастую виртуальная машина эмулирует работу реального компьютера. На виртуальную машину, так же как и на реальный компьютер можно инсталлировать операционную систему, у виртуальной машины так же есть BIOS, оперативная память, жёсткий диск (выделенное место на жёстком диске реального компьютера), могут эмулироваться периферийные устройства. На одном компьютере может функционировать несколько виртуальных машин.
Многим по тем или иным причинам приходится использовать виртуальные машины. Здесь будут рассмотрены самые известные и основные. Более подробный список видов виртуальных машин Вы можете посмотреть здесь
- для защиты информации и ограничения возможностей процессов
- для исследования нового ПО или новой компьютерной архитектуры
- для эмуляции различных архитектур (например, эмулятор игровой приставки)
- с целью оптимизации использования ресурсов мэйнфреймов и прочих мощных компьютеров (например, IBM eServer (англ.))
- для изучения различных вирусов и метеодов борьбы с ними
- VMware
- VirtualBox
- Microsoft VirtualPC
Программа, позволяющая создавать и запускать одновременно несколько Виртуальных Машин (x86-архитектуры), в каждой из которых работает своя гостевая операционная система (например, Microsoft Windows, GNU/Linux и т. п.).
- Установите VMWare и запустите программу. В первом же окне выберите опцию создания новой виртуальной машины.
-На первом шаге кликните Next. Когда увидите следующее окно,
выбирайте Typical (обычную) конфигурацию и жмите Next.
-Выберите операционную систему из списка предложеных, которую вы планируете установить на виртуальную машину.
-На следующем шаге вы можете выбрать имя виртуальной машины и расположение ее файлов. Можно оставить значения по умолчанию.
-Конфигурация сети зависит от ваших обстоятельств. Я выбираю "Use Network Address Translation (NAT)", т.к. у меня нет LAN, подключение к сети Интернет осуществляется через Dial-up. При таком варианте если хост подключен, то и клиент может выходить в Интернет. Если вы выберете "Bridged Networking", то это равносильно созданию двух отдельных компьютеров с уникальным IP адресом для каждого из них. Иными словами, вам нужно будет назначить клиенту собственный IP адрес. Более подробно можно узнать в теме про сети.
-На следующем шаге вам нужно выбрать размер виртуального жесткого диска. Фактически, это файл на вашем жестком диске с максимальным размером, который вы укажете на данном этапе. Однако, клиент будет видеть его сразу таким, как вы укажете. Иными словами, если вы выберете размер в 4Гб, то виртуальная машина будет "думать", что размер ее жесткого диска 4Гб. На реальном жестком диске размер файла будет зависеть от размера всех файлов на виртуальном диске, но он будет не более 4Гб. Замечу, что 4Гб более чем адекватно для тестирования автоматической установки. Рекомендация Alanoll отметить чекбокс "Allocate all disk space now" (Выделить все дисковое пространство сейчас), достаточно полезна т.к. это увеличит быстродействие виртуальной машины. Но это советшенно не обязательно. Можете оставить по умолчанию ли изменить по своему усмотрению.
Eсли вы отметили чекбокс "Allocate all disk space now", то VMWare попросит подтвердить решение. Нажмите Yes.
-На этом мастер конфигурации завершает свою работу, и вы попадаете в главное окно VMWare. Конфигурирование, однако, на этом не заканчивается.
Осталось проделать всего пару манипуляций и настроить загрузку VMWare с ISO образа или CD-ROMa. Нажмите "Edit Virtual Machine Settings" слева. Вы увидите окно аналогичное такому:
-Кликните на "CD-ROM" слева, а справа выберите опцию "Use ISO image". Найдите загрузочный ISO образ, который вы хотите использовать или отметьте Use physical drive если хотите использовать Ваш физический привод и нажмите OK, чтобы вернуться к главному окну.
Kликните на кнопку с зеленой стрелкой наверху для запуска виртуальной машины. Теперь все должно работать так, как будто перед вами реальная машина.
Возможна следующая ситуация. Вы настроили загрузку с ISO, но при запуске виртуальной машины не появляется надпись "Press any key to boot from CD. ", и машина не загружается с CD. В таком случае надо выставить загрузку с CD-ROM в BIOS, точно также как на обычной машине. Перезапустите виртуальную машину и нажмите F2. Вы должны войти в настройки BIOS виртуальной машины.
В BIOS'e настройте загрузку с CD-ROM, сохраните настройки"Exit Saving Changes" и жмите Enter. Подтвердите запрос на изменение настроек, и виртуальная машина перезагрузится с новыми настройками.
Программный продукт виртуализации для операционных систем Microsoft Windows, DOS, GNU/Linux, Mac OS X и SUN Solaris/OpenSolaris. полнофункциональная версия для личного использования распространяется бесплатно.
- Кроссплатформенность
- Модульность
- Поддержка USB 2.0, когда устройства хост-машины становятся доступными для гостевых ОС (только в проприетарной версии)
- Поддержка 64-битных гостевых систем (только на 64-битных хост-системах)
- Встроенный RDP-сервер, а также поддержка клиентских USB-устройств поверх протокола RDP (только в проприетарной версии)
- Экспериментальная поддержка образов жестких дисков VMDK/VMware
- Поддержка iSCSI (только в проприетарной версии)
- Поддержка виртуализации аудиоустройств
- Поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal)
- Поддержка дерева сохраненных состояний виртуальной машины (snapshots), к которым может быть произведен откат из любого состояния гостевой системы
- Поддержка Shared Folders для простого обмена файлами между хостовой и гостевой системами
Установите программу и запустите её. Установка VirtualBox не вызывает никаких затруднений.
Создадим ВМ
-Запускаем программу. Нам доступен только один пункт -"Создать".
-Жмем его. Появится Мастер создания новой ВМ. Нажимаем кнопку - "Далее". Здесь мы вибираем тип будушей ОС и даем название ВМ.
-Следующим пунктом является определение количества оперативной памяти, выделяемой для ВМ. Программа определяет минимальное значение, но при возможности его желательно увеличить.
-Далее создаем жесткий диск для будущей ОС. Жмем кнопку "Создать. "
Я рекомендую выбирать "Динамически расширяющийся образ" т.к. Вы не всегда можете предпологать сколько потребуется места для Ос на ВМ.
Определяем размер будущего диска. Программа сама предложит вам оптимальный размер, но Вы можете выставить его по своему желанию. Меньше рекомендуемого ставит не желательно.
-Выбрав только что созданый "Загрузочный жесткий диск" нажимаем кнопку Далее. Виртуальная машина создана. Готово.
Приступим к настройке ВМ.
Найдите загрузочный ISO образ, который вы хотите использовать или отметьте "Физический CD/DVD-дисковод" если хотите использовать Ваш физический привод.
-Аудио. Если Вы планируете использовать звук на ВМ то отметьте галочку
"Включить аудио" и выбирете аудиодрайвер и аудиоконтролер.
-USB. Отмечаем "Включить контролер USB/USB2.0 если Вы собираетесь использовать USB-флешки и клавиатуры и мыши.
Корпорация Microsoft разрабатывала программу Microsoft Virtual PC 2007 не в последнюю очередь с целью предоставления возможности работы с Windows Vista в качестве гостевой операционной системы, это программный пакет виртуализации для операционной системы Windows, а также программа эмуляции для Apple Mac OS.
Установка программы производилась в операционной системе Windows Vista HomePremium.
Программа Virtual PC 2007 упакована в пакет установщика Windows (MSI-файл), поэтому установка не должна вызвать особых затруднений.
После завершения установки запустите программу Virtual PC 2007. При первом запуске должно появится окно мастера создания виртуальной машины. Если мастер не запустился, нажмите кнопку New в окне Virtual PC Console.
В окне приветствия мастера нажмите кнопку Next. Откроется окно
Установите переключатель в положение Create a virtual machine и нажмите кнопку Next.
Укажите имя файла виртуальной машины и путь к нему.
Выберите из раскрывающегося списка операционную систему, которую вы планируете установить на виртуальную машину.
Вы можете указать, сколько оперативной памяти будет доступно для виртуальной машины. Вы можете ввести требуемое значение с клавиатуры или передвинуть ползунок. По умолчанию предлагается выделить рекомендуемые 512 Мб, однако для Windows Vista я решил выделить чуть больше.
Следующим шагом будет создание виртуального жесткого диска или указание существующего. Установите переключатель в положение A new virtual hard disk, если вы хотите создать новый виртуальный диск.
Укажите имя файла для виртуального жесткого диска и папку, в которой он будет храниться. Вы можете воспользоваться кнопкой Browse для удобства навигации. Затем укажите желаемый размер виртуального жесткого диска. Для Windows Vista потребуется диск размером не менее 8 Гб. По умолчанию программа Virtual PC 2007 создает виртуальный диск, который будет автоматически расширен, если гостевой операционной системе потребуется больше места, чем было выделено первоначально.
На этом первоначальную настройку виртуальной машины можно считать завершенной. В общем случае, сконфигурированных параметров должно быть достаточно для успешной установки операционной системы на виртуальную машину. Об этом вкратце речь пойдет ниже.
В окне Virtual PC Console нажмите кнопку Start для запуска виртуальной машины. Когда откроется окно виртуальной машины, перетащите в него мышью ISO-образ операционной системы, который будет использован в качестве загрузочного диска.
Вы также можете выбрать из меню CD команду Capture ISO Image и указать программе ISO-образ, который вы хотите использовать, как показано на рисунке ниже.
Если все сделано правильно, должна начаться установка операционной системы.
Хотелось бы отметить, что после установки Windows Vista на виртуальную машину Microsoft Virtual PC 2007 не потребовалось производить дополнительные настройки сетевых подключений. С выходом в Интернет в гостевой операционной системе не возникло никаких проблем.
Дополнительные параметры виртуальной машины вы всегда можете сконфигурировать, нажав кнопку Settings в окне Virtual PC Console. Откроется окно настроек, как показано на рисунке ниже.
На мой взгляд самая дельная для рядового пользователя это VirtualBox. Самая доступная и простая в использовании виртуальная машина. Жаль, что для openSUSE 11 пока не доработана.
Угу. Раньше все аппаратное ускорение сводилось к тому, что виртуальная Винда не так сильно тормозила при сворачивании\разворачивании окошек и т.п. эффектов. Теперь же появилась поддержка Direct3D. Я даже в GTA: Vice City поиграл там. Производительность где-то на уровне GeForce FX5200
Получается, что нормальная видеокарта только в VMware? А то поставил VirtualBox и Microsoft Virtual PC, там не получается игру запусть. (Простой Квест или что-то типо Casual, тоже не получается.)
А то поставил VirtualBox и Microsoft Virtual PC, там не получается игру запусть. (Простой Квест или что-то типо Casual, тоже не получается.)
Виртуальный диск то есть операционная система думает, будто у вас есть настоящий диск, а на деле это все подстава, он виртуальный, программа создает.
Если вы их сами не создавали, значит их нет.
Что такое виртуальный диск и зачем он нужен
У большинства пользователей компьютера со временем накапливается большое количество оптических дисков, которые занимают много места. Поиск среди них диска с нужной информацией отнимает много времени, а при интенсивном перекладывании с места на место CD/DVD быстро приходят в негодность, что приводит к потере данных.
Проблему можно решить путем установки в компьютер жесткого диска или SSD достаточной емкости, который сможет хранить всю необходимую пользователю информацию. В этом случае оптические диски можно убрать с глаз долой в укромное местечко и хранить их только в качестве резерва для аварийного восстановления данных.
Но иногда не достаточно просто скопировать файлы с оптического носителя на жесткий диск. Например, некоторые игры или программы без наличия лицензионного CD или DVD не запускаются. Перед запуском они обязательно проверяют присутствие в дисководе оптического диска соответствующей структуры. Разработчики этих игр и программ сознательно делают это с целью содействия реализации большего количества лицензионных дисков, распространения рекламы, присутствующей в их авторане, и др. Заменить такой диск сможет только максимально точная копия. Но эта копия не обязательно должна быть записана на оптический диск. При помощи определенных программ ее можно сохранить на жестком диске в виде специального файла-контейнера, который называется образом диска или виртуальным диском.
Упомянутые программы, как правило, также позволяют создавать на компьютере дополнительный виртуальный оптический привод (или несколько при необходимости), в который можно виртуально „вставлять” записанные на жесткий диск образы дисков. При этом компьютер будет воспринимать виртуальные привод и диск, находящийся в нем, как реальные.
Образы дисков могут использоваться и во многих других случаях. Например, Вы на непродолжительное время одолжили у кого-то несколько дисков с играми, фильмами, программами и др. Есть желание сделать себе копии, но, как на зло, чистых оптических дисков в данный момент у вас нет. Можно создать образы этих дисков на жестком диске компьютера и записать их на чистые диски позже. При этом, вы получите максимально точные их копии.
В общем, виртуальные диски – это очень удобно и практично. Уверен, что разобравшись с принципом их работы, Вы сами придумаете много способов их применения.
Образ диска может сохраняться на жестком диске в виде файлов различных форматов (расширений): ISO, NRG, MDS, CCD, BIN/CUE, CDI, BWT, B5T и др. Каждый из форматов имеет свои плюсы и минусы. Самым универсальным и наиболее распространенным является формат ISO.
Существует много как «специализированных» программ для работы с образами дисков (Alcohol 120%, Ultra Iso и др.), так и комплексов утилит (например, Nero), содержащих соответствующие инструменты.
Чтобы начинающим пользователям проще было освоить работу с образами дисков, предлагаю рассмотреть порядок создания и использования виртуальных дисков при помощи программы Daemon Tools Lite.
виртуальный диск создается программой допустим DAEMON Tools Lite. это нужно для того чтобы допустим установить игру но сначала записать на чистый диск. Кароч чтоб не покупать болванку для записи обойти её.
а как узнать что сейчас они есть виртуальные диски ведь я же не знаю есть ли они) не мой компьютер мне просто кто то говорил про них)
Алексей Курмачев Гуру (3994) а вы запустите ярлык мой компьютер. там указываются диски. и там же дисководы обычно пишется виртуальный дисковод. если больше одного дисковода значит другой виртуальный.
Обычные CD/DVD-диски, как бы это не было печально, год от года теряют свою популярность (раньше вообще их продавали на каждом углу 👀). Все-таки развитие сетевых технологий делает свое дело.
Меж тем, есть другая сторона медали — огромную популярность сейчас получили, так называемые, виртуальные диски — отдельный файл(ы), сделанный на основе точной копии физического CD/DVD-диска. Их еще называют образами .
Самые популярные форматы образов: ISO, BIN, MDS/MDF, NRG, CCD. Кстати, сейчас множество файлов по сети передается именно в образах (например, даже чтобы создать загрузочную флешку с Windows — нужно сначала с сайта Microsoft скачать установочный образ с системой).
Просто так такой образ не открыть, необходим (как вы догадались) специальный виртуальный дисковод (или привод. Также их называют эмуляторами CD/DVD).
Итак, приступим.
Самые популярные вопросы по работе с виртуальными дисками
❺. Какие еще программы можно использовать для работы и чтения образов
Alcohol 120%
Alcohol 120% - главное окно программы
Alcohol 120% — отличная и очень мощная программа для работы с образами. Делает всё: создает образы, монтирует их в виртуальные приводы, записывает, создает библиотеку у вас на ПК (для их быстрого поиска и чтения).
Программа хоть и платная, но есть пробный бесплатный период в 15 дней (а есть и бесплатная версия, с урезанными возможностями). В общем, рекомендую к ознакомлению!
- создание до 31 виртуального привода;
- создание образов дисков (поддержка форматов: MDF/MDS, CCD, BIN/CUE, ISO, CDI, и др.);
- запись из образов дисков: CD, DVD и Blu-ray;
- стирание дисков: CD-RW, DVD-RW и BD-RE;
- поиск и создание библиотеки из файлов-образов на жестком диске ПК;
- наличие аудио-конвертера для работы с аудиодисками.
Ultra ISO
Ultra ISO - главное окно программы. Запуск мастера записи образа
Очень мощная программа для работы с ISO-образами. Позволяет их создавать с реальных дисков, записывать, эмулировать в виртуальном приводе, и, самое главное — редактировать на лету.
Т.е. вы можете открыть ISO-образ, удалить из него ненужный файл (или добавить) и сохранить образ. Собственно, делается это очень быстро!
Кроме этого, программа поможет создать загрузочный (установочный) диск, флешку. Можно также попытаться сжать текущие ISO-образы и пр. В общем, всем, кто работает с ISO — рекомендую обязательно иметь ее у себя на ПК.
Burn4Free
Burn4Free - главное окно программы
Очень надежная и простая программа для работы с CD/DVD-дисками. Позволяет выполнять практически весь спектр задач, который может потребоваться среднестатистическому пользователю ПК. При всем при этом, занимает очень мало места на жестком диске (несколько мегабайт!).
- запись CD/DVD дисков в несколько кликов мышкой;
- программа очень легкая и простая, дизайн выполнен в стиле минимализм;
- можно копировать аудиодиски различных форматов (WAV, FLAC, WavPack, WMA и пр.);
- поддержка SCSI - IDE/EIDE - SATA - USB;
- поддержка русского языка;
- создание и запись образов ISO;
- возможность записи MP3-дисков;
- поддержка всех версий Windows: 10, 8, 7, Vista, 2008, 2003, XP, 2000, 98;
- поддержка большинства моделей приводов (более 4000!).
В общем-то, от себя добавлю, что эта программа работала даже в тех случаях, когда ее аналоги отказывались либо запускаться, либо видеть привод. Рекомендую иметь у себя в арсенале всем, кто часто работает с ISO или с оптическими дисками.
Virtual Clone Drive
Virtual Clone Drive - окно настроек привода
Эта программа бесплатна и предназначена для создания виртуального дисковода. Программа очень проста, и надежна. Поддерживает до 15 виртуальных дисководов, полностью интегрируется в проводник Windows, для более простой и быстрый работы.
В общем-то, по сравнению со многими аналогичными программами этого спектра, она заметно выделяется. Рекомендую к ознакомлению.
Не каждому хочется, чтобы его, кхм, новый текстовый редактор какие-нибудь неприятные дядьки исследовали под виртуальной машиной. Детект виртуалок — обязательный функционал определенного рода софта, и поэтому наша рубрика ну совершенно никак не может обойтись без обзора соответствующих способов!
Во-первых, любая виртуальная машина несет на своем борту какое-нибудь специфическое оборудование. Это касается видеоадаптера, жесткого диска, идентификатора процессора, версии BIOS, MAC-адреса сетевой карты.
Во-вторых, виртуальные машины оставляют следы в системе в виде запущенных вспомогательных процессов, драйверов и других специфических объектов.
В-третьих, если как следует покопаться в реестре виртуальной машины, там можно найти много всяких интересных ключей, характерных только для виртуальных машин.
Ну и в-четвертых, некоторые производители специально оставляют возможности, позволяющие обнаружить их продукты.
Что же касается общих признаков наличия виртуальной машины, предложенных в свое время госпожой Рутковской (характерное расположение таблиц IDT, GDT и LDT, а также время выполнения операций процессором), то в настоящий момент все эти признаки трудно поддаются анализу и приведению к какому-нибудь общему знаменателю, главным образом из-за многоядерности и многоликости современных процессоров.
Начнем, пожалуй, с жесткого диска. Если посмотреть идентификатор жесткого диска в диспетчере устройств на виртуальной машине, то в его составе можно увидеть интересные строчки:
Самый простой способ узнать наименование жесткого диска — прочитать значение ключа с именем «0» в ветке реестра HKLMHARDWARESYSTEMCurrentControlSetServicesDiskEnum.
В этом месте перечисляются все дисковые накопители в системе, и первым, как раз в ключе с именем «0», будет тот диск, с которого произошла загрузка системы.
Идентификатор жесткого диска VirtualBox в реестре
Другие статьи в выпуске:
Как читать реестр, я думаю, ты знаешь. Используем сначала API RegOpenKeyEx для открытия нужного ключа, далее с помощью RegQueryValueEx читаем значение. Выглядеть это должно примерно вот так:
Далее все просто — используем strstr для поиска нужных нам строк в считанном значении и, в зависимости от результата сравнения, делаем вывод. Версия BIOS содержится в ключе «SystemProductName» в ветке HKLMHARDWAREDESCRIPTIONSystemBIOS. К примеру, для VMware там будет лежать строка «VMware Virtual Platform», а для VirtualBox — «VBOX –1».
Прочитать это все можно с помощью все тех же API — RegOpenKeyEx и RegQueryValueEx.
Версия BIOS Parallels Workstation в реестре
Данные о видеоадаптере можно подглядеть в HKLMSystemCarrentControlSetEnumPCI. В этой ветке перечислено все, что подключено к шине PCI, в том числе и видеокарта. Для VirtualPC это строчка вида VEN_5333&DEV_8811&SUBSYS_00000000&REV_00, которая определяет видеоадаптер S3 Trio 32/64, эмулируемый виртуалкой от Microsoft — на реальном железе такое оборудование нынче днем с огнем не сыскать (а у меня такая была в конце прошлого века. — Прим. ред.). Для VirtualBox видеокарта описана последовательностью VEN_80EE&DEV_BEEF&SUBSYS_00000000&REV_00, что расшифровывается как «VirtualBox Display», а у Parallels Workstation — строка VEN_1AB8&DEV_4005&SUBSYS_04001AB8&REV_00 определяет видеоадаптер «Parallels Display».
Помимо этого, в VirtualBox можно найти строку VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00, определяющую некий «VirtualBox Device», а у Parallels Workstation строки VEN_1AB8&DEV_4000&SUBSYS_04001AB8&REV_00 и VEN_1AB8&DEV_4006&SUBSYS_04061AB8&REV_00, определяющие «Parallels Tools Device» и «Parallels Memory Controller» соответственно.
Алгоритм действий следующий: пытаемся открыть нужный нам ключ, и если он открывается успешно, то оборудование, описанное этим ключом, в наличии и можно делать вывод о присутствии какой-либо виртуальной машины:
Идентификатор процессора определяется с помощью команды cpuid. Благодаря ей можно получить много всякой полезной информации об установленном процессоре. Вид выдаваемой этой командой информации зависит от содержимого регистра EAX. Результат работы команды записывается в регистры EBX, ECX и EDX. Подробно про эту команду можно почитать в любой книге по программированию на ассемблере. Для наших целей мы будем использовать эту инструкцию, предварительно положив в регистр EAX значение 0x40000000:
После выполнения этого кода на VMware Workstation в переменных ID_1, ID_2 и ID_3 будут записаны значения 0x61774d56, 0x4d566572 и 0x65726177 соответственно (в символьном представлении это не что иное, как «VMwareVMware»), на VirtualBox в ID_1 и в ID_2 будет лежать значение 0x00000340, а на Parallels Workstation в ID_1 0x70726c20, в ID_2 — 0x68797065 и в ID_3 — 0x72762020 (что соответствует строке «prl hyperv»).
Использование MAC-адреса для идентификации производителя сетевой карты, конечно, не самый надежный способ (ибо MAC-адрес довольно-таки просто поменять), но тем не менее его вполне можно применить для детекта виртуальных машин в качестве дополнительной проверки.
Ты наверняка знаешь, что первые три байта MAC-адреса сетевой карты определяют ее производителя. Производители виртуальных машин в этом плане не исключение:
Вытащить эти первые три байта из MAC-адреса нам поможет API-функция GetAdaptersInfo:
Для нормальной работы практически все виртуальные машины требуют установки дополнений к гостевой операционной системе, например VBoxGuestAddition для VirtualBox или Parallels Tools для Parallels Workstation. Без этих дополнений работа с виртуальной машиной несколько затруднительна (ни тебе нормального разрешения экрана и полноэкранного режима, ни взаимодействия с USB-девайсами, ни нормальной настройки сетевых подключений). В общем, все производители виртуалок не рекомендуют использовать их без этих дополнений. А эти самые дополнения оставляют очень заметный след в виде запущенных процессов:
Для поиска процесса по имени мы воспользуемся функциями CreateToolhelp32Snapshot, Process32First и Process32Next:
Помимо непосредственно самих процессов, демаскирующим признаком могут стать окна, открытые этими процессами. Окон в каждой из рассматриваемых виртуальных машин может быть довольно много, и все их мы перечислять не будем, а ограничимся одним или двумя. Итак:
Открытые окна для VMware (красным выделено окно класса VMSwitchUserControlClass)
Найти окно по имени класса очень просто — для этого есть функция FindWindow:
Помимо процессов и окон, указывающих на наличие ВМ, можно найти и другие «подозрительные» объекты — например, если покопаться в гостевой ОС виртуальной машины утилитой WinObj или какой-нибудь аналогичной, то можно найти вот такие объекты:
«Подозрительные» объекты в VirtualBox
Проверить наличие «подозрительного» объекта очень просто, достаточно попытаться открыть его с помощью CreateFile:
Помимо признаков наличия специфического оборудования, в реестре можно увидеть и другие следы, оставляемые виртуальными машинами. Некоторые из них базируются в ветке HKLMHARDWAREACPIDSDT. Достаточно в этом месте проверить наличие таких вот ключей:
Проверку реализуем так же, как мы проверяли наличие определенного оборудования. Просто делаем попытку открыть нужный нам ключ и, в случае успеха, делаем вывод о наличии ВМ.
Ключ PRLS__ в реестре Parallels Workstation
Некоторые производители (в частности, VMware и Microsoft) специально реализуют возможности управления своими продуктами, которые можно использовать для наших целей.
В Virtual PC используются инвалидные (не «инвалидные», а «альтернативно одаренные». И вообще-то они «недействительные». — Прим. ред.) команды процессора с опкодами 0x0F, 0x3F, 0x07 и 0x0B, попытка выполнения которых на реальном процессоре вызовет исключение, в то время как на Virtual PC все пройдет нормально. С помощью этих команд можно достаточно просто задетектить виртуалку от Microsoft:
В VMware Workstation для взаимодействия гостевой и основной ОС реализован небольшой бэкдор в виде порта с номером 0x5658. Для его использования необходимо в EAX положить «магическое» число 0x564d5868 (в символьном представлении — «VMXh»), а в ECX записать одну из команд взаимодействия гостевой и основной ОС (например, команда 0x0A возвращает версию установленной VMware Workstation). Короче, выглядит все это приблизительно так:
Как видишь, признаков, характерных для виртуальных машин, предостаточно, и для того, чтобы их увидеть, сильно глубоко копать совсем не нужно.
Как я уже обещал – продолжаю «евангелировать» и пишу очередную статью про Hyper-V. На этот раз речь пойдет о работе Hyper-V с устройствами хранения данных – сиречь жесткими дисками и всякими внешними СХД.
Где виртуальные машины могут хранить данные?
Диски виртуальных машин могут храниться как на локальных жестких дисках сервера, так и на внешних СХД (SAN).
На схеме используется DAS. На диске Disk2, смонтированном в хостовой системе как диск Y:, создан файл VM1.vhd, который, в свою очередь, смонтирован в виртуальной машине и используется ей в качестве диска C:. А Disk3 подключается к виртуальной машине напрямую, и в гостевой ОС с ним можно работать как с диском D:. В хостовой же ОС Disk3 находится в состоянии Offline, и зайти на него не получится.
Посмотрим теперь, какие варианты имеются при использовании SAN.
Самый «классический» вариант – LUN 1 презентуется серверу, монтируется в хостовой ОС, к примеру, как диск Z:, на нем уже создается VHD, который, в свою очередь, используется виртуальной машиной. Примерно как в сказке – «игла в яйце, яйцо в утке, утка в зайце, и т.д.».
Второй вариант – LUN 2 презентуется серверу, но в хостовой ОС он не монтируется, а подключается как pass-through-диск к виртуальной машине.
Кроме этого, если SAN построена на базе протокола iSCSI – LUN может быть смонтирован внутри виртуальной машины с помощью программного iSCSI-инициатора, запущенного внутри гостевой ОС. К сожалению, FibreChannel-LUN’ы присоединить подобным образом не получится – в Hyper-V нет виртуального FC-HBA.
Виртуальные контроллеры
Итак, начнем с того, что виртуальная машина, точно так же, как и настоящий компьютер, имеет свои виртуальные жесткие диски и виртуальные контроллеры жестких дисков. Контроллеры эти бывают всего двух типов: IDE и SCSI. В чем же разница между ними?
Во-первых, в отличие от IDE, SCSI-контроллер является полностью синтетическим устройством, и потому для своей работы требует установки компонент интеграции. Поэтому использовать его можно лишь в тех гостевых ОС, которые их поддерживают (напоминаю, что это – только MS Windows, а так же RHEL и SLES). По этой же причине гостевая операционная система может загружаться только с IDE-устройства. Основным отличием между виртуальными IDE и SCSI-контроллерами является количество устройств, способных через этот контроллер работать. IDE-контроллеров в виртуальной машине может быть два, и к каждому может быть подключено максимум по два виртуальных диска. SCSI-контроллеров может быть четыре, и к каждому контроллеру можно подключить до 64 виртуальных дисков, то есть всего виртуальная машина может иметь 260 виртуальных дисков (4 IDE + 4*64 SCSI). Надо так же помнить, что хотя реальные SCSI-диски работают быстрее, чем IDE — это не совсем верно для виртуальной среды. В среде Hyper-V R2 при установленных компонентах интеграции виртуальные IDE- и SCSI-диски работают одинаково быстро, и производительность определяется только физической дисковой подсистемой.
Виртуальные диски
Посмотрим теперь, какими могут быть сами жесткие диски у виртуальных машин. Начнем с того, что Hyper-V поддерживает как виртуальные жесткие диски, представляемые в виде файлов .VHD, так и прямое подключение дисков к виртуальной машине (так называемые pass-through-диски).
Виртуальные диски представляют из себя файлы особого формата (VHD). Формат этот первоначально был разработан компанией Connectix, а затем, после приобретения оной корпорацией Microsoft – начал использоваться в продуктах виртуализации от MS – VirtualPC, Virtual Server, а ныне – Hyper-V. На данный момент, в ОС Windows 7 и Windows Server 2008 R2 файлы VHD поддерживаются на уровне ОС и могут монтироваться в самой системе как диски. Более того, сама ОС может быть установлена на VHD и загружаться с него. Формат VHD в настоящее время полностью открыт, и существует множество стороннего ПО (например, от компании Paragon), позволяющая работать с VHD, а так же диски VHD поддерживаются в некоторых продуктах Citrix. Виртуальные диски бывают трех типов: фиксированного размера, динамические и дифференциальные.
Динамические виртуальные диски представляют из себя VHD-файл, который увеличивается в размере по мере записи на него. Динамический диск в процессе работы может быть сжат за счет удаления неиспользуемых блоков, которые остаются при удалении данных с VHD. Использование динамических дисков позволяет наиболее рационально использовать дисковое пространство, но использовать их в production-среде не рекомендуется из-за возможного падения производительности.
Виртуальные диски фиксированного размера представляют собой файл, содержащий набор блоков, представляемый виртуальной машине в качестве диска. Размер виртуального диска задается при его создании, и на жестком диске сервера создается файл VHD соответствующего размера. Процесс создания может занять некоторое время, в зависимости от размера диска. Использование дисков фиксированного размера предпочтительней, чем динамических по двум причинам. Во-первых, поскольку динамический диск расширяется постепенно, VHD-файл может фрагментироваться, что повлияет на производительность. VHD фиксированного размера сразу же занимает все необходимое ему пространство, и потому не фрагментируется в процессе работы. Во-вторых, может сложиться ситуация, что место на физическом диске закончится, и динамическим дискам будет некуда «расти», и это может привести к сбоям в работе виртуальных машин.
Дифференциальный диск — всегда имеет «родительский» VHD. Чтение при этом может осуществляться как с «родительского», так и с самого дифференциального VHD, но запись идет только в дифференциальный VHD, «родительский» остается при этом без изменений. Таковы, например, AVHD-диски, создаваемые при снапшотах виртуальной машины. Подробнее о снапшотах – см. мою предыдущую статью. Так же дифференциальные VHD можно использовать в тестовой среде, когда необходимо поднять несколько виртуальных машин с примерно одинаковым содержимым жестких дисков (к примеру – с установленной ОС). Использовать дифференциальные диски в production-среде не рекомендуется во-первых из-за снижения производительности (вместо чтения из одного VHD приходится читать из нескольких), а во-вторых – из-за снижения надежности (повреждение родительского VHD приводит к повреждению всех дифференциальных).
Максимальный размер виртуальных дисков, как фиксированных, так и динамических, равен 2 терабайтам (или 2040 гигабайтам).
Pass-through-диски – это подключение физических дисков напрямую к виртуальной машине без создания VHD-файлов. Это могут быть как разделы на локальных жестких дисках, так и презентованный серверу LUN от внешней системы хранения (SAN). Для хостовой же ОС диск, после монтирования к виртуальной машине, переходит в состояние «Offline», то есть прямой доступ к диску прекращается. В качестве pass-through-дисков не могут использоваться примонтированные VHD, а так же они не поддерживают снапшоты на уровне виртуальных машин.
Размер pass-through-дисков не ограничен 2 терабайтами.
Иногда возникают вопросы: что же лучше использовать – VHD или pass-through-диски? Некоторые считают, что VHD работают медленнее, но это неправда. Исследования показали, что в Winodws Server 2008 R2 VHD и pass-through-диски работают с одинаковой скоростью. Подробнее о замерах можно почитать официальный документ.
На этом я пожалуй закончу, следующая статья будет рассказывать о работе виртуальных машин с сетью. Если будут какие-либо вопросы по теме статьи — как обычно, милости прошу в комментарии.
❹. Как записать образ на физический CD/DVD-диск
Daemon Tools, конечно, может записывать образы на физические диски, но эта функция доступна только в платной версии программы. Поэтому, лучше воспользоваться аналогами, тем более что в этом сегменте хватает и бесплатных версий.
Лично я рекомендую остановиться на CDBurnerXP — "маленькой", но достаточно многофункциональной программе для записи CD/DVD дисков.
Почему не Nero? Потому, что Nero пакет платный, весит несколько гигабайт, очень "тормозной" и неповоротливый. Едва ли многие будут использовать хотя бы десятую часть его функций (не говоря уже о том, что большинству нужно просто записать диск и всё. ).
CDBurnerXP
CDBurnerXP — бесплатная программа для записи CD и DVD-дисков, включая, Blu-Ray и HD-DVD. Также программа отлично работает с ISO-образами, позволяя не только их создавать, но из записывать на физические диски. Программа поддерживает десятки языков (включая русский). Работает в Windows XP/7/8/9/10.
- вести запись данных (файлы, документы, картинки и пр.) на любые типы дисков;
- запись аудиодисков;
- создание и запись ISO-образов;
- создание загрузочных (установочных) дисков;
- конвертер BIN/NRG-образов → в ISO;
- возможность печати обложек.
После запуска программы, нажмите кнопку "Запись образа ISO на диск" (см. скрин ниже).
CDBurnerXP - записать образ ISO
Затем указываете ISO-образ для записи, физический дисковод, скорость записи (выделена желтым на скрине ниже — кстати, не ставьте самую высокую скорость, возможны ошибки) и нажмите "Записать диск" . В общем-то, это все — через 10-15 мин. ваш диск будет записан!
Настройки записи // CDBurnerXP
❶. Как создать виртуальный диск/образ ISO и др.
Прежде всего, для начала работ, рекомендую установить одну программу — Daemon Tools (Lite-версию, она бесплатна и ее возможностей для создания и эмулирования образов более, чем достаточно).
Да и вообще, на мой взгляд, она одна из лучших (и самых популярных, кстати) программ для работы с образами дисков. Рекомендую однозначно к установке и ознакомлению.
Daemon Tools (Lite)
Эта программа позволяет монтировать почти все типы образов, а также эмулирует одновременно работу до 4-х приводов. Кроме этого, программа позволяет записывать готовые образы на физические диски, конвертировать из одного формата в другой, создавать защищенные образы и многое другое (кстати, часть функций платные, к сожалению).
Довольно неплохо у программы организовано хранение образов: вы всегда сможете найти нужный диск из своей коллекции.
Какие образы поддерживает Daemon Tools
Итак, допустим у нас есть несколько CD-дисков с музыкой, играми, которые часто используются, и Вы просто устали их вставлять в привод (да и со временем диски портятся, царапаются, при вставке в привод шумят). Поэтому, логично, сделав один раз образы этих дисков — можно легко и без шума их использовать.
1) Сначала необходимо вставить CD-диск в реальный физический дисковод.
2) Далее нужно запустить Daemon Tools, перейти в раздел "Новый образ" и выбрать "Создать образ из диска" (см. скриншот ниже).
Создать образ диска
3) После необходимо указать привод с диском, указать папку, куда будет сохранен образ, и формат образа (в своем примере я выбрал ISO). Для начала копирования - нажать кнопку "Старт".
Настройки заданы - начинаем копирование
4) Далее привод начнет гудеть, и начнет менять статус прогресса (1. 2. 3%. ). В это время, лучше не нагружать компьютер посторонними задачами.
В общем-то, и все. Теперь можно пользоваться этим образом (только предварительно необходимо создать виртуальный привод, об этом чуть ниже).
📌 Дополнение!
Образы можно создавать не только с CD/DVD-дисков, но и из обычных файлов и папок на HDD. Более подробно об этом здесь -->
❸. Как открыть образы: ISO, MDF, NRG и пр. и запустить приложение с них
После того, как виртуальный дисковод в Daemon Tools был создан — можно приступить к открытию и чтению образов в нем. Вообще, Daemon Tools открывает практически любые образы: ISO, BIN, MDF, NRG (даже архивы, формата 7z, rar, zip и пр.).
В нижней части окна — щелкните левой кнопкой мышки по виртуальному приводу (который мы создали в предыдущем шаге). См. скриншот ниже.
DAEMON Tools Lite - сначала кликните левой кнопкой мышки по приводу
Далее укажите папку и сам образ (в моем случае это файл формата ISO). См. скрин ниже (название образа затерто, чтобы не создавать рекламу ☺).
Открытие (выберите образ)
Если автоматический запуск CD/DVD дисков у вас отключен (и на экране ничего не появилось), зайдите в "Мой компьютер/Этот компьютер": среди приводов должен быть и виртуальный, с диском (т.е. образом), который мы открыли.
Можно открыть образ и приступать к установке игры
Далее открываете диск, и запускаете файл "autorun.exe" (либо "setup.exe" — обычно, на всех дисках такие файлы присутствуют).
Если появиться вопрос о том, разрешить ли этому приложению вносить изменения - ответьте утвердительно (по крайней мере, для знакомых дисков. ).
Начало установки игры
❷. Как создать виртуальный дисковод/эмулятор CD/DVD-Rom
Воспользуемся все тем же Daemon Tools.
Сначала необходимо запустить программу и нажать "Добавить привод" (в левом меню программы).
DAEMON Tools Lite - добавить привод
Далее необходимо задать параметры: регион, букв диска и пр. — в большинстве случаев, можно оставить все настройки по умолчанию.
DAEMON Tools Lite - настройки при создании привода (можно оставить ничего не меняя)
В нижней части окна должен появиться новый привод: в моем случае под буквой "F: (пустой)".
DAEMON Tools Lite - появился новый привод (F:)!
Читайте также: