Сетевед Новости Статьи Книги Файлы Вопросы и Ответы Калькулятор Подсетей Правообладателям
Сетевед arrow Система arrow FreeBSD + qemu + windows
FreeBSD + qemu + windows Версия для печати

 В этой статье мы рассмотрим:
   как установить Windows XP / 2003 / др на FReeBSD в виртуальной машине qemu?
  Что такое qemu? как установить и настроить qemu? Виртуальная машина под FreeBSD. Как сделать терминальный сервер Windows под FreeBSD?

QEMU это свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ. Включая в себя эмуляцию

процессоров Intel x86, что собственно и требуется. Отличается очень быстрой эмуляцией при спользовании специального модуля, названного

kqemu. Изначально модуль kqemu имел проприетарную лицензнию, но в данный момент он запущен под GNU GPL.

Задача, поднять на сервере FReeBSD терминальный сервер(или просто машину) на Windows XP (2003). Чтобы на используемом сервере не было

запущено иксов, а все функции выполнялись в фоне.

1. Обновляем порты.
 portsnap fetch update

Ставим qemu:
#cd /usr/ports/emulators/qemu
#make -DWITH_KQEMU -DWITH_HACKS && make install clean

создаём диск который будет использоваться qemu

#mkdir /usr/local/win
#qemu-img create /usr/local/win/winxp.img 4096M
Диск будет 4 гигобайта, под мои нужды его хватит, свой размер выбирайте сами.

2. Устанавливаем Windows.

Запускаем qemu коммандой
#qemu -full-screen -localtime -m 512 -cdrom /dev/acd0 -boot d /usr/local/win/winxp.img

-full-screen - полный экран.
-m 512 - количество используемой памяти, старайтесь оставить системе порядка 25% общего объёма
-cdrom /dev/acd0 - указываем источник cdrom'a
и указываем диск

 Устанавливаем Windows обычным способом.

3. Подгружаем модуль
#kldload kqemu
#kldload aio
Для автоматической загрузки при старте в
#/boot/loader.conf добавляем
#kqemu_load="YES"
#aio_load="YES"


4. Настраиваем сеть.


создаём файл, к примеру - /etc/qemu-ifup, в него забиваем

        kldload bridge

        sysctl net.link.ether.bridge.enable=1

        sysctl net.link.ether.bridge.ipfw=1 
        # эту строчку пишем, если хотим  использовать ipfw для фильтрования
        # пакетов внутри моста через ipfw. По умолчанию не нужна.

        sysctl net.link.ether.bridge.ipf=1
        # эту строчку пишем, если хотим фильтровать пакеты внутри моста
        # через ipfilter. По умолчанию не нужна.

        sysctl net.link.ether.bridge.config=rl0,tap0
        # где rl0 - физический сетевой интерфейс, через который виртуальная винда
        # должна будет видеть вашу сеть.


делаем его исполняемым

 # chmod +x /etc/qemu-ifup
выполняем
#/etc/qemu-ifup


5.  Запускаем qemu:

# qemu -k ru -kernel-kqemu -full-screen -localtime -boot c /usr/local/win/win.img -net nic -net tap -m 512
замечаем, что создался tap интерфейс с пидом процесса qemu.

Отключаем все ненужные службы, оптимизируем, даём ip адрес.

6. Запуск в фоне:


в /usr/local/etc/rc.d/qemu.sh добавляем

/etc/qemu-ifup
/usr/local/bin/qemu /usr/local/bin/qemu -nographic -parallel null -serial null -monitor null -k ru -kernel-kqemu -localtime -net nic -net tap -m 512 -boot c /usr/local/win/win.img &

делаем его исполняемым
#chmod +x /usr/local/etc/rc.d/qemu.sh


Всё. при следующей перезагрузке запускается виртуальная машина с windows xp\2003, которым можно рулить при помощи терминала.

 

обсудить статью

 
< Пред.   След. >