Pull to refresh

Одновременное использование нескольких операционых систем при помощи colinux, Virtual PC и утилиты Desktops

Reading time 5 min
Views 4.3K

Преамбула:


Последнее время, мне приходится писать немного кода, и есть необходимость тестировать результаты его работы под разными платформами. Естественно я использую виртуальные машины.
Так как, кроме меня, моим ноутбуком пользуется еще и жена то основная ОС на нем winxp. Мне в принципе все равно с чем работать поэтому пусть будет windows…

Раньше, когда у меня в качестве оконного менеджера использовался IceWM, мне нравилось то что я могу использовать несколько «рабочих столов», для запуска различных тематических приложений в отдельно отведенном для них месте. Под windows такая возможность тоже есть, но те утилиты которые я пробовал, имели те или иные недостатки, поэтому рано или поздно мне приходилось от них отказываться… В конце концов я остановился на Desktops (от sysinternals) она тоже не лишена недостатков, но стабильность ее работы и небольшой размер перевесили все «минусы».

Цель:


Чего мы пытаемся добиться:
  • запустить на каждом из «рабочих столов» по отдельной операционной системе
  • сделать переключение между ними максимально удобным и быстрым




Нам понадобится:


coLinux скачать можно здесь (необходим для запуска ядра linux под ОС windows)
Virtual PC скачать можно здесь (необходим для запуска ОС windows под ОС windows :) ). Можно использовать и другие виртуальные машины (дома я использую VirtualBox, на работе Virtual PC) это не принципиально, но в статье пойдет речь о Virtual PC.
дистрибутив linux (далее будет рассказано о Slackware 12.2, т.к. я использую именно его)
Putty скачать можно здесь для захода на нашу виртуальную машину через ssh
Xming скачать здесь, нужен для запуска графических linux приложений через протокол X11.

Собственно установка


Desktops

Для начала установим Desktops, с ним все просто и понятно — скачиваем, распаковываем, запускаем

image

Мне показалось, что удобнее всего для переключения между «столами» в качестве горячей клавиши установить win-цифра.

Virtual PC

Сам процесс установки также прост: скачиваем, запускаем инсталлятор, далее устанавливаем нужную операционную систему внутри Virtual PC. Есть только один нюанс на который я хотел обратить внимание… Чтобы win-цифра не перехватывалась гостевой системой, необходимо настроить параметры клавиатуры как показано на скриншотах.

Virtual PC Console… пункт меню File\Options

image

Далее выбираем секцию Keyboard

image

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

Установка coLinux

Переходим к более сложной теме — установке дистрибутива linux внутри coLinux.
Для начала необходимо установить сам coLinux и.
Во время установки coLinux нужно будет убрать флажок Root Filesystem image (Download), так как нужный образ мы скачаем позже. coLinux необходимо установить в c:\colinux Далее потребуется образ дистрибутива Linux Slackware 12.2. Его можно взять по одному из рабочих «зеркал» (http://slackware.com/getslack/), необходимо скачать dvd образ и поместить его в директорию c:\colinux\linux\ задав имя файла slack12.iso.
Далее необходимо создать пустые файлы для подключения их в качестве дисков.
c:\>fsutil.exe file createnew c:\colinux\linux\hda.img 7000000000
c:\>fsutil.exe file createnew c:\colinux\linux\hdb.img 3000000000
c:\>fsutil.exe file createnew c:\colinux\linux\swap.img 300000000

Теперь нужно создать файл с опциями запуска coLinux в каталоге c:\colinux\ — для непосредственной установки Slackware install.conf
kernel=vmlinux
hda=c:\coLinux\linux\hda.img
hde=c:\coLinux\linux\swap.img
hdd=c:\coLinux\linux\slack12.iso
root=/dev/ram load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=10000
initrd=initrd.img
mem=256

Для последующей инсталляции Slackware, во время первого запуска coLinux, потребуется файл initrd.img, он находится внутри скаченного образа дистрибутива. Чтобы его от туда извлечь можно воспользоваться архиватором 7zip либо winrar. Распаковать его необходимо в каталог c:\coLinux\linux\

Установка Slackware

После того как все подготовлено, необходимо запустить установку linux. Из каталога c:\coLinux\ выполняем следующую команду:
colinux-daemon.exe -t nt install.conf

Появится предложение выбрать раскладку клавиатуры и ввести имя пользователя, можно нажать 2 раза enter. Далее подключаем диск с дистрибутивом linux
mount /dev/hdd /floppy

Подключаем swap раздел
mkswap /dev/hde
swapon /dev/hde

Форматируем и подключаем основной раздел для установки linux.
mkfs.ext2 -j /dev/hda

на вопрос Proceed anyway? (y,n) необходимо ответить y
mount /dev/hda /mnt

Далее необходимо установить нужные пакеты
cd /floppy/slackware
installpkg -root /mnt ./a/*.tgz ./ap/*.tgz ./d/*.tgz ./f/*.tgz ./l/*.tgz ./n/*.tgz

После установки всех пакетов необходимо отредактировать файл /mnt/etc/fstab чтобы при последующей загрузке все разделы подключились правильно.
Отредактировать файл можно так
nano /mnt/etc/fstab

вставив следующие строки
/dev/hda    /                   ext3      ro,noatime 2 2
/dev/hdb    /home               ext3      rw,noatime 2 2
/dev/hdd    /media/dvd          iso9660   defaults   0 0
/dev/hde    swap                swap      defaults   0 0
proc        /proc               proc      defaults   0 0
devpts      /dev/pts            devpts    gid=5,mode=620 0 0


После сохранения файла необходимо выключить виртуальную машину командой:
poweroff


Запуск coLinux в качестве службы

Теперь необходимо создать файл с опциями стандартного запуска coLinux в каталоге c:\colinux\
slack.conf
kernel=vmlinux
hda=c:\coLinux\linux\hda.img
hdb=c:\coLinux\linux\hdb.img
hdd=c:\coLinux\linux\slack12.iso
hde=c:\coLinux\linux\swap.img
root=/dev/hda
ro
initrd=initrd.gz
mem=128
cocon=120x40
eth0=tuntap

Далее запускаем установленную Slackware в первый раз
colinux-daemon.exe -t nt slack.conf

Если все прошло удачно и ОС загрузилась необходимо поместить в конец файла /etc/profile следующую строку.
export LANG=ru_RU.UTF-8

чтобы в качестве локали у нас использовалась UTF-8.
Также необходимо настроить ip адрес гостевой системы, в файле /etc/rc.d/rc.inet1.conf нужно задать IP адрес, маску и шлюз по умолчанию.

IPADDR[0]="192.168.0.2"
NETMASK[0]="255.255.255.0"
GATEWAY="192.168.0.1"


Перезагружаемся
reboot

и запускаем установленную Slackware в качестве службы windows
cd c:\colinux
colinux-daemon.exe --install-service colinux slack.conf
net start colinux

Если у вас получилось подключиться к гостевой машине через ssh — значит можно двигаться дальше…

Установка X сервера Xming


Установка и настройка Xming довольно таки проста, но есть ряд не очевидных моментов на которых я бы хотел остановиться…
  • Первый момент это опции запуска X-сервера
  • Второе — подключение шрифтов


Теперь подробнее...


Подключение шрифтов

Если вы, также как и я, хотите видеть и иметь возможность вводить русский текст, то вам понадобится установить кириллические шрифты. Сделать это довольно просто, достаточно запустить в каталоге со шрифтами:
mkfontdir
mkfontscale

вышеуказанные утилиты можно взять из комплекта cigwin, а можно просто скопировать весь каталог со шрифтами на машину с linux и выполнить эти команды там.
Каталоги с шрифтами нужно прописать в файле C:\Program Files\Xming\font-dirs

Создание подключения к X-серверу

Чтобы указать какие раскладки клавиатуры будет использоваться и как переключаться между ними, необходимо задать их в качестве параметров.
Если нужны 2 раскладки клавиатуры — русская и английская, а переключение по Alt-Shift, то опции будут такими:
-xkblayout us,ru -xkbvariant basic,winkeys -xkboptions grp:alt_shift_toggle

На скриншотах показано как запустить на отдельном «рабочем столе» X-сервер
image
image
image
image
image
Сохраняем файл настроек Xming и делаем для запуска ярлычок на рабочем столе.

Соединяем все вместе...


Итак у нас есть 4 «рабочих стола»
  • на первом будем запускать «родные» приложения
  • на втором у нас будет развернута во весь экран гостевая виртуальная ОС windows (мне нужна для всяческих бесчеловечных экспериментов)
  • на третьем развернутый во весь экран X-сервер с linux

После загрузки машины переключаемся на второй «рабочий стол» (нажимаем win-2), запускаем Virtual PC во весь экран. Далее переключаемся на третий «рабочий стол» (нажимаем win-3) и запускаем ярлык подключения к lixux через Xming…
Теперь чтобы переключиться с windows окружения на linux достаточно нажать сочетание win-3, чтобы попасть на гостевую машину с windows нажимаем win-2, чтобы вернуться к основной работе жмем win-1. При этом все работает параллельно и можно в любой момент вернуться к нужной ОС.

Вот так это выглядит у меня:
(первый и третий «рабочие столы»)
Free Image Hosting at FunkyIMG.comFree Image Hosting at FunkyIMG.com

PS:

О том как настроить putty в качестве туннеля для X11 можно прочесть вот здесь вполне доходчиво и понятно изложено…

UPD: вместо Desktops воспользоваться VirtuaWin
Tags:
Hubs:
+37
Comments 40
Comments Comments 40

Articles