Microsoft Virtual PC 2004

Недавно корпорация Microsoft пошла на достаточно отчаянный шаг — следуя примеру своего главного конкурента в области виртуальных машин компании VMware, сделала свой продукт Microsoft Virtual PC бесплатным. Напомню, что Microsoft Virtual PC — это эмулятор виртуальной машины на реальном компьютере, работающем под управлением ОС Windows. Другими словами, устанавливая сей продукт дядюшки Билла, мы, по сути, получаем компьютер в компьютере или операционную систему в операционной системе (кому как больше понравится). На виртуальную машину можно устанавливать практически любую ОС — даже OS/2. Самое примечательное то, что с помощью Microsoft Virtual PC 2004 можно содержать в пределах реального ПК не одну, а сколько вам будет угодно разнообразных операционных систем одновременно (даже одинаковых!). Более того: их можно не только "содержать", но и одновременно запускать, не боясь конфликтов и нестыковок в оборудовании. Установив ту или иную ОС, можно инсталлировать необходимый софт, приложения, а при необходимости все это добро можно быстро удалить буквально несколькими щелчками мыши. Итак, Microsoft Virtual PC 2004 теперь абсолютно бесплатна!

Для нас — простых пользователей ПК — сей отчаянный шаг компании Microsoft значит только одно: либо корпорация решила избавить себя от необходимости активной поддержки сего замечательного продукта, либо вскоре выйдет совершенно новый релиз Microsoft Virtual PC. Так и есть, на самом деле приложение Microsoft Virtual PC 2004 уже давно исчерпало свои потенциальные возможности по сравнению с основным конкурентом от той же VMware. Попросту говоря, программа уже немного устарела и требует обновления. И такое обновление есть — Microsoft Virtual Server 2005. Однако вскорости появится еще более новый релиз программы — уже сегодня на официальном сайте Microsoft проходит бета-тестирование новой версии виртуальной машины — Microsoft Virtual Server 2007. Как скоро появится официальная версия программы, пока неизвестно, а нам пока придется работать под старой версией эмулятора. Кому интересны все новшества и изменения, появившиеся в Microsoft Virtual Server 2007 — рекомендуем посетить официальный сайт компании и разобраться во всем самим. Там же можно поучаствовать в официальном бета-тестировании будущего релиза виртуальной машины. Вот вам прямая ссылочка: сайт — идите и качайте. Архив весит где- то около 18 мегабайт.

Предвижу вопрос: а зачем качать-то? Это уже, как говорится в одноименном мультфильме, была уже совсем другая история. Польза виртуальных машин уже неоднократно была описана на страницах КГ (взять, к примеру, статью под названием "VirtualPC: "Песочница" для администраторов локальных сетей", опубликованную в КГ №№ 44-50 за 2003 год). Также касательно Virtual PC 2004 можно найти массу полезной информации в Интернете. Однако не всем хочется разбираться и перекапывать кучу материала для того, чтобы понять пользу той или иной софтины. Итак, сегодня мы поближе познакомимся с Microsoft Virtual PC 2004. Не стану просто повторяться, цитируя других авторов — в дальнейшем в этой статье я привожу только собственные доводы касательно продукта от Microsoft, основанные исключительно на личном опыте использования. Регулярно пользуясь Virtual PC 2004 около двух лет, я уже давно извлек выгоду из этой программы и теперь хочу поделиться с читателями КГ своими мыслями касательно ее использования. Итак, что же может этот "старичок"? Какая же нам польза от бесплатного, но морально устаревшего Virtual PC 2004? Как оказалось, большая! Но раз уж мы собираемся инсталлировать программу для длительного использования, то для начала я перечислю особенности работы в Windows при использовании нескольких операционных систем одновременно:

- Запуск виртуальной ОС осуществляется простым нажатием на образ виртуальной машины (так же, как запускается любой файл на ПК) прямо в самой программе-настройщике Virtual PC 2004. Старт машины происходит в отдельном окне на экране и по сути полностью повторяет загрузку физической машины: виртуальный компьютер проходит POST, запускает загрузчик, и начинает устанавливаться виртуальная операционная система.
Переход из одной системы в другую осуществляется простым перетаскиванием мышки из рабочего окна основной ОС в окно виртуальной операционки. При этом до установки специального сервис-пака на виртуальную машину (есть и такое — позже расскажу) в окно виртуальной машины попасть просто — достаточно просто поместить курсор в область окна и кликнуть, при этом оба курсора совместятся и произойдет захват реальной мышки. Но вот покинуть окно не так-то просто. Для этого нужно будет нажать правый Shift на клавиатуре — и вы снова в основной ОС. После установки сервис-пака ситуация резко изменится: входить в окно виртуальной ОС и покидать его можно будет так же просто, как и пользоваться любой программой с оконным интерфейсом — достаточно будет просто поместить курсор в окно или из окна, и он сразу становится "чужим" или "родным".

- В случае обычной установки нескольких ОС на одном компьютере (на разных логических дисках) одновременная работа в нескольких ОС невозможна — пользователю приходится выбирать, что ему нужно в данный момент. В случае же с виртуальной машиной все гораздо лучше: обе машины — реальная и виртуальная — могут замечательно сосуществовать вместе в пределах одного физического компьютера. При этом они практически никак не влияют на работу друг друга. Количество запущенных виртуальных операционных систем, работающих в пределах одной физической, на практике ограничено лишь скоростью процессора и объемом оперативной памяти. К тому же, совсем необязательно, чтобы несколько виртуальных операционных систем постоянно "паразитировали" на одной реальной, все это время отнимая у нее системные ресурсы. Если какая-либо виртуальная машина в данный момент вам не нужна, совсем необязательно завершать ее работу, а затем снова при надобности запускать — достаточно просто усыпить ее на некоторое время (правый Alt+P) и свернуть в системный трей основной ОС (т.е. поступить точно так же, как и с любым ненужным в данный момент приложением). К слову, в программе имеется возможность управления с помощью горячих клавиш, что весьма удобно.

- Поддержка оборудования операционными системами. Виртуальная машина заменяет некоторые компоненты реального ПК на свои (мышь, видеокарта, сетевой адаптер и др.), поэтому тестирование некоторых элементов с помощью специализированных программ становится просто невозможным. Так, к примеру, с помощью специальных тест-утилит вам никогда не удастся узнать производителя оперативной памяти, ее номинальную тактовую частоту и некоторые другие параметры. Это же касается и большинства другого оборудования. Драйверы под нужды железа виртуальной машины уже имеются в дистрибутивах Windows, поэтому вам не придется их искать — здесь все просто. Однако в случае с установкой внешнего модема или любого другого устройства посредством резервирования ресурсов и портов реального ПК (а это можно сдалать!) драйверы к новому оборудованию, разумеется, устанавливать придется.

- Скорость загрузки и общая производительность. При работе с одной операционной системой на одном ПК скорость загрузки о общая производительность, понятное дело, будет выше. Почему? Во-первых, потому, что при использовании виртуальной машины блоки реальной машины эмулируются, и вся нагрузка по эмуляции виртуального железа ложится на центральный процессор. А ведь это все системные ресурсы! В этом случае, помимо обработки собственно задач, центральный процессор тратит львиную долю производительности на эмуляцию железа.

Однако попрошу не путать виртуальную машину, установленную на реальную машину, с явлением многопроцессорности (тоже виртуальной). Виртуальная многопроцессорность — это когда система видит один физический процессор как два и более виртуальных. При этом общая производительность системы увеличивается за счет оптимизации алгоритмов просчета задач несколькими процессорами. В нашем случае все происходит с точностью до наоборот: есть один физический процессор и несколько операционных систем, которые делят его ресурсы между собой. Понятное дело, что в такой ситуации не может быть речи об общем увеличении производительности для двух систем по сравнению с одной. Поэтому любителям увеличить производительность ПК чисто "халявным" способом — с помощью установки виртуального ПК и простого разделения задач между двумя операционными системами — прошу меня в дальнейшем не беспокоить глупыми расспросами. Практически это невозможно. Другое дело — поручить виртуальной машине выполнение определенного круга задач, которые не по силам основной операционной системе (например, в силу отсутствия в оной каких-либо системных ресурсов или возможностей). Также имеет смысл использовать виртуальную машину, если вам срочно необходимо выполнить большой круг задач. Так, запуск и выполнение большого количества разнообразных задач, использующих различные системные ресурсы в пределах одной машины, зачастую приводит к катастрофическому падению производительности вплоть до полного подавления одних задач другими и полного зависания операционной системы. В этом случае при использовании нескольких операционных систем вы вряд ли добьетесь увеличения производительности — скорее наоборот (по указанным мной выше причинам), но стабильности в одновременном выполнении большого круга задач вы добьетесь точно. Также, в отличие от ситуации с одной операционной системой, вы САМИ сможете определять приоритет выполнения тех или иных задач, раскладывая их между несколькими операционными системами как заблагорассудится. ОС больше не будет этим заниматься самостоятельно. К примеру, если в одной операционной системе Windows одна задача подавляет выполнение другой, а для вас наиболее важна эта вторая задача, то вы сможете поручить ее выполнение второй операционной системе. В этом случае обе задачи будут иметь одинаковый приоритет. В общем, в случае с несколькими ОС производительность в области каждой конкретной задачи в большей степени зависит от изобретательности пользователя, чем от самой операционной системы. А это уже большой плюс, в отличие от использования одной ОС!

Итак, с особенностями работы на виртуальной машине вы уже знакомы на примере описанной мной Microsoft Virtual PC 2004. Теперь пришло время оценить все несомненные плюсы при использовании нескольких операционных систем одновременно. А ведь их немало! Ниже постараюсь по пунктам привести доводы касательно выгоды использования Microsoft Virtual PC 2004 совместно с основной операционной системой Windows XP в пределах одного ПК (к слову, под Windows 98 и ниже эмулятор виртуальной машины не запускается вообще):

- На основе Virtual PC 2004 весьма удобно производить тестирование и отладку сырых версий программ, написанных на любых языках программирования. Ошибки в таких программах, зачастую приводящие к краху или критическому сбою операционной системы, способны принести много беды разработчикам софта. Говоря другими словами, авторам софта просто необходимо постоянно иметь в наличии операционную систему, как говорится, "для издевательств". Таковой операционной системой может быть любая версия "окошек", установленная на виртуальной рабочей машине. Особенности использования этой "рабочей лошадки" сводятся к тому, что таковую ОС совсем не нужно после очередного краха устанавливать заново — достаточно удалить текущий образ ОС и скопировать на ее место резервную копию вполне работающей операционной системы. Образ вполне рабочей ОС в виде файла конфигурации и файла виртуального жесткого диска можно заранее сохранить в любом доступном месте "про запас". Простая замена файлов текущей ОС копией файлов резервной ОС сродни бэкапу с контрольными точками в Windows, только производится это вручную пользователем. Этот хитрый маневр приводит к безболезненному минутному восстановлению поврежденной операционной системы и исключает любые ошибки работы бэкап-софта. Позже я покажу на примере, как это можно сделать.

- Помимо возможности быстрой замены рухнувшей ОС работоспособной резервной версией, у Virtual PC 2004 есть еще один несомненный плюс — невозможность повреждения реального "железа" ресурсами "кривой" программы. Не смейтесь, таких случаев сколь угодно много. Если вы разрабатываете новый драйвер к какому-либо железу, то его некорректная работа может не просто привести к "глюкам" в ОС — вполне вероятна поломка оборудования. Неправильная работа программы, драйвера и т.д. может привести к тотальному перегреву железа и выходу его из строя — не мне вам объяснять, как влияют экстремально высокие температуры на производительность центрального процессора, чипсета материнской платы, оперативной памяти ПК и прочих устройств. Все просто: высокая температура — она нужна только в топке паровоза. В мире компьютеров с ней положено бороться. Помимо перегрева, неправильная работа программы также может привести к полному краху любого "холодного" оборудования. Примеров тому сколько угодно: "кривая" перепрошивка BIOS материнской платы, модема, видеоадаптера и прочего оборудования; ошибки в программировании однократно программируемых микроконтроллеров, программируемых с помощью ПК и другие подобные случаи. Таким образом, тестируя работу новой программы под виртуальной операционной системой и на виртуальном железе, вы не рискуете потерять ничего реального.

Правда, здесь стоит сделать оговорку. К сожалению, устаревшая версия Virtual PC имеет совсем небольшой набор виртуального железа на борту. Перечень оборудования, возможный к установке в Virtual PC 2004, вряд ли наберет десяток-другой различных виртуальных комплектующих ПК. Да и те уже достаточно древние и не блещут поддержкой современных технологий обработки информации. Так, в стандартной версии виртуальной машины по умолчанию в настройках выставлена следующая конфигурация: чипсет, северный мост — Intel 440 BX (применялся с моделями Pentium II), южный мост — Intel 82371, сетевая плата — Intel 21140, звуковая карта — AWE-32, видеоадаптер — S3-Trio32/64 PCI (внимание(!), имеющей на борту 256 Мб виртуальной памяти(!). Столько даже на видеокарте самой тестовой машины не установлено(!):)). Таким образом, по умолчанию конфигурация нашего виртуального ПК, мягко говоря, совсем не геймерская. Однако в настройках виртуальной машины имеется возможность задействовать LPT- и COM-порты реальной машины под свои нужды. А уже к ним возможно подключить любое современное оборудование — тоже выход при разработке драйверов и программ. Работая на тестовой машине, Virtual PC удивила меня возможностью сочетания процессора Athlon XP 2000+ с чипсетом Intel BX (именно такой процессор был установлен на тестовой машине с работающей Virtual PC 2004). Смотрим на скриншот запущенной машины, бросаем взгляд на работающую утилиту мониторинга железа CPU-Z и удивляемся!

Как видим, машина способна воспринимать реальный процессор за виртуальный и запросто совмещать в конфигурации железо совершенно различных платформ и поколений (ах, если бы так было в жизни!:)). Количество доступной оперативной памяти пользователь может устанавливать сам по желанию, но в пределах реально возможного. Кстати, как оказалось, на скорость работы эмулятора количество выделенной пользователем ОЗУ влияет значительно: чем больше оперативной памяти, тем быстрее работает эмулятор. Однако вернемся к полезностям Virtual PC 2004. Помимо использования виртуальной машины для тестирования разрабатываемых личных приложений, с ее помощью можно запросто тестировать разнообразные сторонние программные разработки. Виртуальная машина позволяет вполне корректно устанавливать и запускать любые приложения от сторонних разработчиков. В последующем при их деинсталляции проблемы с измененными ключами реестра остаются на совести виртуальной операционной системы.

Ни для кого не секрет, что любители часто устанавливать и деинсталлировать разнообразные программы также более часто, чем другие пользователи, переустанавливают свою операционную систему. Это связано в первую очередь с "кривыми" деинсталляторами самих программ, которые зачастую не возвращают к исходному состоянию многие ключи системного реестра, не удаляют установленные ранее дополнительные собственные ветви реестра, оставляют для многих исполняемых файлов и служб ссылки на себя (ссылка на программу есть, а самой программы уже нет). В результате работа ОС после таких деинсталляторов приводит к частым системным сбоям, реже — к полному краху Windows. Виртуальная машина — наилучшее решение подобных проблем. Грамотный пользователь, имеющий в составе свой ОС виртуальную машину, при тестировании сторонних программ будет действовать по следующей схеме: скачал программу в Сети -> установил на виртуальную машину -> протестировал, поюзал -> деинсталлировал -> оценил работу операционной системы на виртуальной машине после деинсталляции приложения -> подумал и, если софт действительно стоящий и нужный в данный момент -> установил на реальную машину. Как видим, в цепочке нет лишних звеньев. Однако вы можете мне возразить, дескать, ПОДОБНЫХ успехов можно добиться и не применяя виртуальную машину. Некоторые пользователи применяют специализированные программы-деинсталляторы, отслеживающие все изменения в системном реестре и на дисках наподобие Ashampoo UnInstaller Suite Plus и после деинсталляции возвращающие все на круги своя. Не хочу сказать, что Ashampoo UnInstaller Suite Plus — плохая программа. Напротив, это отличная софтина (скоро появится в обзоре "Полезных программ в Сети"). Однако слово "ПОДОБНЫХ" не означает "точно таких же". Ни один специализированный деинсталлятор не способен вам рассказать о степени стабильности той или иной программы в оболочке Windows. К сожалению, по логике большинства пользователей получается примерно так: установил программу на свой страх и риск, а если заметил "глюки", то деинсталлировал с помощью обычного деинсталлятора или специального софта. Ну, а если эта программа за период испытаний успела завалить вам систему?! Как будем ее удалять в этом случае? Как систему будем восстанавливать? Глупо? Согласен, глупо! Все-таки лучшее решение — бесплатная виртуальная машина от Microsoft. Она и станет вашим лучшим полигоном испытаний для любого софта.

