Как установить и использовать Virtualbox
Используемые термины: Virtualbox, Windows, Linux.
Virtualbox позволяет легко организовать тестовую среду у себя на компьютере. Он удобен и прост в установке и использовании. Мы рассмотрим его установку на компьютеры под управлением Windows и Linux. Также мы установим Extension Pack.
Установка на Windows
Linux
Ubuntu
CentOS
Extension Pack
Шпаргалка с командами
Решение возможных проблем
На Windows
В качестве примера мы установим Virtualbox на Windows 10.
Скачиваем последнюю версию программы с официального сайта.
* на момент обновления это была версия 6.1.12.
Запускаем скачанный файл. В открывшемся окне нажимаем Next — откроется окно выбора компонентов. Оставьте все, как есть и нажмите Next:
В следующем окне оставьте галочки, как есть (для Virtualbox будут созданы ярлыки на рабочем столе, в меню Пуск и все файлы данной программы будут автоматически открываться в ней при двойном клике).
В следующем окне установщик предупредит, что на момент установки Virtualbox произойдет кратковременная потеря сети. Убедитесь, что сеть не понадобиться в ближайшие 2-3 минуты и нажмите Yes.
В последнем окне нажмите Install — начнется процесс инсталляции платформы виртуализации.
В процессе выскочит окно с предупреждением об установки дополнительных устройств — соглашайтесь.
Когда установки будет завершена, нажмите Finish.
На Linux
Для примера мы установим Virtualbox на Ubuntu и CentOS. Мы будем использовать командную строку — это быстрый и универсальный подход для работы с Linux.
Ubuntu
В Ubuntu программное обеспечение Virtualbox есть в репозиториях. Поэтому для установки вводим одну команду:
apt-get install virtualbox
Запуск программы выполняется командой:
virtualbox
... или в графическом интерфейсе среди приложений.
CentOS
Для установки на CentOS сначала переходим на страницу Download VirtualBox for Linux Hosts и копируем ссылку на последнюю версию платформы виртуализации для нужной версии Linux:
С помощью скопированной ссылки, скачиваем файл RPM на компьютер с CentOS командой:
wget https://download.virtualbox.org/virtualbox/6.1.12/VirtualBox-6.1-6.1.12_139181_el8-1.x86_64.rpm
* если мы получим ошибку, то выполним установку программы для загрузки файлов командой yum install wget.
Для установки virtualbox из загруженного файла вводим:
yum localinstall VirtualBox-*.rpm
Extension Pack (для Windows и Linux)
Extension Pack расширяет функциональные возможности Virtualbox, например — поддержка USB 3, PXE загрузка, шифрование диска. Установка выполняется одинаково для всех операционных систем.
С официального сайта скачиваем последнюю версию пакета:
Запускаем Virtualbox - кликаем по Файл - Настройки:
Нажимаем Плагины - добавление нового:
Выбираем скачанный файл - Установить - прокручиваем до конца лицензионное соглашение и кликаем по Я согласен (кнопка станет активной после пролистывания текста соглашения до конца).
Плагин будет установлен и появится в списке:
Некоторые команды для управления из консоли
Управление гипервизором из командной строки выполняется с помощью утилиты vboxmanage. Рассмотрим некоторые часто используемые команды в Linux и Windows для управления Virtualbox. Предполагается, что мы будем работать с виртуальной машиной с названием VMname.
Команды нужно выполнять от пользователя, под которым созданы виртуальные машины, так как при работе в многопользовательской среде, у каждого будет свой профиль с настройками Virtualbox.
1. Список виртуальных машин
Простой список:
vboxmanage list vms
Список с подробным выводом информации:
vboxmanage list vms -l
С сортировкой:
vboxmanage list vms -s
Подробная информаци о конкретной виртуальной машине:
vboxmanage showvminfo VMname
Список запущенных машин:
vboxmanage list runningvms
2. Создание виртуальной машины
Выполняется в несколько этапов. Для удобства работы, созданим переменную с названием создаваемой машины, например:
export VM_NAME='Astra01'
* предполагается, что мы создаем машину с названием Astra01.
Создаем VM:
vboxmanage createvm --name ${VM_NAME} --ostype Debian_64 --register --basefolder ~/"VirtualBox VMs"
* данная команды создаст машину с типом операционной системы Debian (x64). Ее папка будет размещена в каталоге VirtualBox VMs, который находится в домашней директории другого пользователя — эту опцию нужно проверить и проверить, где данная папка находится в вашем случае.
Список типов операционных систем можно посмотреть командой:
vboxmanage list ostypes
Мы должны получить соощение на подобие:
Virtual machine 'Astra01' is created and registered.
UUID: ecff742b-1fd2-4480-a923-dca50044e7b6
Settings file: '/home/dmosk/VirtualBox VMs/Astra01/Astra01.vbox'
Задаем нужные опции:
vboxmanage modifyvm ${VM_NAME} --ioapic on
vboxmanage modifyvm ${VM_NAME} --memory 2048 --vram 128
vboxmanage modifyvm ${VM_NAME} --nic1 nat
* где ioapic включает расширенную поддержку управления питанием на уровне БИОС; memory укажет на объем оперативной памяти; vram — объем видеопамяти; nic1 nat — создаст сетевое подключение типа NAT.
Создадим и подключим дисковый накопитель:
vboxmanage createhd --filename ~/"VirtualBox VMs"/${VM_NAME}/${VM_NAME}_DISK.vdi --size 16384 --format VDI
vboxmanage storagectl ${VM_NAME} --name "SATA Controller" --add sata --controller IntelAhci
vboxmanage storageattach ${VM_NAME} --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium ~/"VirtualBox VMs"/${VM_NAME}/${VM_NAME}_DISK.vdi
Подключим образ ISO:
vboxmanage storagectl ${VM_NAME} --name "IDE Controller" --add ide --controller PIIX4
vboxmanage storageattach ${VM_NAME} --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /ISO/debian.iso
Зададим порядок загрузки:
vboxmanage modifyvm ${VM_NAME} --boot1 dvd --boot2 disk --boot3 none --boot4 none
Разрешаем удаленный рабочий стол на 10001 порту:
vboxmanage modifyvm ${VM_NAME} --vrde on
vboxmanage modifyvm ${VM_NAME} --vrdemulticon on --vrdeport 10001
Запускаем созданную виртуальную машину:
vboxheadless --startvm ${VM_NAME}
Открываем клиент RDP (например, подключение к удаленному рабочему столу Windows) и выполняем установку системы.
3. Включение, выключение и перезагрузка
Включить:
vboxmanage startvm VMname
В зависимости от того, с графикой мы хотим запустить машину или нет, мы можем применить опцию type:
vboxmanage startvm --type gui VMname
vboxmanage startvm --type headless VMname
* где gui и headless, соответственно, для графики (отображение окна виртуальной машины) или в фоне.
Остановить:
vboxmanage controlvm VMname poweroff soft
Перезагрузка (грубая):
vboxmanage controlvm VMname reset
4. Редактирование
Переименовать виртуальную машину:
vboxmanage modifyvm "Rocky Linux 01" --name "Rocky-Linux-01"
* в данном примере мы изменили название с Rocky Linux 01 на Rocky-Linux-01.
Изменить количество ядер процессора:
vboxmanage modifyvm "Rocky Linux 01" --cpus 4
Изменить объем оперативной памяти:
vboxmanage modifyvm "Rocky Linux 01" --memory 4096
Включить вложенную виртуализацию:
vboxmanage modifyvm "Rocky Linux 01" --nested-hw-virt on
5. Работа с дисками
Добавление диска:
vboxmanage createmedium disk --filename "/home/user/VirtualBox VMs/VMname/disk_test.vdi" --size 10240 --format VDI --variant Standard
* где:
- filename — путь до файла с виртуальным диском.
- size — максимальный размер диска. Указывается в мегабайтах.
- format — формат диска. Возможные варианты: VDI, VMDK, VHD.
- variant — формат файла. Возможны варианты: Standard, Fixed, Split2G, Stream, ESX.
Подключение диска к вируальной машине.
Для начала выключаем виртуальную машину. Это можно сделать из самой операционной системы или как указано ранее в инструкции:
vboxmanage controlvm VMname poweroff soft
После можно выполнить команду:
vboxmanage storageattach VMname --medium "/home/user/VirtualBox VMs/VMname/disk_test.vdi" --storagectl "SATA" --port 1 --type hdd
Посмотреть имя контроллера у виртуальной машины можно командой:
vboxmanage showvminfo VMname | grep "Storage Controller Name"
Можно снова включать виртуальную машину:
vboxmanage startvm VMname
6. Работа со снимками
Показать список снапшотов для виртуальной машины:
vboxmanage snapshot VMname list
Создать снимок:
vboxmanage snapshot VMname take snapshot-name [--description=description] [--live]
* где:
- snapshot-name — имя для снимка.
- description — описание.
- live — не выключать машину для создания снимка (дольше по времени).
Восстановить из снимка:
vboxmanage snapshot VMname restore snapshot-name
* виртуальная машина должна быть выключена.
Удалить снимок:
vboxmanage snapshot VMname delete snapshot-name
7. Работа с сетью
Список сетей NAT:
vboxmanage list natnets
Возможные проблемы
Рассмотрим проблемы, с которыми мы можем столкнуться при установке или работе с Vitrualbox.
The VirtualBox Linux kernel driver is either not loaded or not set up correctly
Проблема может появиться при попытке запустить виртуальную машину. В ошибке говорится, что необходимо ввести команду '/sbin/vboxconfig' от пользователя root для решения проблемы. Однако, при вводе данной команды мы получаем ошибку:
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
kernel-devel kernel-devel-5.11.12-300.fc34.x86_64
* где kernel-devel kernel-devel-5.11.12-300.fc34.x86_64 — конкретная версия исходников ядра, которой не хватает программе.
Причина: для корректного запуска виртуальной машине не хватает конкретной версии исходников ядра. Данная версия указывается в сообщении об ошибке.
Решение: необходимо просто установить необходимые исходники. В зависимости от установленной системы Linux команды могут отличаться.
а) для Ubuntu / Debian:
apt-get install kernel-source-5.11.12-300.fc34.x86_64
б) для CentOS / Fedora:
yum install kernel-devel-5.11.12-300.fc34.x86_64
После выполняем команду:
/sbin/vboxconfig
Она должна выполниться без ошибок. После чего можно запускать виртуальную машину.