Нояб 25

Установка Virtual Box 5.0 в Ubuntu Server 16.04 + COM1

Перенести из старого компьютера, систему Windows на новый компьютер без переустановки Windows со всем установленным программным обеспечением взаимодействующее с оборудованием работающем через COM порт

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

Важно! После переноса Windows на другой компьютер в виртуальную среду Вам придется повторно активировать операционную систему.

Конфигурация, которую мы переносили:
Материнская плата: GA-7VA (Rev 2.x) AMD Athlon
Видеокарта: ASUS V9570 TD 256MB, V9560XT/TD 128MB (64bit)
Процессор: Athlon XP 2000+
Жесткий диск: Seagate Barracuda 7200.9 3120213A 120 Гб
ОС: Windows XP Professional x86 (32 bit).
Конфигурация, на которую мы переносили:
Intel Core i7-6700K 
Intel(R) HD Graphics 
RAM 16GB 
Realtek PCIe GBE Family Controller
COM плата Espada PCIe2S1PLWCH

Первым делом проверяем в BIOS нового компьютера включена ли у нас поддержка Virtualization technology для этого при включение компьютера нажимаем F2 или кнопку Dellete.
Обычно пробежавшись по вкладкам BIOS обнаружить слово Virtualization technology не очень сложно, находим и выставляем Enabled

BIOS
Далее качаем дистрибутив Ubuntu Server 16.04 LTS 64-bit и записываем его на диск стандартными средствами Window 7,8,10 или на USB флешку при помощи программы UNetbootin.
С установкой Ubuntu Server 16.04 LTS 64-bit обычно проблем не возникает все интуитивно понятно, со всем соглашаемся во время установки и на все отвечаем да, единственное во время установки необходимо отметить установку ssh и прописать ip адрес в случае отсутствия dhcp сервера в сети.

Устанавливать систему желательно на English языке.

Если во время установки вы не указали IP адрес, то выполняем команду
ifconfig -a
И смотрим установленные сетевые адаптеры в нашем случае это enp2s0
ifconfig a
Далее редактируем файл interfaces
sudo vi /etc/network/interfaces
Откроется файл куда мы пропишем настройки. Для редактирование нажимаем клавишу Insert.
Ip адрес нашего сервера 192.168.0.2 роутера 192.168.0.1
auto lo
iface lo inet loopback
auto enp2s0
iface enp2s0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.1
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
Для сохранения нажимаем Esc потом удерживая Shift  два раза кнопку Z
interfaces

Далее перезапустим сеть.
sudo /etc/init.d/networking restart
и проверим доступ в интернет
ping 8.8.8.8
ping

Скачиваем программу putty запускаем ее указываем ip адрес нашего сервера Host name 192.168.0.2 port 22 нажимаем open подключаемся приняв сертификат пишем логин затем пароль, входим в систему.

обновляем список доступных пакетов
sudo apt-get update
далее обновим сами пакеты, пишем в терминале
sudo apt-get upgrade
соглашаемся, поставив символ Y нажимаем Enter ждем завершения процесса
apt get upgrade
далее желательно обновить нашу систему пишем
sudo apt-get dist-upgrade
ждем завершения процесса и перезагружаемся
sudo reboot
apt get dist upgrade end
Далее устанавливаем необходимые пакеты
sudo apt-get install build-essential dkms unzip wget mc
sudo apt get install build essential dkms unzip wget mc

Добавляем в source.list репозиторий
sudo vi /etc/apt/sources.list
и в конец или в начало пишем или копируем и вставляем
deb http://download.virtualbox.org/virtualbox/debian xenial contrib
Далее добавим публичные ключи
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add
и
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add 
и обновим

sudo apt-get update
sudo apt key add
далее запускаем установку VirtualBox
sudo apt-get install virtualbox-5.0
sudo apt get install virtualbox 5.0

после успешной установки VirtualBox переходим к добавлению пользователя в группу VirtualBox
Наш пользователь admin-room у Вас он может быть другим
sudo usermod -aG vboxusers admin-room
и проверим работу VirtualBox командой
sudo systemctl status vboxdrv
должен быть статус: active
sudo systemctl status vboxdrv
Теперь установим Oracle VirtualBox Extension Pack. Это расширение обеспечит такие функциональные возможности как:
1. Поддержка виртуального USB 2.0 (USB мышки, клавиатуры, флешки и т.д.)
2. Поддержка VirtualBox Remote Desktop Protocol (VRDP-удаленный доступ по RDP)
3. Поддержка Host webcam pass through (Web камера)
4. Поддержка загрузки Intel PXE
Скачиваем пакет
wget http://download.virtualbox.org/virtualbox/5.0.24/Oracle_VM_VirtualBox_Extension_Pack-5.0.24-108355.vbox-extpack
выполняем установку
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.24-108355.vbox-extpack
sudo VBoxManage extpack install Oracle VM VirtualBox Extension Pack 5.0.24 108355.vbox extpack
Теперь установим phpVirtualBox для создания и управления виртуальными машинами через WEB интерфейс.
Для начала установим веб-сервер Apache, PHP и модули PHP.
sudo apt-get install apache2 php php-mysql libapache2-mod-php php-soap php-xml
скачаем сам модуль
wget https://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-5.0-5.zip
Распаковываем архив
unzip phpvirtualbox-5.0-5.zip
переместим его в папку www/html/
sudo mv phpvirtualbox-5.0-5 /var/www/html/phpvirtualbox
установим полные права на данную папку
sudo chmod 777 /var/www/html/phpvirtualbox
Создаем конфигурационный файл из предоставленного по дефолту
sudo cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
Далее открываем его и редактируем
sudo vi /var/www/html/phpvirtualbox/config.php
нам необходимо поменять только два параметра, это пользователь и пароль
так как наш пользователь admin-room и пароль pass то мы меняем строки вписывая нашего пользователя и пароль
var $username = 'admin-room';
var $password = 'pass';
Важно! Не пытайтесь прописать пользователя root.

config php
Далее создаем конфигурационный файл
sudo vi /etc/default/virtualbox
Пропишем в него нашего пользователя admin-room
VBOXWEB_USER=admin-room
И перезагружаемся
sudo reboot
Пробуем зайти в наш Web интерфейс по ip адресу нашего сервера.
http://192.168.0.2/phpvirtualbox
должно появится окно входа, куда вводим логин и пароль по умолчанию.
Login: admin
Pass: admin
virtualbox login pass

Откроется интерфейс управления VirtualBox.
web virtualbox
Теперь, когда наш сервер готов к созданию виртуальной машины займемся переносом физического компьютера, для этого нам понадобится съёмный жёсткий диск или флешка объёмом больше чем занимает операционная система работающего компьютера.
Скачиваем на физический компьютер программу disk2vhd с сайта technet.microsoft.com по адресу:
https://technet.microsoft.com/ru-ru/sysinternals/ee656415
И запускаем, выбрав диски, которые необходимо преобразовать и место куда сохранить, в нашем примере необходимо преобразовать диск C: и сохранить на съёмный жёсткий диск под именем F:\WinXP
Важно! Снимаем галочки
Use VHDX и Use Volume Shadow copy
Так как VirtualBox на время написание статьи не поддерживает работу ОС на виртуальном диске формата VHDX, нужны или нет Вам теневые копии, решать Вам, нам они не нужны.
Disk2vhd
Важная заметка! В нашем случае было следующие: когда шкала уведомления о ходе преобразования достигла 100% программа автоматически не закончила работу в течение полу часа, пришлось закрыть ее крестиком и согласится с предупреждением о том, что процесс не закончился (на работу будущей ОС это не отразилось).
После преобразования, подключим диск к нашему серверу, на который мы сохранили наш виртуальный диск WindowsXP.VHD
Дальше нам необходимо монтировать наш съёмный диск.
Переходим в терминал и смотрим подключенные диски командой
sudo blkid
в нашем случае это LABEL="USB-DISK-1TB"
устройство /dev/sdb1
файловая система ntfs
sudo blkid
Создаем каталог для монтирования диска
sudo mkdir /mnt/usb-disk
назначим полные права
sudo chmod 777 /mnt/usb-disk
монтируем наш диск
sudo mount -t ntfs /dev/sdb1 /mnt/usb-disk
sudo mount
Создаем каталог в корне для хранения виртуального диска
sudo mkdir /vhd-disk
назначим права на папку
sudo chmod 777 /vhd-disk
и скопируем наш созданный ранее vhd диск
запустим файловый менеджер mc
sudo mc
нажмем клавишу TAB (на клавиатуре это клавиша с направленными стрелками в разные стороны) и на правой части редактора перейдем в /vhd-disk опять нажмем клавишу TAB на левой стороне перейдем в каталог /mnt/usb-disk стрелками выберем наш файл WindowsXP.VHD и нажмем клавишу F5 запустится процесс копирования дождемся завершения процесса.

mc

Далее идем в web интерфейс конфигурации VirtualBox и создаем новую виртуальную машину: Кликаем по клавише NEW и заполняем поля Name: WindowsXP | Type: Microsoft Windows | Version: Windows XP (64-bit). У вас может быть по-другому в зависимости от того какую версию Windows вы переносите нажимаем next

CreatVM name
Выбираем размер оперативной памяти мы выбрали 1048 mb, нажимаем next, далее выбираем Use an existing virtual hard disk file (Использовать существующий файл виртуального жесткого диска) и нажимаем на папочку с правой стороны, выбираем и кликаем два раза по папке vhd-disk далее выбираем наш диск который мы скопировали ранее, нажимаем ok и creat.
CreatVM name vhd
Далее выбираем нашу WindowsXP и нажимаем settings, выбираем вкладку network и тип сетевого адаптера выставляем bridget adapter (делаем это для того чтобы указать статистический ip нашей гостевой системе и в будущем подключаться к ней по RDP).
Config VM network
Далее переходим на вкладку Serial Ports и включаем Enable Serial Port выставив соответствующую галочку. Port Number: оставляем COM1, Port Mode: выбираем Host Device. Для того что бы нам узнать Port/File Path: необходимо запустить терминал ssh и подключится к нашему серверу. Не закрывая вкладку браузера переходим в терминал и вводим
sudo addgroup admin-room dialout
мы добавили нашего пользователя в группу dialout, далее смотрим наши com порты
dmesg | grep ttyS
смотрим какие com порты присутствуют в нашем компьютере в нашем случае это ttyS4 и ttyS5 два com порта.

com dmeseg grep ttys

Мы подсоединили оборудование к com порту 4 т.е. ttyS4 соответственно в настройках com порта в web интерфейсе мы прописали Port/File Path: /dev/ttyS4 нажимаем OK.

Config Com
Далее необходимо перезагрузить наш сервер!
Sudo reboot
После перезагрузки заходим в Web интерфейс и запускаем нашу Виртуальную машину, откроется окно Select start-up disk нажимаем Start. пробуем подключится по VRDP. Для этого нажимаем Win+R вводим mstsc откроется Подключение к удаленному рабочему столу. Вводим 192.168.0.2:9000 и подключаемся.
Для того чтобы мышка слушалась Вас правильно необходимо установить Guest Additions, в web интерфейсе выбираем нашу WindowsXP нажимаем на settings выбираем install Guest Additions
install guest additions
переходим на виртуальную машину, подключенную по VRDP и видим, что открылась установка Guest Additions устанавливаем.
install guest additions WindowsXP
далее переходим в сетевые подключения, свойства сетевого адаптера и прописываем статистический ip адрес, маску, шлюз и днс.

ethernet windowsXP

Теперь проверим работу Com порта, для этого мы подключились к нашей виртуальной ОС уже по стандартному порту RDP, запустили утилиту frs.exe и запросим статус фискального регистратора подключенного на порту COM1.
Наш фискальный регистратор успешно вернул ответ о статусе.
PRIM to COM
Осталось настроить автоматический старт нашей Виртуальной машины после перезагрузки, для этого откроем терминал и создадим скрипт
sudo vi /etc/init.d/virtualbox
куда пропишем следующее:
#!/bin/bash
VBOXDIR="/etc/vbox"
VM_USER="admin-room"
SU="su - $VM_USER -c"
VBOXMANAGE="VBoxManage -nologo"
VM="WindowsXP"
case "$1" in
start)
echo -n "Starting up virtual maschine $VM"
$SU "VBoxHeadless --startvm $VM > /dev/null 2>&1 &"
echo "done."
;;
restart)
$SU "VBoxManage controlvm $VM reset"
;;
stop)
$SU "VBoxManage controlvm $VM savestate"
;;
stopacpi)
$SU "VBoxManage controlvm $VM acpipowerbutton"
exit 0
;;
*)
echo "Usage: $N {start|restart|stop}" >&2
exit 1
;;
esac
exit 0
Вам необходимо изменить только два параметра это логин и имя VM
В нашем случае это VM_USER="admin-room" VM="WindowsXP"
script start
Делаем наш скрипт исполняемым
sudo chmod +x /etc/init.d/virtualbox
и добавим его в автозагрузку для этого откроем для редактирования
sudo vi /etc/rc.local
и напишем следующее до строчки exit 0
/etc/init.d/virtualbox start
autorun
Сохраним и перезагружаемся.

После перезагрузки можно проверить автоматический старт Виртуальной машины VirtualBox подключившись к ней по RDP указав ip адрес нашей VM 192.168.0.3

 Congratulations!

P.S. Если что то не работает, переустановите систему и сделайте еще раз ВСЕ ПО ИНСТРУКЦИИ не пропуская не единого шага!

Последняя проверка на работоспособность данного мануала: 13.01.2017


Administrator

Big fan of ubuntu ...

root@ubuntu:~# _ 

 

Краткое резюме

 

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены