Ubuntu 8.04 LTS Server Edition супротив Microsoft Virtual Server 2005

Мне всегда нравилась виртуализация от Microsoft благодаря её простоте использования и бесплатности. Когда мне нужно запустить на одном сервере несколько разных ОС, я всегда использую MS Virtual Server и совершенно не боюсь этого делать в Production.

А еще мне все больше нравится Ubuntu как ОС, когда мне нужен Unix. Например, я столкнулся с проблемой неправильности обработки русских тегов на моём блоге под FreeBSD-7.0, и решил попробовать поднять WordPress на Ubuntu в виртуальной машине.

Это оказалось совсем не просто. Если FreeBSD-7.0 устанавливалась в виртуальную машину без проблем и, по сравнению с реальным компьютером, надо было только решить проблему четкости работы часов, то с Ubuntu все пошло гораздо тяжелее. Виснет инсталляция, виснет ядро после инсталляции, опять же не работают правильно часы. Не буду вдаваться в подробности, а просто опишу как же все таки установить Ubuntu. Кстати кроме Ubuntu Server Edition существует еще и Ubuntu JeOS – специальная сборка Ubuntu для виртуальных машин. JeOS поставилась в виртуальную машину без особых проблем, но её ядро не увидело сетевой карты. Мне показалось что решить проблему со сменой или перекомпилированием ядра тяжелее чем заставить Server Edition, которая определяла сеть нормально, работать. Итак, последовательность такая:

Создаем виртуальную машину, подключаем образ диска, настраиваем автозапуск виртуальной машины. Запускаем виртуальную машину, в её биосе можно ничего не менять. Запускаемся с CD, выбираем язык:

Нажимаем F6 и добавляем перед двумя тире:
vga=791 noreplace-paravirt

Далее жмем Enter и запускаемся.

Vga=791 переводит экран в расширенный текстовый режим и избавляет от лишних проверок на тип графического адаптера. У меня несколько раз виртуальная машина входила в какой-то непонятный графический режим, а эта опция позволяет этого избежать. К тому же потом удобнее работать с большей в 2 раза консолью.

Дальше проводим инсталляцию как обычно по своим требованиям.

Если мы попытаемся запустить машину сразу после инсталляции, даже добавив vga=791 noreplace-paravirt к параметрам ядра, то мы получим вот такой красивый Stack-Trace и надпись BUG: Int 6: CR2 00000000.

Поэтому опять грузимся с компакт диска.

Выбираем “Rescue a broken system” и, конечно же, добавляем магические vga=791 noreplace-paravirt.

После того, как получаем доступ к командной строке (в окружении виртуального диска а не инсталлятора – первая опция), выполняем:
apt-get update
apt-get remove linux-server
apt-get install linux-386

Тем самым, мы обновляем репозиторий пакетов и меняем ядро с серверного на стандартное i386. Конечно же для всего этого требуется, что бы машина получила адрес по DHCP и работоспособность интернета.

Далее фиксируем параметры запуска ядра:
vim /boot/grub/menu.lst

Убираем две записи с -server ядром, а к -386 ядру добавляем нужные параметры:
vga=791 noreplace-paravirt noapic nolapic clock=pit
Будет выглядеть это вот так:

Кстати курсоры работать не будут, напоминаю, что в ViM можно использовать вместо курсоров клавиши H J K L.

Сохраняемся. Exit из шелла. Перегружаем систему и можно грузиться в установленную ОС! Все должно работать, при чем часы должны идти точно, не опаздывать и не спешить, благодаря noapic nolapic clock=pit.

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

Вот и все – пущай работает!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.