Запуск виртуальной машины в VirtualBox без GUI

    VirtualBoxИногда возникает необходимость запустить виртуальную машину на хосте без иксов. Я расскажу о том как это сделать, имея доступ к хостовой системе только по ssh + rdp (Remote Desktop Protocol). процесс я буду описывать для OC Ubuntu 9.10 в качестве хоста.

    Начнем с установки VirtualBox.

    Предварительно нужно установить пакет dkms (Dynamic Kernel Module Support Framework):

    sudo apt-get install dkms

    На сайте VirtualBox-а предлагается 2 варианта: прописать источник пакетов (deb download.virtualbox.org/virtualbox/debian karmic non-free) в /etc/apt/sources.list либо скачать и установить deb-пакет. Когда я прописал источник и сделал sudo apt-get install virtualbox-3.1 у меня потянулась куча пакетов из зависимостей (в том числе и каких-то для GUI интерфейса). Поэтому лучше скачать deb-пакет. Качаем, устанавливаем:

    sudo dpkg -i virtualbox-3.1_3.1.0-55467_Ubuntu_karmic_i386.deb

    возможно тут также потребуются зависимости (какие-то библиотеки для парсинга xml, в котором хранятся конфиги, но их значительно меньше чем в первом случае). Если установка не завершилась из-за зависимостей, можно просто сделать

    sudo apt-get -f install

    при этом установятся зависимости и VirtualBox

    ок. VirtualBox поставили. Начнем создавать guest-машины.

    создаем саму машину:

    VBoxManage createvm --name ubuntu --ostype Ubuntu --register
    (name — имя машины, ostype — тип системы. полный список всех типов можно узнать командой VBoxManage list ostypes)

    настраиваем

    VBoxManage modifyvm ubuntu --memory 512 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on --usb off --vrdp on --vrdpport 3390

    тут с большего все понятно. в качестве типа сети можно указать также NAT (--nic1 nat). также включаем rdp

    создаем hdd диск для виртуальной машины:

    VBoxManage createhd --filename /home/user/vbox/ubuntu.vdi --size 20000 --register

    добавляем контроллер IDE в нашу машину

    VBoxManage storagectl ubuntu --name "IDE Controller" --add ide

    цепляем на IDE0 созданный ранее hdd

    VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi

    на IDE1 цепляем установочный образ

    VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso

    говорим машине грузиться с диска

    VBoxManage modifyvm ubuntu --boot1 dvd

    запускаем машину

    nohup VBoxHeadless --startvm ubuntu &

    для того чтобы поставить базовую систему воспользуемся rdp-клиентом (у меня KDE, в стандартную поставку входит KRDC). коннектимся на хостовую машину на порт, который указали в настройках (--vrdpport 3390), ставим систему, делаем sudo apt-get install openssh-server. теперь на виртуальную машину можно попасть по ssh

    останавливаем виртуальную машину

    VBoxManage controlvm ubuntu acpipowerbutton
    через acpi

    или более жестко

    VBoxManage controlvm ubuntu poweroff

    говорим грузится с hdd

    VBoxManage modifyvm ubuntu --boot1 disk

    можно также отцепить установочный диск

    VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --medium none

    и снова запускаем

    nohup VBoxHeadless --startvm ubuntu &

    еще полезные команды:

    VBoxManage list runningvms
    просмотр всех запущенных машин

    VBoxManage showvminfo ubuntu
    просмотр информации о виртуальной машине

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

    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 20
    • +5
      Если всеравно есть машина с иксами, мне кажется более простым вариантом подготовить образ на ней.
      И пусть некоторые говорят что это не nix way ;)
      • +1
        Абсолютно согласен. Первая мысль, которая пришла в голову, это поднять мои образы ВМ на машине без иксов.
        • 0
          бывают ситуации где это неудобно(хотя и возможно).
          • 0
            А еще можно использовать параметры --help и все это там прочесть :)
            Ну а готовить образ на машине с иксами\виндой — само собой разумеется.
          • 0
            Хм. надо будет попробовать.
            Спасибо тему скопировал в блокнотик.
            • +2
              без зависимостей VirtualBox всяко не запустится, либо что-нибудь где-нибудь будет периодически отваливаться
              а чтобы не тянуть лишнего, можно делать так:

              sudo aptitude -R install virtualbox-3.1

              ключ -R позволяет избавиться от «рекомендуемых» зависимостей
              • 0
                Вот вы лучше расскажите, как можно в сеть запустить ее, так что б она жила как еще один житель сети :)
                Если через нат пытаться, то доступ есть только у мастер хоста и только с под того пользователя который запускет vbox.
                Я вот хотел как то на FreeBSD поднять ubuntu, поднять то поднял, но в сеть никак :(
                • +1
                  делаете guest машине сеть типа bridged и даете ей IP из диапазона вашей сети
                  • НЛО прилетело и опубликовало эту надпись здесь
                  • 0
                    ssh -Y login@srv.com и уж по крайней мере _установить_ систему можно через нормальный фейс =)
                    • 0
                      конечно если X-форвардинг включен
                    • 0
                      Вот тут нечто подобное писал:
                      seriyps.ru/blog/2009/01/23/how-to-ustanovit-virtualbox-v-ubuntu-vtoraya-redakciya/

                      Но вообще это все и правда есть в хелпе
                      • 0
                        А под виндой бы как так запустить, чтобы консольное окошко даже не маячило. ВМВаре и тот в трее умеет висеть.
                        • 0
                          отключить сервисное окно. виртуалка без него прекрасно работает.
                        • 0
                          еще бы написали как виртуальные машины прописывать в автозагрузку
                        • 0
                          спасибо, слышал о такой возможности… заинтересовали

                          RDP клиенты бывают же консольные?!
                          • 0
                            если честно — не смотрел ничего на эту тему
                          • 0
                            Спасибо за мануал :)
                            • 0
                              Ещё можно VirtualBox вместе с phpVirtualBox установить. Иксы тоже не нужны, однако имеем тот же GUI через веб-броузер.

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое