Интернет Windows Android

Организация переключения между гипервизором VirtualBox и Hyper-V. Как ускорить работу виртуальных машин VMWare, Oracle VirtualBox и Microsoft Hyper-V Улучшение производительности внутри виртуальной машины


Здравствуйте.

1. Приступая к переносу, для начала сконвертируем.vdi жесткий диск от VirtualBox в.vhd диск Hyper-V

В каталоге VirtualBox выполняем команду конвертации образа.vdi в.raw
VBoxManage.exe internalcommands converttoraw d:\project\project.vdi d:\project.raw

Ищем и ставим WinImage, запускаем, выбираем Disk -> Convert Virtual Hard Disk Image,
тип файлов *.*, открываем.raw образ, сохраняем как динамически-расширяемый образ.vhd

2. Создаем новую виртуальную машину в Hyper-V, использую Legacy сетевую карту, так как синтетическая сетевая карта не заработает до установки Linux Integration Services.

3. Удаляем VirtualBoxAdditions из CentOS
в каталоге /etc/init.d/
командой
chkconfig --del «vboxadd»
chkconfig --del «vboxadd-service»
chkconfig --del «vboxadd-x11»

Затем удаляем из каталога /etc/init.d эти файлы (vboxadd, vboxadd-service, vboxadd-x11)

4. Идем в настройки Hyper-V, ставим статический mac адрес сетевой карте
Затем в линуксе идем по пути
/etc/sysconfig/network-scripts/
редактируем файл ifcfg-eth0 (либо ifcfg-seth0) и прописываем по аналогии:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=10.10.10.255
HWADDR=00:01:02:03:04 (берем из настроек hyper-v)
IPADDR=10.10.10.10
NETMASK=255.255.255.0
NETWORK=10.10.10.0
ONBOOT=yes

Либо поступаем еще проще, запускаем в консоли system-config-network-tui и настраиваем eth0 (физический адаптер) либо seth0 (синтетический адаптер).
Перезагружаем линукс.

5. Обновляем CentOS, набираем в консоли:
yum update
yum groupinstall «development tools»
reboot

6. Качаем Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2 , распаковываем и монтируем.iso в виртуальную машину в окне hyper-v.

Установленный Linux Integration Services дает нам:
- Driver support for synthetic devices - синтетический ethernet адаптер, более быстрый чем legacy erhernet
- Fastpath Boot Support for Hyper-V - более быструю загрузку виртуальной машины
- Timesync - синхронизация времени с хостовой машиной
- Integrated Shutdown - возможность выключать линукс из оснастки hyper-v
- Symmetric Multi-Processing (SMP) Support - поддержку до 4 процессоров
- Heartbeat - возможность мониторинга состояния гостевой ОС
- Pluggable Time Source

Из нереализованного:
- Integration Services: Data Exchange, Volume Snapshot Backup
- Networking: Jumbo Frames and TCP Offload
- Storage: Hot Add/Remove (VHD‟s and Passthrough Disks)

7. Монтируем Linux Integration Services v2.1 ISO:
mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

Копируем файлы на жесткий диск:
mkdir /opt/linux_ic
cp -R /mnt/cdrom/* /opt/linux_ic
umount /mnt/cdrom

Устанавливаем Linux Integration Services,
cd /opt/linux_ic
make
make install

Пока не перезагружаемся. Если у вас RedHat5.5 (а у нас CentOS 5.5), то нужно зайти в
/boot/grub/grub.conf файл и поменять hda=noprobe hdb=noprobe на ide0=noprobe ide1=noprobe . Если не поправить grub, то поймаем панику ядра после перезагрузки:

Делаем reboot в консоли и радуемся корректной работе CentOS 5.5 под Hyper-V.

PS:
Подводные камни:
1. Сперва не мог понять, почему линукс при загрузке не цепляет сетевуху от hyper-v, гугление подсказало, что нужно сперва использовать legacy сетевую карту.
2. По инструкции, которая шла с Linux Integration Services v2.1 ничего не получалось, пока не нагуглил волшебную команду yum groupinstall «development tools», пакету не хватало этих вот инструментов разработчика, ну и заодно ядра посвежее.
3. Наконец-то поставил LIS, радостная перезагрузка и… kernel panic. Вдумчивое чтение документации подсказало, что нужно править grub.

VirtualBox и Hyper-V являются очень мощными средствами виртуализации. Каждый из них имеет свои плюсы и минусы, и иногда нужно иметь возможность использовать оба гипервизора на одном компьютере. Это реально, несмотря на то, что при активированном Hyper-V запуск виртуальной машины VirtualBox невозможен. Он просто заканчивается вот такой ошибкой.

Тем не менее, благодаря одной хитрости можно заставить их сосуществовать. Для этого надо создать bat-файл следующего содержания:

MS DOS

@echo off cls echo. echo Выберите опции гипервизора Hyper-V при загрузке Windows. Компьютер будет автоматически перезагружен после выбора. echo. echo 1. Включить гипервизор. echo 2. Выключить гипервизор. echo 3. Выход. echo. set /p choice= Ваш выбор: if "%choice%"=="1" goto 1 if "%choice%"=="2" goto 2 if "%choice%"=="3" goto 3 if not "%choice%"=="" echo "%choice%" неверный пункт echo:1 cls echo Включение гипервизора... bcdedit /set hypervisorlaunchtype auto shutdown -r -f -t 10 -c exit:2 cls echo Выключение гипервизора... bcdedit /set hypervisorlaunchtype off shutdown -r -f -t 10 -c "Через 10 секунд компьютер будет перезагружен." exit:3 exit

@echo off

echo .

echo Выберите опции гипервизора Hyper-V при загрузке Windows. Компьютер будет автоматически перезагружен после выбора.

echo .

echo 1. Включить гипервизор.

echo 2. Выключить гипервизор.

echo 3. Выход.

echo .

set / pchoice = Вашвыбор:

if "%choice%" == "1" goto 1

if "%choice%" == "2" goto 2

if "%choice%" == "3" goto 3

if not "%choice%" == "" echo "%choice%" неверный пункт

echo

echo Включение гипервизора...

bcdedit / set hypervisorlaunchtypeauto

shutdown -r -f -t 10 -c "Через 10 секунд компьютер будет перезагружен."

exit

echo Выключение гипервизора...

bcdedit / set hypervisorlaunchtypeoff

shutdown -r -f -t 10 -c "Через 10 секунд компьютер будет перезагружен."

exit

exit

Данный пакетный файл действует очень просто. С его помощью можно временно отключить или включить гипервизор Hyper-V при этом не трогая сам Hyper-V, его файлы и настройки. Виртуальные машины созданные в Hyper-V также останутся в целости и сохранности. В случае необходимости надо запустить созданный нами bat-файл от имени администратора , выбрать нужную опцию и ваш компьютер будет автоматически перезагружен. К сожалению, без перезагрузки обойтись нельзя, но это все равно проще чем каждый раз сносить и ставить снова Hyper-V. Раз, два и как видно VirtualBox замечательно работает и при наличии Hyper-V.

В случае необходимости просто включаем гипервизор Hyper-V и снова пользуемся. Включение или отключение достаточно провести один раз, при последующих запусках Windows будет использовать ранее установленную настройку.

4289

На сегодняшний день VirtualBox является самой популярной бесплатной платформой виртуализации, однако даже у её приверженцев в какой-то момент может возникнуть желании опробовать другие виртуальные машины, в частности, встроенную платформу Hyper-V . Только вот включивший её пользователь очень вскоре обнаружит, что виртуальные машины на его любимом VirtualBox больше не запускаются, а платформа выдаёт ошибку «Не удалось открыть сессию для виртуальной машины» с кодом E_FAIL (0x80004005) .


Причиной ошибки может быть неудачная запись состояния ВМ в файл VBOX , кривое накопительное обновление самой Windows, отключение виртуализации в BIOS , но в данном случае причина кроется в конфликте VirtualBox с Hyper-V . Восстановить нормальную работу виртуалбокс можно удалив компоненты Hyper-V из системы, только вот как быть, если установленные на эту платформу машины вам всё же нужны? Запускать ВМ на одном ПК с включенными VirtualBox и Hyper-V нельзя, но можно временно отключить штатный компонент виртуализации, не удаляя его.

Делается это элементарно. Запустите от имени администратора командную строку или консоль и выполните в ней команду bcdedit /set hypervisorlaunchtype off , а затем перезагрузите компьютер.

Виртуальные машины VirtualBox станут запускаться без ошибок. Чтобы вернуть Hyper-V в рабочее состояние, выполните команду bcdedit /set hypervisorlaunchtype auto и опять же перезагрузитесь.

Для удобства можете создать пакетные файлы с командами и разместить их на рабочем столе.

Кроме того, вы можете добавить режим работы системы с Hyper-V и без него в загрузочное меню.

Для этого в запущенной с повышенными правами командной строке (не PowerShell) выполните команду bcdedit /copy {current} /d «Hyper-V отключена» . При этом будет создан новый элемент в загрузочном меню, а в консоли отобразится его идентификатор (32-значная строка) . Скопируйте её в буфер, замените ею элемент GUID в команде bcdedit /set {GUID} hypervisorlaunchtype off и выполните команду.

Переустановка операционной системы или смена компьютерного устройства не означает конец работы с установленными гостевыми ОС в программе . Правда, исключением может быть случай, когда файлы жёстких дисков виртуальных машин находятся на системном диске компьютера, а саму систему невозможно восстановить после критического сбоя. Чтобы продолжить работу с имеющимися гостевыми ОС с сохранением их состояния, но уже на переустановленной Windows или на другом компьютере, в арсенале программы VirtualBox имеется инструмент экспорта конфигурации существующих виртуальных машин для его импорта в дальнейшем. Другая возможность продолжить работу с существующими гостевыми ОС — добавление новых виртуальных машин на базе имеющихся файлов их жёстких дисков. Все эти процессы и рассмотрим ниже.

1. Универсальный формат файла экспорта виртуальных машин

Конфигурация существующей виртуальной машины VirtualBox экспортируется в файл «.ova ». Файл «.ova» (Open Virtual Appliance) – это универсальный файл хранения данных виртуальной машины, который можно использовать в различных программах для виртуализации операционных систем. Это , . Экспортированная в этот файл виртуальная машина может быть затем импортирована как программой VirtualBox, так и VMware Workstation или Microsoft Hyper-V в рамках поддерживаемых этими программами гостевых систем.

Рассмотрим детальнее процесс экспорта и импорта конфигурации виртуальной машины VirtualBox в основной системе Windows.

2. Экспорт виртуальной машины

В окне VirtualBox выбираем конкретную виртуальную машину для экспорта, жмём меню «Файл » и выбираем «Экспорт конфигураций ».

В следующем окне жмём «Next ».

Экспорт конфигурации возможен только при выключенном состоянии виртуальной машины, и, если она приостановлена, VirtualBox предложит сбросить сохранённое состояние для продолжения процесса.

Далее появится окно параметров экспорта. Формат оставляем предустановленный, а вот папку файла экспорта «.ova», по умолчанию располагающуюся на системном диске, меняем на папку, например, как в нашем случае, специально созданную на несистемном диске D.

В следующем окне жмём «Экспорт ».

Дожидаемся завершения процесса экспорта.

Экспортированная виртуальная машина в файле «.ova» будет находиться в указанной папке, откуда её можно переместить на другой компьютер, съёмный носитель, в облачный сервис. Или можно оставить, как в нашем случае, на месте — на несистемном диске, где этот файл будет храниться во время переустановки Windows.

3. Импорт виртуальной машины

После инсталляции VirtualBox на новой Windows или на другом компьютере открываем программу и в меню «Файл » выбираем «Импорт конфигураций ».

В следующем окне указываем путь к файлу «.ova» с экспортированной виртуальной машиной. Жмём «Next ».

В самом конце окна будет указан путь, куда после импорта будет помещён файл жёсткого диска «.vdi». По умолчанию это системный диск, и чтобы не захламлять его и предотвратить потерю файла «.vdi» в случае сбоя системы, можно сменить путь, указав папку хранения на несистемном диске. Жмём «Импорт ».

Дожидаемся завершения процесса импорта.

После чего увидим импортированную виртуальную машину в списке машин VirtualBox. Что и осталось теперь, так это запустить машину.

Гостевая ОС запустится точно в том состоянии, в котором она была на момент экспорта виртуальной машины.

4. Добавление новой машины из существующего файла жёсткого диска VirtualBox

Альтернатива экспорту и импорту виртуальной машины – добавление новой машины из существующего файла жёсткого диска VirtualBox «.vdi ». Этот способ ничем не уступает процедуре экспорта и импорта виртуальной машины. Более того, если файл «.vdi» расположен на несистемном диске, при переустановке Windows на физическом компьютере можно даже и не тратить время на экспорт конфигурации. Хранящийся же на системном диске файл «.vdi» можем просто перенести на несистемный диск. По большому счёту, процесс экспорта и импорта виртуальной машины выигрывает только экономией занимаемого места файлом «.ova». Например, в нашем случае проводился экспорт виртуальной машины с установленной гостевой ОС Windows ХР, и вес файла «.ova» на выходе составил 4,11 Гб. В то время как размер файла жёсткого диска «.vdi» этой же системы составляет 10 Гб .

Такая выгода в экономии места может быть актуальной в случае переноса виртуальной машины на другой компьютер с помощью облачных хранилищ или съёмного носителя с ограниченным размером. В нашем случае, когда речь идёт именно о переустановке Windows, вполне подойдёт способ добавления новой машины из существующего файла жёсткого диска VirtualBox.

Запускаем VirtualBox и жмём «Создать ».

Задаём показатель оперативной памяти. Жмём «Next ».

В окне выбора жёсткого диска выбираем параметр «Использовать существующий жёсткий диск », с помощью кнопки обзора указываем путь хранения файла «.vdi». Жмём «Создать ».

Виртуальная машина появится в списке VirtualBox, можем её запускать.

Гостевая ОС запустится ровно в том состоянии, в котором была сохранена в последний раз работы с ней.

Добавление новой виртуальной машины из существующего файла «.vdi» – это также способ перенести файл жёсткого диска гостевой ОС на несистемный диск компьютера, если изначально таковой был создан на системном диске, и со временем занимаемое им место стало снижать производительность системы. Для этого необходимо удалить виртуальную машину из списка в главном окне VirtualBox. На выбранной машине вызываем контекстное меню и выбираем «Удалить ».

Затем в появившемся окошке жмём «Убрать из списка ».

После этого можно искать файл жёсткого диска «.vdi» на системном диске (как правило, по умолчанию это путь C:\Users\Имя_пользователя\VirtualBox VMs ), переносить его на несистемный диск и добавлять виртуальную машину заново.

Помогла ли Вам данная статья?

И снова здравствуйте! Эта статья будет полезна для разработчиков, которые используют Xamarin, а также тем кто разрабатывает приложения для Windows и Android устройств используя эмуляторы и нативные средства разработки. Речь пойдет о том как легко и довольно быстро переключаться между гипервизором VirtualBox и Hyper-V.
Небольшое введение. При разработке приложений практически всегда возникает необходимость тестировать их на эмуляторах, так как например Android устройств с различными форм-факторами очень много и хочется убедиться, что приложение будет смотреться приемлемо на всех устройствах. А вот с запуском эмуляторов начинаются различные проблемы, эмулятор android устройств из коробки (стандартный от Google) очень и очень медленный, поэтому рекомендуется использовать сторонний, например Genymotion , который порадовал меня своей скоростью, наверное не уступает реальным устройствам по отзывчивости. Для его использования нужна виртуальная машина (Oracle VirualBox), которая в свою очередь использует свой гипервизор. Гипервизор – это программное обеспечение необходимое для запуска нескольких операционных систем одновременно на одном компьютере. Для разработки под Windows Phone сторонний эмулятор не требуется, стандартный довольно быстрый, но вот для его работы необходимо использовать гипервизор Hyper-V от Microsoft. Два гипервизора не могут одновременно работать на компьютере, поэтому возникает проблема. На блоге англоязычного разработчика я нашел способ решения этой проблемы, который сам сейчас использую, и решил перевести его у себя на блоге.

Итак, теперь собственно о том, как организовать переключение между двумя гипервизорами. Для начала нужно открыть командную строку от имени администратора и написать в ней следующую команду:

C:\>bcdedit /copy {current} /d "No Hyper-V"

C : \ & gt ; bcdedit / copy { current } / d "No Hyper-V"

После успешного выполнения должно появиться сообщение, в котором содержится нужный нам ключ. Далее вводим еще одну команду с ключом, который у нас появился после выполнения первой команды:

После успешного выполнения должно появиться сообщение информирующее что команда выполнена правильно. Вот как все выглядит наглядно:

В принципе все готово, теперь можно переключаться между двумя режимами, но для этого нужна перезагрузка компьютера, что конечно не очень удобно, т.е. чтобы включить или отключить Hyper-V нужно перезагружать компьютер. При загрузке системы теперь будет страница на которой нужно выбрать в каком режиме запускать систему: с гипервизором Hyper-V или без него (т.е. можно использовать гипервизор VirtualBox). Такая же страница отображается, если у вас на компьютере две системы:

Может быть такое, что страница с выбором не будет отображаться при перезагрузке компьютера, это можно настроить, а можно просто нажимать на кнопку перезагрузка в меню windows удерживая клавишу Shift.
На этом у меня все, думаю вам помогла эта статья, всем пока!