Думаю, что оптимальным вариантом для всех пользователей будет совместное использование машины (реальной и виртуальной) с предустановленным на нее тем же Ashampoo UnInstaller Suite Plus. Это сочетание должно наиболее эффективно обеспечить корректное удаление любого софта с операционной системы Windows. В этом случае замена "глюкавой" версии ОС на резервную в Microsoft Virtual PC будет производиться достаточно редко, и описанная мной выше схема изменится до следующей: скачал программу в Интернете -> установил на виртуальную машину -> протестировал, поюзал -> деинсталлировал с помощью специального софта -> оценил работу операционной системы на виртуальной машине после деинсталляции приложения -> установил софт на реальную машину -> деинсталлировал при надобности с помощью специального софта. При этом для корректного сопоставления результатов оценки работы ОС как до, так и после деинсталляции приложения желательно иметь одинаковые виртуальную и реальную ОС.
Раз уж заговорили об испытании всяко-разного софта, то нельзя не заметить, что, сделав бесплатной сей замечательный продукт, корпорация Microsoft сделала большое добро нам, простым пользователям ПК, а также поставила огромный крест на всех разработчиках шароварного (читай: платного) софта. Все, товарищи! Нет больше платных программ! Вижу улыбку на вашем лице. Вы, кажется, уже обо всем догадались:). Ну чего уж тут греха таить! Какой нормальный пользователь теперь станет покупать ту или иную утилиту, если можно бесплатно скачать ее пробную версию в Интернете, установить на виртуальную машину и пользоваться весь триальный (пробный) период. Затем снести машину вместе с ОС, скопировать резервную версию ОС, сделанную до установки шароварной программы, запустить в Virtual PC 2004, вновь установить нужную программу и пользоваться ей до следующего окончания триального периода. При этом вся операция по замене файлов займет 2-3 минуты + установка самой программы около минуты. Скажите, разве это не гениально?! И никакого тебе запрета на повторную установку и запуск триальной (пробной) версии программы (обычно пробные версии программ вносят изменения в системный реестр Windows, добавляют собственные ветви или создают специальные файлы в укромных уголках системы, запрещающие повторную установку и запуск триальных версий программ). Теперь не нужно полностью переустанавливать операционную систему после окончания каждого пробного периода той или иной софтины при отсутствии кейгена или кряка. Теперь мы сами себе хакеры-крякеры! Зачем искать кейгены, серийники и генераторы кода на хакерских серверах в Сети? Напоследок замечу, что, раз программа бесплатная и выпущенная самй Microsoft, предложена к свободному использованию лично дядюшкой Биллом, то предлагаю считать этот способ хакинга для ОС Windows легальным и единственно правильным:).

И, наконец, добрались до последней выгоды Microsoft Virtual PC 2004. Возрадуйтесь же, активные сетевики! Виртуальная машина позволяет полноценно работать в локальной сети и в Интернете. При этом вполне реально организовать локальную сеть между реальной и виртуальной машинами. А в Интернет можно выйти как через сетевую линию, так и с помощью обычного модема, подключенного к LPT- или COM-порту реального компьютера. У виртуальной машины в опциях железа отсутствует эмулируемый модем. Да это было бы и глупо — каким же проводом и через какой такой виртуальный разъем вы сможете подключить такой модем к телефонной линии (или она тоже должна быть виртуальной?:)). Разработчики решили проблему достаточно простым способом: для подключения модема следует нужный порт реального ПК задействовать под нужды виртуальной машины (об этом поговорим позже, когда будем настраивать Virtual PC). К сожалению, в программе отсутствует возможность задействовать для подобной цели более прогрессивную скоростную USB-шину компьютера.

Какая же нам польза от выхода в локальную сеть или Интернет на виртуальной машине? А выгода очень большая. Во-первых, в этом случае любое такое подключение для реальной машины с ее операционной системой становится абсолютно безопасным. Во-вторых, при организации локальной сети между реальной и виртуальной машинами отпадает надобность в переносе емких файлов посредством оптического накопителя (вряд ли у вас получится в случае с Microsoft Virtual PC 2004 переместить их иным способом, не прибегая к разработкам стороннего софта). Но вернемся к безопасности Windows — недаром же эта проблема стала каменеем преткновения и причиной задержки выхода релиза новой Windows Vista. Так вот, смею вас заверить, что при совместном использовании связки качественное антивирусное обеспечение + Microsoft Virtual PC 2004 ваша реальная (физическая) система станет абсолютно неуязвимой перед троянами, нюками, вирусами и прочей нечистью. Почему? Все просто! Пойдем от обратного — пусть вирус все-же попал в систему и заразил ее чудесными "глюками". Во-первых, как же вирус, заразивший виртуальную операционную систему, сможет попасть на реальный компьютер?! Для этого у него есть только один способ — перемещение с помощью пользователя через локальную сеть или любой дисковый накопитель. Да, на самом деле очень даже реальным видится заражение физической машины посредством помещения вируса в общие (так называемы "расшаренные") сетевые папки реального и виртуального компьютера, а также посредством дисков (реальная и виртуальная машины постоянно делят их между собой, т.е. они принадлежат обеим машинам). Но для этого нужен человеческий фактор — сам пользователь должен поместить вирус туда. И не только поместить, но и запустить программу — тело вируса в реальной системе. Последнее, конечно, маловероятно, так как все закачанные программы и файлы будут в первую очередь открыты/запущены на виртуальной машине (по крайней мере, именно так должно быть!), а уж затем — перенесены на реальную. Однако все же какая-то возможность заражения вирусом в этом вышеописанном случае остается. Но теперь в игру вступает антивирусное программное обеспечение (Panda Antivirus, Doktor WEB, антивирус Касперского… любое на ваш вкус). Разумеется, антивирусное ПО должно быть установлено на обе машины: реальную и виртуальную. В этом случае при условии постоянного обновления антивирусной базы ПО вероятность попадания вируса в систему становится практически равна нулю.

Но это все в теории. На практике подумайте сами: при условии активного серфинга в Сети посредством виртуальной машины при проникновении вируса в оную последний будет просто уничтожен антивирусным программным обеспечением. В случае невосприимчивости этого ПО к вирусу последний сможет заразить виртуальную систему, что обязательно рано или поздно проявится в виде системных сбоев виртуальной Windows (это не касается только Spyware-вирусов, просто собирающих информацию о пользователе). Думаю, вам понятно, что следует сделать при таком сбое?! Во-первых, удалить зловредный файл из общих "расшаренных" папок локальной сети (разумеется, если он там вообще был) и немедленно "грохнуть" зараженную версию виртуальной машины, заменив ее работоспособной резервной копией. Главное при таком комплексном способе защиты от вирусов — помнить и выполнять несколько главных постулатов:

- в Интернет следует выходить только при включенном антивирусном ПО и только на виртуальной машине.

- Все закачанные файлы и программы следует впервые активировать только на Virtual PC при включенном антивирусном программном обеспечении. - По возможности не следует помещать закачиваемые файлы в общие "расшаренные" папки для обеих систем (то же касается общих дисков и прочих носителей информации) до тех пор, пока они не будут исследованы на предмет присутствия вирусов.

- Защита от вирусов всегда должна быть комплексной и разносторонней.

Без сомнения, эта замечательная программа найдет своих почитателей по причине своей весьма разносторонней полезности. Уверен, что с объявлением производителем "ценовой амнистии" на Virtual PC 2004 последняя обретет вторую жизнь среди всех прослоек пользователей ПК. Программа несколько устаревшая и сегодня имеет массу недостатков, на которые не стал бы обращать внимание вчера (о них поговорим позже). Но вчера — это вчера, а сегодня — это сегодня. И сегодня мы будем ждать нового релиза виртуальной машины, а также не забудем о старом добром Microsoft Virtual PC 2004. Этот старичок нам еще послужит!

Goldman, goldman2@mail.ru


Компьютерная газета. Статья была опубликована в номере 38 за 2006 год в рубрике ос

©1997-2024 Компьютерная газета