The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Запуск win2k3 на freebsd под virtua..."
Отправлено auto_tips, 26-Авг-09 18:23 
Задача: запустить виртуальную машину с win2k3 на хосте с freebsd без установленого Х-сервера.

Имеем:
   FreeBSD 7.2-RELEASE-p3,
   virtualbox-3.0.51.r22226 (WITHOUT_QT4=true WITHOUT_DEBUG=true WITH_GUESTADDITIONS=true
     WITHOUT_DBUS=true WITHOUT_PULSEAUDIO=true WITH_NLS=true)

Сразу хочу заметить, что поскольку протокол VRDP в virtualbox под freebsd пока не реализован,
то для первоначальной инсталяции виртуальной машины нам все же понадобится другой хост
с установленным окружением X11. Установка win2k3 в виртуальное окружение - задача весьма тривиальная,
поэтому её описание я опущу...

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

   VBoxManage export WIN2003STD -o ~/WIN2003STD.ovf

где WIN2003STD - имя виртуальной машины,
~/WIN2003STD.ovf - файл, в котором будут храниться экспортируемые параметры виртуальной машины.

В итоге имеем 3 файла, которые нам необходимо перенести на удаленный хост:

   WIN2003STD.mf - файл, содержащий контрольные суммы двух последующих файлов
   WIN2003STD.ovf - файл параметров экспортируемой машины
   WIN2003STD.vmdk - упакованный файл-образ жесткого диска виртуальной машины.

Повторюсь, что поскольку реализации протокола VRDP в virtualbox для freebsd нет,
то изначально перед экспортом виртуальной машины нам необходимо будет дать удаленный доступ
внутрь гостевого окружения с помощью RDP или VNC. В моем случае я сделал доступ через
удаленный рабочий стол win2k3.

На удаленном хосте я создал для запуска виртуального окружения отдельного пользователя
vbox с группой vboxusers, которому запретил вход через ssh. Файлы WIN2003STD.mf, WIN2003STD.ovf
и WIN2003STD.vmdk я положил в его домашнюю директорию и сделал их владельцем пользователя vbox.

Далее от пользователя vbox делаем импорт виртуальной машины:

   VBoxManage import ~/WIN2003STD.ovf

Далее нам необходимо пробросить внутрь виртуальной машины tcp-порт 3389 для доступа к удаленному рабочему столу win2k3:

   VBoxManage setextradata WIN2003STD "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort" 3389
   VBoxManage setextradata WIN2003STD "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort" 3389
   VBoxManage setextradata WIN2003STD "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol" tcp

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

   VBoxManage startvm WIN2003STD --type headless

"--type headless" позволяет запутить виртуальную машину в фоновом режиме.

О том, что проброс tcp-порта выполнен свидетельствуют строки в логе вмртуальной машины и sockstat:

   $ grep -i nat ~/.VirtualBox/Machines/WIN2003STD/Logs/VBox.log

   00:00:00.535 Driver = "NAT" (cch=4)
   00:00:00.538 AIS - Alternate Instruction Set = 0 (1)
   00:00:00.942 NAT: ICMP/ping not available (could open ICMP socket, error VERR_ACCESS_DENIED)
   00:00:00.942 NAT: value of BindIP has been ignored
   00:00:35.141 NAT: set redirect TCP hp:3389 gp:3389
   00:01:05.062 NAT: old socket rcv size: 64KB
   00:01:05.062 NAT: old socket snd size: 64KB

  $ sockstat -4 -l | grep 3389

   vbox VBoxHeadle 982 32 tcp4 :3389 :*

Следует заметить, что icmp во внешний мир из виртуальной машины работать не будет, это требует прав суперпользователя,
о чем нам сказано в логе - "00:00:00.942 NAT: ICMP/ping not available (could open ICMP socket, error VERR_ACCESS_DENIED)",
поэтому проверять работоспособность сети внутри виртуального хоста с помощью ping не стоит. Все, задачу можно считать выполненной.

P.S. После выключения удаленной виртуальной машины через сеанс RDP, система выпадает в BSOD и
дальше возможен вход только в безопасном режиме, что в нашем случае уже не возможно. Беглый поиск
в google дает нам такое решение - необходимо предварительно в ветке реестра
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\intelppm\Start
выставить значение 4.

P.P.S. Для автоматического старта виртуальной машины при старте системы я в /usr/local/etc/rc.d/ создал скрипт вида:

   #!/bin/sh

   echo "Starting VirtualBox..."
   su vbox -c '/usr/local/bin/VBoxManage startvm WIN2003STD --type headless'


URL: http://shurik.kiev.ua/blog/index.php?/archives/10-Zapusk_win...
Обсуждается: https://www.opennet.ru/tips/info/2144.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру