Virtualbox linux руководство

Ссылки по теме

  • VirtualBox/Install Arch Linux as a guest
  • Category:Hypervisors (Русский)
  • PhpVirtualBox
  • RemoteBox
  • Moving an existing install into (or out of) a virtual machine

Состояние перевода: На этой странице представлен перевод статьи VirtualBox. Дата последней синхронизации: 17 ноября 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

VirtualBox — гипервизор, предназначенный для запуска операционных систем в специальной среде, называемой виртуальной машиной, поверх существующей операционной системы. VirtualBox постоянно развивается и внедряет новые возможности. Взаимодействовать с виртуальными машинами можно как через графический интерфейс на базе Qt, так и с помощью headless- и SDL-утилит командной строки.

Для некоторых гостевых ОС были разработаны гостевые дополнения (guest additions), которые позволяют частично совмещать функциональность хостовой и гостевой операционных систем — совместный доступ к каталогам и буферу обмена, ускорение видео и бесшовная интеграция окон.

Установка

Установите VirtualBox по указаниям ниже, чтобы создавать и запускать виртуальные машины в Arch Linux.

Установка основных пакетов

Установите пакет virtualbox. Кроме того, необходимо установить host-модули:

  • для ядра linux установите virtualbox-host-modules-arch.
  • для других ядер (включая linux-lts) установите virtualbox-host-dkms.

DKMS-хук Pacman автоматически перекомпилирует модули virtualbox-host-dkms при каждом обновлении VirtualBox и/или ядра. При компиляции потребуются пакеты с заголовочными файлами для вашего ядра (например, linux-lts-headers для ядра linux-lts) [1].

Подписывание модулей

Если вы используете нестандартное ядро с включённой опцией CONFIG_MODULE_SIG_FORCE, то необходимо подписать ваши модули ключом, сгенерированным во время компиляции ядра.

Перейдите в дерево каталогов вашего ядра и выполните:

# for module in `ls /lib/modules/$(uname -r)/kernel/misc/{vboxdrv.ko,vboxnetadp.ko,vboxnetflt.ko}` ; do ./scripts/sign-file sha1 certs/signing_key.pem certs/signing_key.x509 $module ; done

Примечание: Алгоритм хэширования может отличаться от указанного, но он должен быть встроен в ядро.

Загрузка модулей ядра для VirtualBox

virtualbox-host-modules-arch и virtualbox-host-dkms используют службу systemd-modules-load.service для загрузки необходимых VirtualBox модулей ядра при запуске системы. Если необходимо загрузить модуль сразу после установки, то либо перезагрузитесь, либо однократно загрузите его вручную. Список модулей можно найти в файлах /usr/lib/modules-load.d/virtualbox-host-modules-arch.conf или /usr/lib/modules-load.d/virtualbox-host-dkms.conf.

Примечание: Если автоматическая загрузка модулей VirtualBox при запуске системы нежелательна, замаскируйте файлы /usr/lib/modules-load.d/virtualbox-host-modules-arch.conf и /usr/lib/modules-load.d/virtualbox-host-dkms.conf, создав пустой файл (или символическую ссылку на /dev/null) с таким же именем в каталоге /etc/modules-load.d/.

Среди используемых VirtualBox модулей ядра обязательным является vboxdrv. Если он не был загружен, то запустить виртуальные машины не получится.

Чтобы загрузить модуль вручную, выполните:

# modprobe vboxdrv

Следующие модули необходимы в некоторых сложных конфигурациях:

  • vboxnetadp и vboxnetflt необходимы для сетевых взаимодействий в режимах bridged и host-only. Если точнее, vboxnetadp позволяет через настройки VirtualBox создать в хостовой системе программный сетевой интерфейс, а vboxnetflt даёт виртуальной машине возможность его использовать.

Примечание: Если модули ядра для VirtualBox были загружены, а после этого получили обновления, то необходимо перезагрузить их вручную, чтобы заработала обновлённая версия. Для этого выполните команду vboxreload с правами root.

Доступ к USB-устройствам хоста из гостевой ОС

Добавьте пользователя в группу vboxusers, если необходимо предоставить ему доступ к USB-портам хоста из виртуальной машины.

Диск с гостевыми дополнениями

Если в качестве гостя выступает не Arch Linux, то имеет смысл установить пакет virtualbox-guest-iso. Он работает как образ диска, с которого можно установить гостевые дополнения. Файл .iso будет находиться в каталоге /usr/lib/virtualbox/additions/VBoxGuestAdditions.iso. Зайдите в гостевую систему, вручную смонтируйте образ и запустите установщик.

Расширения

Oracle Extension Pack предоставляет набор дополнительной функциональности. Набор распространяется под несвободной лицензией только для личного пользования. Расширения доступны в виде пакета virtualbox-ext-oracleAUR в AUR или в скомпилированном виде в неофициальном репозитории seblu.

Более «традиционный» способ — скачать расширения с сайта разработчиков и установить их либо через графический интерфейс (File > Preferences > Extensions), либо командой VBoxManage extpack install <.vbox-extpack>. Предварительно убедитесь, что у вас есть инструмент вроде Polkit для выдачи привилегированного доступа к VirtualBox — установка требует прав root.

Интерфейсы

Для VirtualBox разработано три интерфейса:

  • стандартный графический интерфейс, команда VirtualBox.
  • интерфейс командной строки, команда VBoxSDL; создаёт окно виртуальной машины без оверлеев.
  • интерфейс командной строки без отображения окон (например, для ВМ, находящейся на сервере), команда VBoxHeadless. Расширение VRDP позволяет получить доступ к экрану виртеальной машины.

Настройки безопасности Wayland (в частности, при использовании GDM) не пропускает ввод с клавиатуры в VirtualBox, что мешает, например, использовать в гостевой ОС комбинации клавиш. Чтобы это обойти, добавьте VirtualBox в белый список:

$ gsettings get org.gnome.mutter.wayland xwayland-grab-access-rules
$ gsettings set org.gnome.mutter.wayland xwayland-grab-access-rules "['VirtualBox Machine']"

Первая команда выведет текущий список приложений в белом списке. ‘VirtualBox Machine’ необходимо добавить к этому списку (вторая команда в примере выше не добавляет, а создаёт список из ровно одного элемента).

Наконец, можно администрировать виртуальные машины через веб-интерфейс с помощью phpVirtualBox.

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

Важно: Если вы собираетесь хранить образы виртуальных дисков в файловой системе Btrfs, то перед их созданием необходимо отключить copy-on-write для целевого каталога.

Пошаговая установка Arch Linux как гостевой ОС

Установка Arch Linux в виртуальную машину

Примечание: Хостам с ОС Windows, возможно, придется отключить Hyper-V для того, чтобы использовать возможности виртуализации устройств и создания 64-битных виртуальных машин в VirtualBox. Чтобы узнать, как отключить или снова включить Hyper-V, посмотрите пост на StackOverflow.

Загрузите установочный носитель Arch через один из виртуальных дисков виртуальной машины. Затем совершите установку базовой системы Arch, как описано в руководстве по установке, без установки графических драйверов: мы будем устанавливать драйвера, поставляемые VirtualBox на следующем этапе.

Установка в режиме EFI

Если вы хотите установить Arch Linux в режиме EFI внутри VirtualBox, в настройках виртуальной машины, перейдите в закладку Настройки, и установите флажок Enable EFI (special OSes only). После выбора ядра из меню установочного носителя Arch Linux, установка будут висеть в течение минуты-двух, и после этого будет загружено ядро . Подождите и не прекращайте установку.

При загрузке в режиме EFI, VirtualBox будет пытаться выполнить /EFI/BOOT/BOOTX64.EFI из ESP. Если первый вариант не удается, VirtualBox будет пытаться выполнить сценарий оболочки EFI startup.nsh из корня ESP. Если вы не хотите вручную запускать загрузчик из оболочки EFI каждый раз, вы должны будете переместить свой загрузчик в этот путь по умолчанию. Не заморачивайтесь с VirtualBox Boot Manager (доступен по F2 при загрузке): EFI данные будут добавлены в него вручную при загрузке или efibootmgr будет сохранять их после перезагрузки, но терять после закрытия виртуальной машины.

Установка гостевых дополнений

После завершения установки гостевой системы, установите дополнения гостевой ОС, которые включают драйверы и приложения, оптимизирующие гостевую операционную систему. Они могут быть установлены с помощью virtualbox-guest-utils.

Примечание: Метод, описанный в VirtualBox руководстве не работает на гостевой Arch Linux, в результате Unable to determine your Linux distribution несколько раз повторено, как сообщение об ошибке. Если Вы уже попробовали этот первый метод и вы используете правильное описанное выше решение впоследствии, это не удастся. Вы получите ошибку /usr/bin/VBox* exists in filesystem и /usr/lib/VBox* exists in filesystem. Решение заключается в удалении конфликтующих файлов: # rm /usr/bin/VBox* /usr/lib/VBox* Эти файлы на самом деле являются символическими ссылками на места, где были установлены гостевые дополнения; По умолчанию, это /opt/VBoxGuestAdditions-номер версии. Удалите и эти файлы # rm -r /opt/VBoxGuestAdditions-номер версии,так как они не нужны. Теперь вы можете перезапустить установку правильным, вышеописанным способом.

Загрузка модулей ядра VirtualBox

Для загрузки модуля вручную выполните:

# modprobe -a vboxguest vboxsf vboxvideo

Чтобы загрузить модуль VirtualBox во время загрузки системы, обратитесь к Загрузка ядра#Автоматическое управление модулями и создайте *.conf файл (например, virtualbox.conf) в директории /etc/modules-load.d/ с следующим содержанием:

/etc/modules-load.d/virtualbox.conf
vboxguest
vboxsf
vboxvideo

Кроме того, команда

# systemctl enable vboxservice 

включает автозагрузку модулей и синхронизацию времени хоста и гостевой ОС.

Запуск гостевых сервисов VirtualBox

После довольно непростой установки с модулями ядра VirtualBox, необходимо обеспечить взаимодействие гостевой ОС и хоста посредством сервисов. Гостевой сервис — на самом деле просто исполняемый файл, обращающийся к VBoxClient, который будет взаимодействовать с вашей X Window System. VBoxClient управляет следующими функциями:

  • Общий буфер обмена и перетаскивания между принимающей стороной и гостевой ОС;
  • Бесшовный оконный режим;
  • Гостевой дисплей автоматически изменяется в соответствии с размером окна гостевой ОС;
  • Проверка версии VirtualBox, установленной на хосте.

Все эти особенности могут быть включены независимо следующими параметрами:
 $ VBoxClient —clipboard —draganddrop —seamless —display —checkhostversion

Как ссылка, VBoxClient-all bash скрипт позволяет использовать все эти функции. Вы должны установить VBoxClient, который будет автоматически загружен в качестве DE или оконного менеджера

На практике,

  • Если вы используете DE, вам просто нужно установить флажок или добавить /usr/sbin/VBoxClient-all} в разделе автозапуска вашей DE (DE обычно устанавливают флаг на .desktop файлы в ~/.config/autostart, см. настройку автозапуска для более подробной информации);
  • Если у вас нет каких-либо DE, добавьте следующую строку в начале ~/.xinitrc перед любыми exec функциями:
~/.xinitrc
/usr/bin/VBoxClient-all

VirtualBox также может синхронизировать время между хостом и гостевой ОС. Чтобы сделать это, выполните VBoxService с правами суперпользователя. Чтобы установить автоматический запуск этого кода при загрузке, выполните:

# systemctl enable vboxservice

Теперь у вас есть рабочая гостевая Arch Linux. Поздравляем!

Если вы хотите расшарить директории между вашим компьютером и гостевым Arch Linux, читайте дальше.

Расшаривание директорий

Общие папки управляются в хосте через настройки виртуальной машины, доступной через графический интерфейс VirtualBox, на вкладке Shared Folders. Там путь к директории и имя точки монтирования определены как Имя папки и аргументы, такие как Read-only, Auto-mount и Make permanent Эти параметры могут быть определены через утилиту VBoxManage. См. для более подробной информации.

Независимо от того, какой метод вы будете использовать, чтобы смонтировать директорию, требуются некоторые начальные действия.

Чтобы избежать проблемы /sbin/mount.vboxsf: mounting failed with the error: No such device, убедитесь, что модуль ядра vboxsf загружен правильно. Он должен быть загружен, поскольку мы включили все гостевые модули ядра ранее.

Два дополнительных шага необходимы для того, чтобы точки монтирования должны быть доступны из пользователей кроме root-а:

  • Пакет virtualbox-guest-utils создает группу vboxsf;
  • Ваше имя пользователя должно быть в этой группе, используйте команду gpasswd -a $USER vboxsf, чтобы добавить свое имя пользователя и запустите newgrp, чтобы применить изменения немедленно.

Ручное монтирование

Выполните следующую команду для монтирования директории в гостевой Arch Linux:

# mount -t vboxsf имя_расшариваемой_директории точка_монтирования_в_гостевой_ОС

Файловая система vboxsf предоставляет и другие способы, просмотреть которые можно выполнив:

# mount.vboxsf

Например, если пользователь не добавлен в vboxsf группу, мы могли бы использовать эту команду, чтобы смонтировать директорию в гостевой ОС:

# mount -t vboxsf -o uid=1000,gid=1000 home /mnt/

Где UID и GID являются значениями, соответствующими пользователям, которым мы хотим дать доступ к монтированию директории. Эти значения можно узнать из вывода команды id, выполненной из сессии этого пользователя.

Автомонтирование

Чтобы функция автоматического монтирования заработала, вы должны включить флажок в графическом интерфейсе или использовать дополнительный аргумент --automount при команде VBoxManage общая_директория

Теперь общая директория должна появиться в /media/sf_имя_расшаренной_директории.

Вы можете использовать символические ссылки, если хотите иметь более удобный доступ:

$ ln -s /media/sf_имя_расшаренной_директории ~/мои_документы

Монтирование при загрузке

Вы можете монтировать директории с помощью fstab. Во избежание проблем с systemd, необходимо добавить в /etc/fstab строчку comment=systemd.automount.
Таким образом, общие папки монтируются только тогда, когда доступны точки подключения, а не во время запуска. Это может избежать некоторых проблем, особенно если гостевая ОС еще не загружена, когда systemd уже начал читать fstab и монтировать разделы.

desktop   /media/desktop    vboxsf  uid=user,gid=group,rw,dmode=700,fmode=600,comment=systemd.automount 0 0

mount.vboxsf может не поддерживать[устаревшая ссылка 2020-08-06 ⓘ] nofail аргумент:

desktop   /media/desktop    vboxsf  uid=user,gid=group,rw,dmode=700,fmode=600,nofail 0 0

Импорт/экспорт виртуальных машин VirtualBox в/из других гипервизоров

Если вы планируете использовать виртуальную машину на другом гипервизоре или хотите импортировать в VirtualBox виртуальную машину, созданную в другом гипервизоре, вы можете быть заинтересованы в чтении следующих шагов.

Удаление дополнений гостевой ОС

Гостевые дополнения доступны в большинстве гипервизоров: VirtualBox поставляется с гостевыми дополнениями, VMware с VMware Tools, Parallels с инструментами Parallels, и т.д. Это дополнительные компоненты, предназначенные для установки внутри виртуальной машины после гостевой операционной системы, состоящие из драйверов устройств и системных приложений, которые оптимизируют гостевую операционной системы для повышения производительности и удобства использования. Читать подробнее.

Если у вас установлены дополнения в вашей виртуальной машине — удалите их в первую очередь. Ваша гостевая ОС, особенно если это ОС из семейства Windows, может вести себя странно, аварийно или не загрузиться вообще, если вы используете специальные драйверы одного гипервизора на другом.

Использование правильного формата виртуального диска

От этого шага будет зависеть способность преобразовывать образ диска виртуальной в другие форматы — непосредственно или конвейерным методом.

Автоматические инструменты

Некоторые компании предоставляют инструменты, которые предлагают возможность создания виртуальных машин с операционной системой Windows или GNU / Linux, расположенной в виртуальной машине или даже в оригинальной установке. С таким продуктом вам не нужно применять этот и следующие шаги, и можно далее не читать.

  • Parallels Transporter — не бесплатный, продукт от Parallels Inc. Это решение в основном заключается в части программного обеспечения под названием агент, который будет установлен в гостевой ОС, которую вы хотите импортировать / преобразовать. Затем, Parallels Transporter, который работает только на OS X , создаст виртуальную машину с этим агентом, который контактирует либо по USB или по сети Ethernet.
  • VMware vCenter Converter — бесплатен при регистрации на Webiste VMware, работает почти так же, как Parallels Transporter, но часть программного обеспечения, которая собирает данные для создания виртуальной машины работает только на платформе Windows.

Ручное преобразование

Во-первых, ознакомьтесь с форматами, поддерживаемыми Virtualbox и форматами других гипервизоров.

  • Импорт и экспорт виртуальной машины из/в формат VMware не является проблемой, если вы используете формат диска VMDK или OVF, в противном случае преобразования VMDK в VDI и VDI в VMDK можно осуществить вышеописанным VMware vCenter Converter.
  • Импорт и экспорт из/в QEMU почти не проблема: некоторые форматы QEMU поддерживает непосредственно VirtualBox и преобразование между QCOW2 в VDI и VDI в QCOW2 по-прежнему доступны в случае необходимости.
  • Импорт и экспорт из/в Parallels гипервизора является трудный задачей: Parallels поддерживает только свой собственный формат жесткого диска (даже стандартные форматы и портативный формат OVF не поддерживается!).
  • Чтобы экспортировать виртуальную машину для Parallels, вам нужно будет использовать инструмент описанной выше Parallels — Transporter.
  • Чтобы импортировать виртуальную машину в VirtualBox, вы должны будете использовать VMware vCenter Converter , чтобы преобразовать виртуальную машину в формат VMware в первую очередь — а затем используйте инструмент для миграции с VMware.

Создание конфигурации VM для гипервизора

Каждый гипервизор имеет свой собственный файл конфигурации виртуальной машины: .vbox для VirtualBox, .vmx для VMware, config.pvs файл, расположенный в виртуальной машине (.pvm файл), и т.д. Вы можете, таким образом, создать новую виртуальную машину в новом гипервизоре и указать его конфигурацию как можно ближе относительно начальной виртуальной машины.

Обратите пристальное внимание на интерфейс прошивки (BIOS или UEFI), используемый для установки гостевой операционной системы. В то время как опция доступна выбирать между этими 2 интерфейсов на VirtualBox и на Parallels решений, на VMware, вам придется вручную добавить следующую строку в ваш .vmx файл.

ArchLinux_vm.vmx
firmware = "efi"

Наконец, настройте ваш гипервизор, для использования существующего виртуального диска, который вы преобразовали и запустите виртуальную машину.

Совет:

  • В VirtualBox, если вы не хотите просмотривать весь графический интерфейс, чтобы найти нужное место где можно добавить новый виртуальный диск устройства, вы можете Заменить виртуальный диск вручную из файла .vbox, или использовать VBoxManage storageattach, описанный в увеличении вируального диска или в руководстве VirtualBox
  • Кроме того, в продуктах VMware, вы можете заменить местоположение текущего местоположения виртуального диска путем адаптации .vmdk местоположения файла в .vmx конфигурационном файле.

Управление виртуальными дисками

Форматы, поддерживаемые VirtualBox

VirtualBox поддерживает следующие форматы виртуальных дисков:

  • VDI: Virtual Disk Image является собственным стандартои VirtualBox, используемыи по умолчанию, когда вы создаете виртуальную машину в VirtualBox.
  • VMDK: изначально разработан VMware для своих продуктов.Спецификация была закрытым исходным кодом, но сейчас стало открытым форматом, который полностью поддерживается VirtualBox. Этот формат дает возможность разбивать себя на несколько файлов по 2 Гб. Эта функция особенно полезна, если вы хотите сохранить виртуальную машину на компьютерах, которые не поддерживают очень большие файлы. Другие форматы, за исключением формата HDD от Parallels, не обеспечивают такую эквивалентную функцию.
  • VHD: Virtual Hard Disk — формат, используемый в Microsoft в Windows Virtual PC и Hyper-V. Если вы собираетесь использовать любой из этих продуктов Microsoft, вы должны будете выбрать этот формат.

Совет: Начиная с Windows 7, этот формат может быть установлен непосредственно без каких-либо дополнительных приложений.

  • VHDX (только для чтения): Это расширенная версия формата виртуального жесткого диска, разработанного Microsoft, которая была выпущена на 2012-09-04 с Hyper-V 3.0 при переходе на Windows Server 2012. Эта новая версия имеет повышенную производительность (лучшее расположение блоков), большие размеры блоков и поддержку журнала. VirtualBox поддерживает этот формат только для чтения.
  • Версия 2 HDD: Формат HDD разработан Parallels Inc и используются в их гипервизоре, например Parallels Desktop для Mac. Новые версии этого формата (т.е. 3 и 4) не поддерживаются из-за отсутствия документации для этого форматф.
  • QED: Формат Enhanced Disk QEMU — старый формат для QEMU, свободный и открытый. Этот формат был разработан в 2010 году таким образом, чтобы обеспечить превосходную альтернативу qcow2 и другим форматам. Этот формат имеет полностью асинхронный ввод / вывод, хорошую целостность данных, откат файлов и разреженные файлы. Формат QED поддерживается только для совместимости с виртуальными машинами, созданными в старых версиях QEMU.
  • QCOW: QEMU CoW — нынешний формат для QEMU.Формат QCOW поддерживает прозрачное сжатие на основе ZLIB и шифрование (последнее имеет недостаток, и не рекомендуется к сипользованию). QCOW доступен в двух версиях: QCOW и qcow2. Последний, как правило, заменяет первый. QCOW в настоящее время поддерживается VirtualBox. Qcow2 поставляется в двух версиях: qcow2 0.10 и qcow2 1.1 (по умолчанию используемый при создании виртуального диска с QEMU). VirtualBox не поддерживает qcow2.
  • OVF: Open Virtualization Format является открытым форматом, который был разработан для обеспечения взаимодействия и распределения виртуальных машин между различными гипервизоров. VirtualBox поддерживает все версии этого формата через VBoxManage импорт / экспорт, но с [https: //www.virtualbox.org/manual/ch14.html#KnownProblems известными ограничениями].
  • RAW: Это режим, когда виртуальный диск скидывается непосредственно на диск без определенного формата файл контейнера. VirtualBox поддерживает эту функцию несколькими способами: преобразование RAW диск к определенному формату, или клонированием диска в формате RAW, или непосредственно через файл VMDK, который указывает на физический диск или просто файл.

Преобразование виртуальных дисков разных форматов

VMDK в VDI и VDI в VMDK

VirtualBox может конвертировать VDI в VMDK и обратно с использованием VBoxManage clonehd.

VMDK в VDI:

$ VBoxManage clonehd source.vmdk destination.vdi --format VDI

VDI в VMDK:

$ VBoxManage clonehd source.vdi destination.vmdk --format VMDK

VHD в VDI и VDI в VDH

VirtualBox также может конвертировать VHD в VDI и наоборот с использованием VBoxManage clonehd:

VHD в VDI:

$ VBoxManage clonehd source.vhd destination.vdi --format VDI

VDI в VHD:

$ VBoxManage clonehd source.vdi destination.vhd --format VHD

QCOW2 в VDI и VDI в QCOW2

VBoxManage clonehd не может конвертировать QEMU форматы и необходимо воспользоваться иными инструментами. Команда qemu-img из пакета qemu-desktop может осуществлять преобразования QCOW2<=>VDI.

Примечание: qemu-img также обрабатывает кучу других форматов. В соответствии выводу qemu-img --help, qemu-img поддерживает данные форматы : «vvfat vpc vmdk vhdx vdi ssh sheepdog sheepdog sheepdog raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd nbd nbd iscsi dmg tftp ftps ftp https http cow cloop bochs blkverify blkdebug'».

QCOW2 в VDI:

$ qemu-img convert -pO vdi source.qcow2 destination.vdi

VDI в QCOW2:

$ qemu-img convert -pO qcow2 source.vdi destination.qcow2

Так как QCOW2 предостовляется в двух версиях (0.10 и 1.1) (см. форматы, поддерживаемые VirtualBox. Используйте параметр -o compat= для выбора версии.

$ qemu-img convert -pO qcow2 source.vdi destination.qcow2 -o compat=0.10

или

$ qemu-img convert -pO qcow2 source.vdi destination.qcow2 -o compat=1.1

Совет: Параметр -p отображает прогресс выполнения преобразования.

Монтирование виртуальных дисков

VDI

Монтирование образов VDI работает только с образами фиксированного размера (т.е. статичными образами); динамические образы (динамическое выделение размера) монтируются довольно-таки не просто.

Если необходимо смещение раздела (в VDI), добавьте значение offData в 32256 (например, 69632 + 32256 = 101888):

$ VBoxManage internalcommands dumphdinfo <storage.vdi> | grep "offData"

Теперь cмонтируем:

# mount -t ext4 -o rw,noatime,noexec,loop,offset=101888 <storage.vdi> /mntpoint/

Вы также можете использовать скрипт mount.vdi, который можно использовать (и даже установить скрипт в /usr/bin/:

# mount -t vdi -o fstype=ext4,rw,noatime,noexec vdi_file_location /mnt/

Также можно использовать модули ядра qemu-desktop , которые выполняют эту же функцию attrib:

# modprobe nbd max_part=16
# qemu-nbd -c /dev/nbd0 <storage.vdi>
# mount /dev/nbd0p1 /mnt/dir/
# # to unmount:
# umount /mnt/dir/
# qemu-nbd -d /dev/nbd0

Если файлы раздела не распространяются, попробуйте использовать partprobe /dev/nbd0. В противном случае, VDI раздел может быть отображен непосредственно в файл с помощью qemu-nbd -P 1 -c /dev/nbd0 <storage.vdi>.

Сжатие виртуальных дисков

Сжатие работает только с файлами .vdi и в основном состоит из следующих действий:

Загрузите виртуальную машину и удалите все ненужное вручную или с помощью специальных средств, например bleachbit (доступна для ОС Windows).

Затирание свободного места нулями может быть выполнено следующими инструментами:

  • Если вы пользовались Bleachbit, просто установите галочку System > Free disk space в графическом интерфейсе, выполните команду bleachbit -c system.free_disk_space;
  • В UNIX-based системах, выполните команду dd или, предпочтительно, dcflddAUR (см. здесь информацию об отличиях):
# dcfldd if=/dev/zero of=/fillfile bs=4M
Когда fillfile достигает лимита раздела, вам будет выдано сообщение вида 1280 blocks (5120Mb) written.dcfldd:: No space left on device. Это означает, что все пространство пользователя и незарезервированные блоки раздела будут затерты. Используя эту команду от суперпользователя, важно убедится в том, что все свободные блоки затерты. По умолчанию некий процент блоков ФС зарезервирован для супер-пользователя (см. вывод -m аргумента при команде mkfs.ext4 или используйте tune2fs -l чтобы увидеть, сколько места зарезервировано под приложения запущенные от root).
Когда вышеописанный процесс будет завершён, вы можете удалить созданный вами файл fillfile.
  • В ОС Windows есть два инструмента:
  • sdelete — Sysinternals Suite, выполните sdelete -s c: для каждого виртуального диска;
  • Для любителей PowerShell есть скрипт PowerShell solution. Его также необходимо отдельно выполнять для каждого виртуального диска.
PS> ./Write-ZeroesToFreeSpace.ps1 -Root c: -PercentFree 0

Примечание: Этот скрипт должен быть запущен в среде PowerShell от имени администратора. По дефолту скрипты не запускаются из-за ограничений политик безопасности. Необходимо установить необходимое значение параметра Get-ExecutionPolicy в политиках безопасности: Set-ExecutionPolicy RemoteSigned.

Перезагрузите виртуальную машину.
После выполнения задач и перезагрузки виртуальной машины рекомендуется провести проверку диска.

  • В UNIX-based системах можно использовать fsck;
  • В GNU/Linux системах, в том числе Arch Linux, вы можете установить проверку диска при загрузке вручную в параметрах загрузки ядра;
  • В Windows системах:
  • chkdsk c: /F где c: заменяется на имя проверяемого диска;
  • или FsckDskAll отсюда[устаревшая ссылка 2023-05-06 ⓘ], который основан на chkdsk, но не требует перезапуска для каждого отдельного диска;

Теперь удалите нули из vdi файлов с помощью VBoxManage modifyhd:

$ VBoxManage modifyhd your_disk.vdi --compact

Примечание: Если в вашей виртуальной машине есть снимки, вам необходимо выполнить команду для всех ваших .vdi файлов.

Увеличение размера виртуальных дисков

Если вы выходите за рамки пространства жесткого диска, которое выбрали при создании виртуальной машины, проблему можно решить по совету из руководства VirtualBox VBoxManage modifyhd. Эта команда работает только для динамически расширяемых дисков VDI и VHD . Если вы хотите изменить размер фиксированного виртуального диска, можете использовать нижеописанный трюк, который работает и на виртуальной машине Windows, и в UNIX-подобных системах.

Во-первых, создайте новый виртуальный диск рядом с тем, который вы хотите увеличить:

 $ VBoxManage createhd -filename new.vdi —size 10000

где размер указан в MiB, в этом примере 10000MiB ~ = 10GiB, new.vdi — имя создаваемого нового виртуального диска.

Далее старый виртуальный диск должен быть клонирован в новый(это может занять длительной время):

 $ VBoxManage clonehd old.vdi ew.vdi —existing

Примечание: По умолчанию, эта команда использует Standard (что соответствует динамическому выделению) формату файла диска, и, следовательно, не будет использовать тот же формат в качестве формата исходного виртуального диска. Если ваш old.vdi имеет фиксированный размер, и вы хотите, чтобы новый диск был тоже фиксированным, добавьте параметр --variant Fixed.

Отключите старый диск и установите новый, обязательно заменив все выделенные курсивом аргументы на свои:

$ VBoxManage storageattach VM_name --storagectl SATA --port 0 --medium none
$ VBoxManage storageattach VM_name --storagectl SATA --port 0 --medium new.vdi --type hdd

Чтобы получить имя контроллера диска и номер порта, вы можете использовать команду VBoxManage showvminfo VM_name. Среди вывода вы получите такой результат (то, что вы ищете выделено курсивом):

[...]
Storage Controller Name (0):            IDE
Storage Controller Type (0):            PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  2
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
Storage Controller Name (1):            SATA
Storage Controller Type (1):            IntelAhci
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1):  30
Storage Controller Port Count (1):      1
Storage Controller Bootable (1):        on
IDE (1, 0): Empty
SATA (0, 0): /home/wget/IT/Virtual_machines/GNU_Linux_distributions/ArchLinux_x64_EFI/Snapshots/{6bb17af7-e8a2-4bbf-baac-fbba05ebd704}.vdi (UUID: 6bb17af7-e8a2-4bbf-baac-fbba05ebd704)
[...]

Скачайте GParted LiveCD и установите его в качестве виртуального привода , загрузите вашу виртуальную машину, используйте увеличение / перемещение ваших разделов. По окончании работы отмонтируйте GParted LiveCD и перезагрузите машину.

Примечание: На GPT дисках, увеличение размера диска приведет к созданию резервной копии заголовка GPT в месте, отличном от конца устройства. GParted попросит, чтобы исправить проблему, нажать на исправить два раза. На дисках MBR такой проблемы не возникнет.

Наконец, отключите старый виртуальный диск в VirtualBox и удалите его:

$ VBoxManage closemedium disk old.vdi
$ rm old.vdi

Замена виртуального диска из файла .vbox вручную

Если вы думаете, что редактирование простого XML файла более удобно, чем возня с GUI или VBoxManage и вы хотите заменить (или добавить) виртуальный диск в вашей виртуальной машине, просто замените GUID, местоположение файла и формат для ваших нужд в конфигурационном файле .vbox, соответствующем вашей виртуальной машине:

ArchLinux_vm.vbox
<HardDisk uuid="{670157e5-8bd4-4f7b-8b96-9ee412a712b5}" location="ArchLinux_vm.vdi" format="VDI" type="Normal"/>

в <AttachedDevice> (суб-тег <StorageController>) замените старый GUID на новый.

ArchLinux_vm.vbox
<AttachedDevice type="HardDisk" port="0" device="0">
  <Image uuid="{670157e5-8bd4-4f7b-8b96-9ee412a712b5}"/>
</AttachedDevice>

Примечание: Если вы не знаете GUID диска который вы хотите добавить, вы можете использовать VBoxManage showhdinfo file. Если раньше вы использовали VBoxManage clonehd, для копирования или конвертирования виртуальных дисков, он выводит GUID после завершения копирования / преобразования. Применение случайного GUID не работает, так как каждый UUID хранится внутри любого образа диска.

Клонирование виртуального диска и назначение ему нового UUID

UUID широко используются VirtualBox. Каждая виртуальная машина и каждый виртуальный диск виртуальной машины должны иметь разные UUID. Когда вы запускаете виртуальную машину в VirtualBox, он будет отслеживать все UUID. См VBoxManage list, чтобы просмотреть список элементов, зарегистрированных в VirtualBox.

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

Вы можете использовать эту команду, чтобы назначить новый UUID для вашего виртуального диска:

$ VBoxManage internalcommands sethduuid /path/to/disk.vdi

Совет: В будущем, чтобы избежать копирования виртуального диска и назначения нового UUID вручную, используйте VBoxManage clonehd.

Примечание: Все указанные команды поддерживают все форматы виртуальных дисков, поддерживаемые VirtualBox.

Расширенная настройка

Управление запуском виртуальной машины

Запуск виртуальный машин как сервиса systemd

/etc/systemd/system/vboxvmservice@.service
[Unit]
Description=VBox Virtual Machine %i Service
Requires=systemd-modules-load.service
After=systemd-modules-load.service

[Service]
User=username
Group=vboxusers
ExecStart=/usr/bin/VBoxHeadless -s %i
ExecStop=/usr/bin/VBoxManage controlvm %i savestate

[Install]
WantedBy=multi-user.target

Примечание: Замените username на имя вашего пользователя и добавьте его в группу vboxusers. Убедитесь, что это именно тот пользователь, который управляет созданием VM. Иначе ничего не получится

Примечание: Если у вас есть несколько машин запускаемых Systemd, и они завершаются некорректно, попробуйте добавить RemainAfterExit=true и KillMode=none в конец [Service] секции.

Для запуска VM начиная с следующей загрузки, выполните:

# systemctl enable vboxvmservice@your_virtual_machine_name

Для запуска же в текущий момент времени выполните:

# systemctl start vboxvmservice@your_virtual_machine_name

VirtualBox 4.2 предоставляет для UNIX-like систем также другие способы автозапуска, без использования сервисов systemd.

Запуск виртуальной машины по горячей клавише

Может быть полезно запускать виртуальные машины непосредственно с клавиатуры вместо использования интерфейса VirtualBox (GUI или CLI). Для этого, вы можете просто определить ключевые привязки в .xbindkeysrc. Обратитесь к Xbindkeys для более подробной информации.

Например, запуск по Fn+F3:

"VBoxManage startvm 'Windows 7'"
m:0x0 + c:244
XF86Battery

Примечание: Если у вас есть пробел в имени виртуальной машины, то заключите его в одинарные апострофы как сделано в вышеуказанном примере.

Использование конкретных устройств в виртуальной машине

Использование USB веб-камеры/микрофона

Примечание: Вам понадобятся установленные гостевые дополнения, прежде чем следовать приведенному ниже примеру. См. Дополнения гостевой ОС для более подробной информации.

  1. Убедитесь, что виртуальная машина не работает, а веб-камера / микрофон не используется.
  2. Вызовите главное окно VirtualBox и перейдите к настройкам для Arch машины. Перейдите в раздел USB.
  3. Убедитесь, что стоит галочка «Включить USB-контроллер». Также убедитесь, что выбран пункт «Разрешить USB 2.0 (EHCI) контроллер»
  4. Нажмите кнопку «Добавить фильтр с устройства» (кабельное со значком «+»).
  5. Выберите USB веб-камеру/микрофон из списка.
  6. Нажмите кнопку ОК и запустите VM.

Обнаружение веб-камер и прочих USB устройств

Убедитесь, что вы фильтруете любые устройства, (кроме клавиатур или мышей), чтобы они не запускались при загрузке -это гарантирует, что ОС Windows обнаружит устройство при запуске.

Доступ к гостевому серверу

Для доступа к Apache серверу в виртуальной машине только с хост-машины, выполните:

$ VBoxManage setextradata GuestName "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/HostPort" 8888
$ VBoxManage setextradata GuestName "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/GuestPort" 80
$ VBoxManage setextradata GuestName "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/Protocol" TCP

Where 8888 is the port the host should listen on and 80 is the port the VM will send Apache’s signal on.
Где 8888 порт должна слушать хост-система, а VM шлет сигнал Apache на 80 порт.

Чтобы использовать порт ниже, чем 1024 на хост-машине, изменения должны быть внесены в брандмауэр на этом хосте. Он также может быть настроен на работу с SSH или иных услуг путем изменения «Apache» с соответствующими сервисами и портами.

Примечание: pcnet относится к сетевой карте виртуальной машины. Если вы используете карту Intel в VM, необходимо изменить pcnet на e1000.

D3D ускорение в гостевой Windows

Последние версии Virtualbox имеют поддержку ускорения OpenGL внутри гостевой ОС. Эта функция может быть включена галочкой в настройках машины (при установленных дополнениях гостевой ОС VirtualBox). Тем не менее, большинство игр под Windows используют Direct3D (часть DirectX), а не OpenGL, и, таким образом, этот метод не поможет. Тем не менее возможно получить ускоренное Direct3D в гостевой Windows, за счет заимствования D3D библиотеки из Wine, который переводит инструкции d3d под OpenGL, который и занимается ускорением. Эти библиотеки теперь являются частью дополнений гостевой ОС.

После включения OpenGL ускорения, как описано выше, перезагрузите гостевую ОС в безопасном режиме (нажмите F8 до появления экрана для Windows, но после исчезновения экрана Virtualbox), и установите дополнения гостевой ОС, во время установки установите галочку Включить поддержку Direct3D. Перезагрузитесь обратно в нормальный режим, и вы получите ускоренный Direct3D.

Примечание: Этот хак может может не работать для некоторых игр, в зависимости от того, какую аппаратную проверку они делают и какие части D3D они используют

Примечание: Хак был проверено на Windows XP, 7 и 8,1. Если метод не работает на версии Windows, пожалуйста, добавьте эту информацию здесь.

VirtualBox c USB-ключом

При использовании VirtualBox с USB-ключом, например, для запуска установленной машины с ISO-образа, вы вручную должны создать VDMK-файлы существующих приводов. Тем не менее, как только новые файлы VMDK сохраняться и вы перейдёте на другую машину, у вас могут снова возникнуть проблемы. Чтобы избавиться от этой проблемы, можно использовать следующий скрипт для запуска VirtualBox. Этот сценарий будет убирать старые файлов VMDK и создавать новые:

#!/bin/sh
# Erase old VMDK entries
rm ~/.VirtualBox/*.vmdk

# Clean up VBox-Registry
sed -i '/sd/d' ~/.VirtualBox/VirtualBox.xml

# Remove old harddisks from existing machines
find ~/.VirtualBox/Machines -name *.xml | while read -r file; do
  line=$(grep -e "type="HardDisk"" -n "$file" | cut -d ':' -f 1)
  if [ -n "$line" ]; then
    sed -i "${line}"d "$file"
    sed -i "${line}"d "$file"
    sed -i "${line}"d "$file"
  fi
  sed -i "/rg/d" "$file"
done

# Delete prev-files created by VirtualBox
find  ~/.VirtualBox/Machines -name *-prev -exec rm '{}' ;

# Recreate VMDKs
ls -l /dev/disk/by-uuid | cut -d ' ' -f 9,11 | while read -r ln; do
  if [ -n "$ln" ]; then
    uuid=$(echo "$ln" | cut -d ' ' -f 1)
    device=$(echo "$ln" | cut -d ' ' -f 2 | cut -d '/' -f 3 | cut -b 1-3)

    # determine whether drive is mounted already
    checkstr1=$(mount | grep "$uuid")
    checkstr2=$(mount | grep "$device")
    checkstr3=$(ls ~/.VirtualBox/*.vmdk | grep "$device")
    if [ -z "$checkstr1" ] && [ -z "$checkstr2" ] && [ -z "$checkstr3" ]; then
      VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/"$device".vmdk -rawdisk /dev/"$device" -register
    fi
  fi
done

# Start VirtualBox
VirtualBox

Обратите внимание, что ваш пользователь должен быть добавлен в группу disk, чтобы создать VMDKs из существующих приводов.

Запуск установленного Arch Linux внутри VirtualBox

Если у вас есть дуалбут системы между Arch Linux и другими операционных системами, он может быстро стать утомительным для переключения туда-сюда, если вам нужно работать в обоих. Кроме того, с помощью виртуальных машин, у вас есть только крошечный фрагмент власти компьютера, который может привести к проблемам при работе на проектах, требующих производительности.

Это руководство позволит вам использовать в виртуальной машине, вашу родную установку Arch Linux, когда вы используете свою вторую операционную систему. Таким образом, вы сохраняете возможность запуска каждой операционной систему изначально, но есть возможность запустить установленный физически Arch Linux внутри виртуальной машины.

Убедитесь, что система наименования разделов не изменяется

В зависимости от настроек вашего жесткого диска, файлы устройств, представляющих свои жесткие диски могут выглядеть по-разному когда вы будете запускать установку Arch Linux — изначально или в виртуальной машине. Эта проблема возникает, например, при использовании FakeRAID. Поддельные RAID устройстве, будут перемещены в /dev/mapper/ при запуске дистрибутива GNU/Linux , в то время как будут устройства по-прежнему доступны по отдельности. Тем не менее, в вашей виртуальной машине может оказаться без отображения в /dev/sdaX например, потому что драйвера, управляющие поддельными RAID в вашей локальной операционной системе (например, Windows) абстрагируются под поддельные RAID устройства.

Чтобы обойти эту проблему, мы должны будем использовать схему адресации, работающую в обеих системах. Это может быть достигнуто использованием UUID в файле /etc/fstab. Убедитесь, что ваш fstab использует UUID — в противном случае исправьте это. Читайте статьи fstab (Русский) и Постоянные имена для блочных устройств.

/etc/fstab не является единственным местом, где используются UUID. Менеджеры загрузчиков тоже их используют. Убедитесь, что они действительно используют UUID-ы.

GRUB Legacy

Если вы все еще используете GRUB Legacy, может быть настало время его обновить, так как этот пакет в настоящее время удален из официальных репозиториев Arch Linux. Если вы хотите сохранить его, отредактируйте /boot/grub/menu.lst и замените root=/dev/sdXX в загрузочной записи Arch Linux на Linux UUID /dev/disk/by-uuid/, соответствующий корневому разделу.

title  Arch Linux
root
kernel /vmlinuz-linux root=/dev/disk/by-uuid/0a3407de-014b-458b-b5c1-848e92a327a3 ro vga=773
initrd /initramfs-linux-vbox.img

Предварительно создайте резервную копию файла на случай ошибок.

GRUB

Если вы работаете с самой последней версией GRUB; у вас нет проблем. Это ещё одна причина для перехода на GRUB 2.

Важно:

  • Убедитесь, что ваш хост-раздел доступна только для чтения с вашей виртуальной машины Arch Linux. Это позволит избежать риска повреждения.
  • Вы никогда не должны позволять VirtualBox загружаться с момента загрузки вашей второй операционной системы, которая используется в качестве хоста для этой виртуальной машины! Возьмите, таким образом, за правило — особенно если ваша загрузка производится по умолчанию в другую операционную систему. Установите более большой тайм-аут или переместите систему ниже в порядке предпочтений.

Убедитесь в корректности образа mkinitcpio

Убедитесь, что в конфигурации вашего mkinitcpio есть хук block:

/etc/mkinitcpio.conf
[...]
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
[...]

Если это не так, добавьте хук и заново сгенерируйте initramfs.

Создание конфигурации виртуальной машины для загрузки с физического диска

Создайте потоковый(raw) образ .vmdk

Теперь нам нужно создать новую виртуальную машину, которая будет использовать RAW диск в качестве виртуального диска, для этого мы будем использовать файл ~ 1Kib VMDK, которые будет сбрасываться на физический диск. VirtualBox не имеет этой опции в графическом интерфейсе, так что мы должны использовать консоль и внутреннюю команду из VBoxManage.

Загрузите хост, который будет использовать виртуальную машину Arch Linux.Команда должны быть адаптированы в соответствии с вашей хост-машиной.

На хосте GNU/Linux

Существует 3 способа этого достичь: вход от суперпользователя, изменение прав доступа к устройству командой chmod, добавление пользователя в группу disk. Последний путь является более элегантным. Реализуем таким образом:

# gpasswd -a your_user disk

Применить новые параметры сейчас же:

$ newgrp

Теперь вы можете использовать следующую команду:

$ VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdb -register 

Адаптируйте команду для ваших потребностей.

На хосте с Windows

Откройте окно командной строки (необходимо запускать от имени администратора).

Совет: В Windows откройте меню Пуск / стартовый экран, введите cmd, и нажмите Ctrl+Shift+Enter, это ярлык для запуска выбранной программы с правами администратора.

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

# wmic diskdrive get name,size,model
Model                               Name                Size
WDC WD40EZRX-00SPEB0 ATA Device     \.PHYSICALDRIVE1  4000783933440
KINGSTON SVP100S296G ATA Device     \.PHYSICALDRIVE0  96024821760
Hitachi HDT721010SLA360 ATA Device  \.PHYSICALDRIVE2  1000202273280
Innostor Ext. HDD USB Device        \.PHYSICALDRIVE3  1000202273280

В этом примере Windows называет диски \.PhysicalDriveX, Где X представляет собой число от 0, \.PHYSICALDRIVE1 может быть сопоставим с /dev/sdb из терминологии Linux.

Для использования в командной строке VBoxManage в Windows, вы должны изменить текущую папку в папку установки VirtualBox, обычно это cd C:Program FilesOracleVirtualBox

# .VBoxManage.exe internalcommands createrawvmdk -filename C:file.vmdk -rawdisk \.PHYSICALDRIVE1

или использовать абсолютный путь:

# "C:Program FilesOracleVirtualBoxVBoxManage.exe" internalcommands createrawvmdk -filename C:file.vmdk -rawdisk \.PHYSICALDRIVE1
На другой хост-OS

Есть и другие ограничения, касающиеся вышеприведенной команды, когда она используется в других операционных системах — таких как OS X. Прочитайте внимательно руководство, если это вас беспокоит.

Создание файла конфигурации виртуальной машины

Примечание:

  • Для использования команды VBoxManage в Windows, вам нужно сначало изменить текущую директорию в папку установки VirtualBox :
cd C:Program FilesOracleVirtualBox
  • Windows делает использование обратного слеша вместо слеша, пожалуйста, замените все вхождения / на в командах, которые вы будете использовать.

После этого мы должны создать новую машину (замените VM_name ная ваш вариант) и зарегистрировать её в VirtualBox.

$ VBoxManage createvm -name VM_name -register

Затем виртуальный диск должен быть подключен к машине. Это будет зависеть от того, находится ли корень в вашей оригинальной установке Arch Linux на IDE или контроллере SATA.

Если вам нужен контроллер IDE:

$ VBoxManage storagectl VM_name --name "IDE Controller" --add ide
$ VBoxManage storageattach machineA --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /path/to/file.vmdk

В противном случае:

$ VBoxManage storagectl VM_name --name "SATA Controller" --add sata
$ VBoxManage storageattach machineA --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium /path/to/file.vmdk

В то время как вы продолжаете использовать интерфейс командной строки, рекомендуется использовать VirtualBox GUI, чтобы персонализировать настройки виртуальной машины. Необходимо указать аппаратную конфигурацию как можно ближе к родной машине: включение ускорения 3D, увеличение видеопамяти, установка сетевого интерфейса и т.д.

Установка дополнений гостевой ОС

Наконец, вы можете легко интегрировать Arch Linux с хост-системой и синхронизировать буфер обмена между двумя ОС. Обратитесь к установке гостевых дополнений для этого.

Важно: Для Xorg (Русский), чтобы работать в родной и в виртуальной машине, так как очевидно, он должен использовать другой драйвер, то лучше, если не будет /etc/X11/xorg.conf — так как Xorg будет собирать все, что необходимо на лету. Однако, если вам действительно нужно свою собственную конфигурацию Xorg, может быть, стоит установить используемые по умолчанию цели Systemd к multi-user.target с # systemctl isolate graphical.target (более подробно). Таким образом, графический интерфейс будет отключен (т.е. Xorg не запустится) и после входа в систему вы сможете выполнить startx вручную с пользовательским xorg.conf.

Физическая установка системы Arch Linux из VirtualBox

В некоторых случаях это может быть полезно для установки родной системы Arch Linux из другой операционной системы: один из способов достижения этой цели является выполнение установки через VirtualBox на жёсткий диск. Если существующая операционная система на основе Linux, вы можете рассмотреть установку из существующего Linux вместо этого.

Этот сценарий очень похож на Запуск установленного Arch Linux в VirtualBox, но будет реализовывать эти шаги в другом порядке: начать с создания .vmdk образа жёсткого диска, а затем создавать файл конфигурации виртуальной машины.

Теперь вы должны иметь рабочую конфигурацию виртуальной машины, чей виртуальный VMDK-диск связан с реальным диском. Процесс установки точно такой же, как и описанный в пошаговой установке Arch Linux в VirtualBox, но сначала убедитесь в постоянной схеме наименования разделов и корректности образа mkinitcpio.

Важно:

  • Для BIOS и MBR дисков: не устанавливайте загрузчик внутри виртуальной машины — он не будет работать, так как MBR не связан с MBR вашей реальной машины, и виртуальный диск отображается только в реальном разделе без MBR
  • Для UEFI систем без CSM и GPT дискa установка не будет работать вообще, так как:
  • ESP не отображается на виртуальный диск и Arch Linux требует, чтобы ядро Linux было на нём, чтобы загрузиться в качестве приложения EFI (смотрите статью EFISTUB (Русский))
  • и efivars, если вы устанавливаете Arch Linux через VirtualBox, используя режим EFI, не загрузит ни одну из ваших реальных систем: записи Bootmanager не смогут быть зарегистрированы
  • Вот почему рекомендуется создавать разделы в родной установке. В противном случае разделы не будут приниматься во внимание в MBR / GPT таблице разделов

После завершения установки загрузите компьютер сперва с установочного носителя GNU/Linux (будь то Arch Linux или нет), выполните chroot в установленной Arch Linux и установите и настройте загрузчик.

Перемещение физически установленного Windows в виртуальную машину

Если вы хотите перенести существующую Windows на виртуальную машину, которая будет использоваться с VirtualBox на GNU/Linux, этот вариант использования для вас. В этом разделе описан перенос только Windows с использованием схемы MSDOS/Intel разделов. Ваш Windows должен находиться на первом после MBR разделе. Работа в других разделах доступна, но были не тестировалась (см Известные ограничения для более подробной информации)

Важно: Если вы используете OEM версию Windows, этот процесс является неправомочным по конечной пользовательской лицензии. Действительно, лицензия OEM, как правило, указывает, что Windows Install связана с аппаратными средствами. Сделайте так, что бы у вас был полный Windows Install или полная лицензия, прежде чем продолжить. Если у вас есть полная лицензию для Windows, но последний не приходит в объеме, ни в качестве специальной лицензии на нескольких компьютерах, это означает, что вы должны будете удалить родную установку после операции клонирования в VM.

Несколько задач необходимо выполнить внутри вашей Windows, а затем в хост-машине GNU/Linux.

Задачи в Windows

Первые три следующих моменты происходит от этой устаревшей вики-страницы VirtualBox, но обновляются здесь.

  • Удалите проверку IDE/ATA контроллеров (только Windows XP): Windows запоминает IDE/ATA после установки, и не будет загружаться, если он обнаружит что они изменились.Решение, предложенное Microsoft является повторным использованием того же контроллера или использовать один из той-же серии, что невозможно сделать, поскольку мы используем виртуальную машину. MergeIDE, немецкий инструмент, разработан как другое решением, предложенное Microsoft. Решение в основном состоит в принятии всех IDE/ATA драйверов контроллера IDE, поддерживаемые Windows XP от первоначального архива драйвера, их установке и регистрации в реестре через Regedit.
  • Используйте правильный тип слоя абстрагирования оборудования (старые 32-битный Windows): Microsoft использует с 3 версии по умолчанию: Hal.dll (Standard PC), Halacpi.dll (ACPI HAL) и halaacpi.dll (ACPI HAL с IO APIC). Ваша Windows-установка могла устанавитmся с первого или второго варианта. В этом случае, пожалуйста, отключите Enable IO/APIC в расширенных возможностях VirtualBox.
  • Отключите драйвер AGP устройства (только устаревшие версии ОС Windows): Если у вас есть файлы agp440.sys или intelppm.sys внутри C:WindowsSystem32drivers, то удалите его. Так как VirtualBox использует PCI виртуальную графическую карту, это может вызвать проблемы, когда используется драйвер AGP.
  • Создайте диск восстановления ОС Windows: В следующих шагах, если что-то испортится, вам нужно будет восстановить установку Windows. Убедитесь, что у вас есть установочного носителя под рукой, или создайте через Создать диск восстановления в Vista SP1, Создать диск восстановления системы в Windows 7 или Создать диск восстановления в Windows 8.x).

Задачи в GNU/Linux

  • Уменьшите родной размер раздела Windows, для чего нужен ntfsresize из пакета ntfs-3g. Вы определяете размер, который будет равен размере VDI, который будет создан на следующем шаге. Если этот размер будет слишком мал, вы можете сломать ваш Windows и он может не загружаться вообще.
Включите параметр --no-action для тестового запуска:
# ntfsresize --no-action --size 52Gi /dev/sda1
Если только предыдущий тест прошел успешно, необходимо выполнить следующую команду снова, только без вышеупомянутого параметра --no-action.
  • Установите VirtualBox на ваш GNU/Linux-хост (см. подробнее).
  • Создайте образ диска для Windows от начала диска до конца первого раздела, на котором находится Windows. Копирование с начала диска необходимо потому, что пространство MBR в начале привода должно быть перенесено на виртуальный диск вместе с самим Windows. В этом примере следующие два раздела sda2 и sda3 будут позже удалены из таблицы разделов и загрузчик MBR будет обновляться.
# sectnum=$(( $(cat /sys/block/''sda/sda1''/start) + $(cat /sys/block/''sda/sda1''/size) ))

Использование cat /sys/block/sda/sda1/size выведет количество секторов первого раздела диска sda. Адаптируйте команду, если это вам нужно.

# dd if=''/dev/sda'' bs=512 count=$sectnum | VBoxManage convertfromraw stdin ''windows.vdi'' $(( $sectnum * 512 ))
Мы должны показать размер в байтах, $(( $sectnum * 512 )) преобразует номера секторов в байты.
  • Так как вы создали свой образ диска с правами администратора, установите права доступа на образ диска: # chown $USER:users windows.vdi.
  • Создайте Ваш файл конфигурации виртуальной машины — используйте виртуальный диск, созданный ранее в качестве основного виртуального жесткого диска.
  • Постарайтесь загрузиться с виртуальной машины Windows (может работать). Во-первых, хотя бы отключите восстановление дисков из процесса загрузки, так как это может помешать (и, вероятно, будет мешать) загрузиться в безопасном режиме.
  • Попытка загрузить виртуальную машину в безопасном режиме (нажмите клавишу F8 до логотипа Windows) … при возникновении вопросов о загрузке, читайте Исправление MBR и загрузчика Microsoft. В безопасном режиме вероятно будут установлен драйверы. Кроме того, установите Дополнения гостевой ОС через меню Devices > Insert Guest Additions CD image…. Если новое диалоговое окно не отображается, перейдите к компакт-дискам и запустите программу установки вручную.
  • Наконец-то у вас есть необходимый Windows в виртуальной машине. Ознакомьтесь с известными ограничениями.

Исправление MBR и загрузчика Microsoft

Если ваша виртуальная машина с Windows отказывается загружаться, вам, возможно, потребуется применить следующие изменения в вашей виртуальной машине.

  • Начальная загрузка GNU/Live внутри виртуальной машины, прежде чем загрузится ОС Windows .
  • Удалить другие записи разделы с MBR виртуального диска. В самом деле, так как мы скопировали MBR и только раздел Windows, записи, относящихся к другим разделам по-прежнему присутствуют в MBR, но разделы ведь больше не доступны. Используйте fdisk, чтобы добиться этого, например.
fdisk ''/dev/sda''
Command (m for help): a
Partition number (''1-3'', default ''3''): ''1''
  • Запишите обновленную таблицу разделов на диск (это будет пересозданием MBR) с помощью m команды в окружении fdisk.
  • Используйте testdisk (см. здесь[устаревшая ссылка 2023-05-06 ⓘ] для более подробной информации), чтобы добавить общий MBR:
# testdisk > Disk /dev/sda...' > [Proceed] >  [Intel] Intel/PC partition > [MBR Code] Write TestDisk MBR to first sector > Write a new copy of MBR code to first sector? (Y/n) > Y > Write a new copy of MBR code, confirm? (Y/N) > A new copy of MBR code has been written. You have to reboot for the change to take effect. > [OK]
  • С новым MBR и обновленной таблицей разделов, ваша виртуальная машина с Windows должна загрузиться. Если вы все еще сталкиваетесь с вопросами, загрузите диск восстановления Windows с предыдущей стадии, и внутри вашей среды Windows RE, выполняйте команды описанные здесь.

Известные ограничения

  • Ваша виртуальная машина может иногда зависать и забивать оперативную память, это может быть вызвано конфликтующими драйверами , установленными внутри виртуальной машины Windows. Удачи вам найти их!
  • Дополнительное ПО ожидало драйвер,который не может установиться из-за невозможности отключения / деинсталляции старого драйвера.
  • Ваша Windows должна находиться в первом разделе для описанного выше процесса, чтобы заработать. Если это требование не выполнено, система может работать, но это не было испытаны. Это потребует либо копирования MBR и редактирования в шестнадцатеричном коде, см. VirtualBox: загрузка клонированного диска или потребуется исправить таблицу разделов вручную или восстанавливать Windows с диска восстановления, созданного в предыдущем шаге. Рассмотрим нашу установку окна на втором раздела; мы скопируем MBR, второму разделу, где лужит образ диска VBoxManage convertfromraw необходимо общее количество байтов, которые будут записаны: Вычислим как сумму размера MBR (начало первого раздела) плюс размер второго (Windows) раздела.{ dd if=/dev/sda bs=512 count=$(cat /sys/block/sda/sda1/start) ; dd if=/dev/sda2 bs=512 count=$(cat /sys/block/sda/sda2/size) ; } | VBoxManage convertfromraw stdin windows.vdi $(( ($(cat /sys/block/sda/sda1/start) + $(cat /sys/block/sda/sda2/size)) * 512 )).

Возможные проблемы

VERR_ACCESS_DENIED

Чтобы получить доступ к образу vdmk, расположенного на хосте под Windows, запустите VirtualBox GUI от имени администратора.

Клавиатура и мышка заблокированы виртуальной машиной

Это означает, что ваша виртуальная машина захватила ввод клавиатуры и мышки. Просто нажмите правый Ctrl и ваши устройства ввода будут доступны в основной системе.

Для того, чтобы управление мышкой возвращалось основной ОС при выходе курсора за границы окна виртуальной машины, без нажатия каких-либо клавиш, и для возможности бесшовной интеграции, установите гостевое дополнение на виртуальную машину. Читайте шаг #Установка гостевых дополнений если вы новичок в Arch Linux, или читайте официальную справку VirtualBox.

Не могу отправить комбинацию CTRL+ALT+Fn в виртуальную машину

Если в вашей виртуальной машине установлен дистрибутив GNU/Linux и вы хотите открыть новую оболочку TTY нажатием Ctrl+Alt+F2 или выйти из X сессии с помощью Ctrl+Alt+Backspace, просто нажав это сочетание клавиш без какой-либо адаптации, гостевая машина его не получит и основная ОС (если это тоже дистрибутив GNU/Linux) распознает это сочетание клавиш. Для отправки Ctrl+Alt+F2 на виртуальную машину нужно просто нажать ваш Host Key (обычно это правый Ctrl) и одновременно нажать F2.

Исправление проблем в ISO-образах

В то время как VirtualBox монтирует оригинальный образы ISO без проблем, есть такие форматы образов, которые не могут надежно быть преобразованы в ISO. Например, ccd2iso игнорирует .ccd и .sub файлы, что может привести к созданию образа диска с разбитыми файлами.

В этом случае вам придется использовать CDemu для Linux внутри VirtualBox или любую другую утилиту, предназначенную для монтирования образов дисков.

VirtualBox GUI не видит мою тему GTK 2x/3x

Смотрите Единый интерфейс GTK/QT приложений для получения информации о настройке GUI Qt в GTK-окружениях.

OpenBSD не работает при недоступных инструкциях виртуализации

В то время как OpenBSD отлично работает на других гипервизорах без включенной виртуализации (VT-х AMD-V), виртуальная машина с OpenBSD работает в VirtualBox без этих инструкций некорректно, выдавая кучу ошибок сегментации. Запуская VirtualBox с аргументом -norawr0 можно избавиться от этой проблемы. Вы можете сделать это следующим образом:

$ VBoxSDL -norawr0 -vm имя_OpenBSD_VM

VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)

Это может произойти при некорректном завершении виртуальной машины. Разблокировка машины тривиальна:

$ VBoxManage controlvm virtual_machine_name poweroff

Подсистема USB не работает в хост-машине или гостевой ОС

Ваш пользователь должен быть в группе vboxusers, и вы должны установить пакет дополнений, если хотите иметь поддержку USB 2. Тогда вы сможете включить USB 2 в настройках виртуальной машины и добавить один или несколько фильтров для устройств, которые будут иметь доступ из гостевой ОС.

Иногда, на старых Linux-хостах, подсистема USB не распознается автоматически и выдает ошибку Could not load the Host USB Proxy service: VERR_NOT_FOUND или при невидимом USB-диске в хост-машине, даже когда пользователь находится в группе vboxusers. Эта проблема происходит из-за того, что VirtualBox переключается с usbfs на sysfs с версии 3.0.8. Если хост-машина не распознаёт этого изменения, вы можете вернуться к старому поведению, определив следующую переменную окружения в любом файле, которые конфигурирует вашу оболочку (например, в ~/.bashrc, если вы используете bash):

~/.bashrc
VBOX_USB=usbfs

Затем убедитесь, что, окружающая среда приняла это изменение (перелогиньтесь, запустите новый экземпляр оболочки или перезагрузитесь).

Также убедитесь, что ваш пользователь состоит в группе storage.

Ошибка создания сетевого интерфейса «host-only»

Убедитесь в том, что все модули ядра VirtualBox загружены (см. Загрузка модулей ядра VirtualBox).

WinXP: глубина цвета не может превышать 16 цветов

Если Вы работаете в 16-битной глубине цвета, то значки будут отображаться некорректно. Тем не менее, при попытке изменить глубину цвета на более высокий уровень, система может ограничить вас с более низким разрешением или просто не позволит вам изменить глубину вообще. Чтобы это исправить, запустите regedit в Windows и добавьте следующий ключ реестра для виртуальной машины Windows XP:

[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services]
"ColorDepth"=dword:00000004

Затем обновите глубину цвета в «Свойствах рабочего стола». Если ничего не происходит, заставьте экран перерисоваться (например, нажмитеHost+f).

Использование последовательных портов в гостевой ОС

Проверьте наличие прав для доступа к последовательным портам:

$ /bin/ls -l /dev/ttyS*
crw-rw---- 1 root uucp 4, 64 Feb  3 09:12 /dev/ttyS0
crw-rw---- 1 root uucp 4, 65 Feb  3 09:12 /dev/ttyS1
crw-rw---- 1 root uucp 4, 66 Feb  3 09:12 /dev/ttyS2
crw-rw---- 1 root uucp 4, 67 Feb  3 09:12 /dev/ttyS3

Добавьте пользователя в группу uucp

# gpasswd -a $USER uucp 

и перелогиньтесь.

Windows 8.x ошибка 0x000000C4

Если вы получаете этот код ошибки при загрузке, даже при выбранном типе OS Win 8, попробуйте включить инструкцию процессора CMPXCHG16B:

$ vboxmanage setextradata virtual_machine_name VBoxInternal/CPUM/CMPXCHG16B 1

Windows 8 VM вылетает при загрузке с ошибкой «ERR_DISK_FULL»

Если ваша Windows 8 не запускается, VirtualBox выдаёт ошибку что виртуальный диск заполнен, но тем не менее вы уверены что диск не является заполненным,
откройте настройки виртуальной машины Настройки>Память>Контроллер: SATA и выберите Use Host I/O Cache.

Гостевая ОС Linux выдает искажённый или запаздывающий звук

Аудио драйвер AC97 в ядре linux иногда неправильно считывает время из Virtual Box, что приводит к различным искажениям звука. Для исправления проблемы, создайте файл /etc/modprobe.d со следующим содержанием:

options snd-intel8x0 ac97_clock=48000

Гостевая ОС зависает после запуска Xorg

Неисправные или отсутствующие драйверы могут привести к остановке после запуска Xorg, см., например, [2] и [3][устаревшая ссылка 2020-08-06 ⓘ]. Попробуйте отключить 3D-ускорение в Настройки> Дисплей, и проверьте, все ли драйверы Xorg установлены.

Исчезновение пунктов меню и ошибка «NS_ERROR_FAILURE»

Если после первого запуска машины вы столкнулись с такой ошибкой:

Failed to open a session for the virtual machine debian.
Could not open the medium '/home/.../VirtualBox VMs/debian/debian.qcow'.
QCow: Reading the L1 table for image '/home/.../VirtualBox VMs/debian/debian.qcow' failed (VERR_EOF).
VD: error VERR_EOF opening image file '/home/.../VirtualBox VMs/debian/debian.qcow' (VERR_EOF).

Result Code: 
NS_ERROR_FAILURE (0x80004005)
Component: 
Medium

Выйдите из VirtualBox, удалите все файлы новой машины и из файла конфигурации VirtualBox удалите последнюю строку в MachineRegistry меню:

~/.config/VirtualBox/VirtualBox.xml
...
<MachineRegistry>
  <MachineEntry uuid="{00000000-0000-0000-0000-000000000000}" src="/home/void/VirtualBox VMs/debian/debian.vbox"/>
  <MachineEntry uuid="{00000000-0000-0000-0000-000000000000}" src="/home/void/VirtualBox VMs/ubuntu/ubuntu.vbox"/>
  <MachineEntry uuid="{00000000-0000-0000-0000-000000000000}" src="/home/void/VirtualBox VMs/lastvmcausingproblems/lastvmcausingproblems.qcow"/>
</MachineRegistry>
...

Это иногда происходит при выборе QCOW/QCOW2/QED формата виртуального диска.

«Указанный путь не существует. Проверьте путь и попробуйте еще раз.» Ошибка в гостевой ОС Windows

Это сообщение об ошибке часто появляется при работе с расширением .exe который требует привелегий администратора из общей папки в гостевой Windows. См. отчет об ошибке.

Есть несколько способов обойти ошибку:

  1. Отключить UAC с помощью Панель управления -> Центр поддержки -> «Settings Change User Account Control» из левой боковой панели -> Установить ползунок «Никогда не уведомлять» -> OK и перезагрузить ОС
  2. Скопируйте файл из папки общего доступа в гостевую ОС и запустите оттуда

Не работают 64-битные гостевые ОС

При запуске клиента VM, если никакие 64-битные варианты не доступны, убедитесь что ваши возможности виртуализации процессора (обычно с именем VT-X) включены в BIOS.

Ошибка «VT-x is not available. (VERR_VMX_NO_VMX)» и процессор без поддержки виртуализации

Начиная с версии 6.1.0 (выпущенной 10 декабря 2019), VirtualBox требует аппаратную поддержку виртуализации. Если же она отсутствует в процессоре, временным решением может быть установка более ранней версии VirtualBox, например, с помощью понижения версии пакета или установки virtualbox-bin-5AUR[ссылка недействительна: package not found], однако работоспособность на свежих ядрах Linux не гарантируется.

Смотрите также

  • Руководство пользователя VirtualBox
  • Википедия:VirtualBox

VirtualBox — это программное обеспечение для виртуализации персонального компьютера от компании Oracle. У программы есть две версии — с открытым исходным кодом, и закрытая. С помощью VirtualBox вы можете запускать различные операционные системы одновременно, настраивать между ними сеть, обмениваться файлами и многое другое.

Вы можете запустить VirtualBox в Linux, Solaris, Mac OS X и Microsoft Windows, а также установить на нее большинство известных операционных систем. В этой статье мы рассмотрим, как пользоваться VirtualBox. Поговорим об установке, настройке VirtualBox, а также про некоторые тонкости работы с виртуальными машинами, которые могут вам очень сильно помочь. Для обычных пользователей это программное обеспечение доступно полностью бесплатно.

Виртуальная машина VirtualBox устанавливается как большинство других программ. В Windows вы можете загрузить установочный файл из официального сайта. А в Linux, программа доступна через официальные репозитории. Например, в Ubuntu установка VirtualBox выполняется командой:

sudo apt install virtualbox

Мы не будем подробно останавливаться на этом вопросе, поскольку есть более интересные задачи. После установки вы найдете ярлык программы в главном меню. В терминах виртуальных машин основной компьютер, где выполняется Virtualbox называется хостом, а все запущенные машины — гостевыми.

2. Создание виртуальной машины

Перед тем как вы сможете запустить вашу первую гостевую машину, нужно создать новую виртуальную машину в программе. Для этого нажмите кнопку Создать в главном окне:

На первом шаге вам нужно выбрать тип операционной системы, например, Linux -> Ubuntu это включит некоторые оптимизации, необходимые для этой системы:

Если вы работаете в 64 битной системе, то сможете запускать как 32 битные, так и 64 битные программы. На следующем шаге мастера выберите нужное количество оперативной памяти. Это очень важный параметр, поэтому если ее у вас достаточно, лучше не жалейте, 2 гигабайта будет вполне достаточно.

Дальше вам нужно создать жесткий диск для новой машины. Оставьте тип диска по умолчанию VDI:

Дальше выберите тип диска, динамический или фиксированный. Лучше брать динамический, тогда размер файла диска будет увеличиваться в зависимости от его наполнения в виртуальной машине:

И на последнем этапе вам осталось выбрать размер для нового диска, а также его имя:

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

3. Настройка процессора

Выделите созданную виртуальную машину и нажмите Настройки.

Выберите Система, затем перейдите на вкладку Процессор:

Здесь вы можете выбрать сколько ядер процессора может использовать виртуальная машина, а также включить PAE для поддержки больше 4 Гб ОЗУ в 32 битных системах и режим эмуляции EFI. Затем перейдите на вкладку Ускорение.

Тут вы можете выбрать режим аппаратной виртуализации, а также включить такие дополнительные возможности, как AMD-V и Intel-VT. Это увеличит скорость работы системы.

4. Настройка графики

По умолчанию для виртуальной машины доступно 18 Мб видеопамяти. Это очень мало для современных систем. Выберите пункт Дисплей, затем потяните ползунок Видеопамять, так чтобы дать машине не менее 128 Мб памяти:

Для видеокарт на 2 Гб будет доступно 256 Мб. Также, здесь вы можете настроить количество экранов.

5. Настройка сети

По умолчанию виртуальная машина использует сеть через NAT это удобно, если нужно получить доступ к интернету из машины. Но если вы хотите настроить коммуникацию между самими машинами или между гостевой системой и хостом по сети, вам понадобится другой способ. Закройте меню настройки машины. Затем откройте меню Файл -> Настройки.

Там выберите пункт сеть и перейдите на вкладку Виртуальный адаптер хоста:

Тут вам понадобится создать новый виртуальный адаптер с помощью зеленой кнопки со знаком плюса:

Настройки менять не нужно, после этого нажмите Ок. Дальше снова откройте настройки машины, перейдите на пункт сеть и выберите тип адаптера — виртуальный адаптер хоста, а имя — то, которое было создано для вашего адаптера, например, vboxnet0:

Теперь между всеми виртуальными машинами, подключенными к vboxnet0 и хостом будет виртуальная сеть.

6. Клонирование

Вы можете сделать резервную копию машины чтобы использовать ее потом или перенести на другой компьютер. Для этого используется опция Клонировать. Просто выберите ее в меню для машины:

7. Запуск машины

При первом запуске вам предстоит выбрать носитель, с которого будет установлена новая система, это может быть DVD-ROM или ISO образ системы:

Вы можете изменить этот образ из меню Устройства -> Оптические диски для уже запущенной машины:

Дальше вам предстоит работать с новой машиной, как с обычным компьютером:

8. Дополнительные плагины

Дополнительные расширения VirtualBox позволяют получить доступ к USB устройствам из виртуальной машины, веб-камере, настроить удаленный доступ и другое. Для установки сначала скачайте файл VirtualBox-Extension-Pack из официального сайта:

Затем откройте меню Файл -> Настройки, перейдите на вкладку плагины и нажмите зеленую кнопку:

Подтвердите установку и примите лицензию:

Готово, официальный плагин установлен и теперь вы можете работать с USB устройствами 3.0 в вашей в виртуальной машине.

9. Снимки состояния

Вы могли бы создавать копию виртуальной машины каждый раз, когда нужно что-то проверить. Но это вовсе не обязательно. Здесь поддерживается такая отличная функция, как снимки состояния. Вы просто делаете снимок, или а потом можете восстановить систему до сохраненного состояния в любое время. Вы можете создать снимок для запущенной машины из меню Машина -> Сделать снимок состояния:

Создавать снимки для выключенной машины вы можете на вкладке Снимки:

Для этого выберите пункт контекстного меню Создать снимок. Все созданные снимки доступны здесь же:

10. Запись видео

Вы можете захватывать видео прямо в экрана виртуальной машины. Для этого в меню Вид установите галочку Захват видео. Видео будет сохранено в папке виртуальной машины:

11. Дополнения гостевой системы

Дополнения гостевой системы позволяют использовать такие возможности, как общий буфер обмена, общие папки, перетаскивание файлов, интеграция экрана, адаптация разрешения виртуальной машины и многое другое. Это незаменимая вещь при работе с виртуальными машинами. Дополнения устанавливаются в каждую гостевую систему и делают использование VirtualBox проще.

Чтобы установить дополнения в меню Устройства выберите Подключить образ дополнений гостевой ОС:

Дальше вам останется только запустить установщик для своей системы. Поддерживаются как Windows, так и Linux. Читайте подробнее про установку дополнений гостевой ОС в Ubuntu. Теперь вы знаете как пользоваться oracle virtualbox с комфортом.

12. Реальный диск в VirtualBox

Мы уже почти рассмотрели все о том, как пользоваться VirtualBox linux, но еще остановимся на работе с дисками. Иногда возникает необходимость работать с реальным диском. Вы можете создать файл ссылки на реальный диск с помощью команды VBoxManage:

sudo VBoxManage internalcommands createrawvmdk -filename ~/realdisk.vdmk -rawdisk /dev/sda

Здесь мы создаем диск с именем ~/realdisk.vdmk, который ссылается на наш диск /dev/sda. Вы можете ссылаться на любой другой диск. Только для запуска машины, вам придется запускать VirtualBox от имени суперпользователя. Также вы можете создать копию реального диска, конвертировав его в VDI, только смотрите чтобы хватило места:

sudo VBoxManage internalcommands converthd ./realdisk.vmdk newdisk.vdi

В Windows, команда будет выглядеть вот так:

"C:Program FilesOracleVirtualBoxVBoxManage.exe" internalcommands createrawvmdk -filename C:drive.vmdk -rawdisk \.PHYSICALDRIVE1

Мы создаем ссылку на первый жесткий диск, которая будет расположена на диске C:. Дальше вы можете использовать этот диск в настройках виртуальной машины.

13. Доступ к виртуальному диску

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

VBoxManage internalcommands dumphdinfo storage.vdi | grep "offData"

Здесь storage.vdi нужно заменить на адрес вашего диска, затем монтируем:

sudo mount -t ext4 -o rw,noatime,noexec,loop,offset=2097152 ~/VirtualBox VMs/storage.vdi /mnt/

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

Выводы

В этой статье мы рассмотрели, как пользоваться виртуальной машиной virtualbox. Несмотря на то что это бесплатный продукт с открытым кодом, здесь есть все необходимые возможности и даже больше. А какое программное обеспечение для виртуализации предпочитаете вы? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Contents

  1. Installation and configuration
  2. Using Virtual Box

    1. Un-Grabbing the mouse & keyboard
    2. Networking
    3. USB
  3. Sharing Folders Between Host and Guest
  4. Using VirtualRDP (VRDP) to View Guest VMs
  5. Installing Virtualbox in Windows
  6. Install Ubuntu Server as Guest OS
  7. Other resources
  8. Common issues

    1. Ubuntu 12.04 LTS

      1. Module issues
    2. Moving VirtualBox Hard Drives
  9. Alternatives to Virtualbox

This document provides information on using the VirtualBox system emulator in Ubuntu. VirtualBox can run a «guest» operating system in a window of the host operating system without giving it direct access to your computer’s hardware. (Instead, Virtualbox passes hardware-related instructions through the «host» operating system’s drivers.) VirtualBox can run all versions of Windows, Linux, and many other x86- and AMD/Intel-based 32- and 64-bit operating systems as either a host OS or as a guest OS. Although some versions of Linux (including Ubuntu) exist that are optimized to run as a guest OS in a virtual environment, any Linux operating system usually will function equally well.

Some typical reasons to use a Virtual Machine include

  • providing a self-contained environment in which to experiment with new software without risking damaging changes to the host operating system
  • to run legacy operating systems and software that may no longer be supported by newer operating systems

No special hardware is required to run a virtual machine, although recent processors have virtualization «hooks» which interact specifically with virtual machines to improve performance.

Installation and configuration

See:

  • VirtualBox/Installation

  • VirtualBox/GettingStarted

  • VirtualBox/Networking

  • VirtualBox/USB

  • VirtualBox/RDP

Using Virtual Box

The VirtualBox can be run from the menu Applications > System Tools > A kernel module is started when the host computer is booted, but nothing happens until you manually start a virtual machine. This can be automated by a script, but by default, if you reboot your host, your guest machines will not be running any more.

For help getting started, VirtualBox/FirstVM describes setting up an Ubuntu guest using VirtualBox.

Un-Grabbing the mouse & keyboard

In the bottom right hand corner of the emulated machine window is the name of the key required to make Virtual Box un-grab the mouse and keyboard. By default this is Control_R which actually means the right hand Control key, not control and the letter R.

Networking

VirtualBox 2.0 and onwards provides straightforward networking allowing IP address assignment and internet access using NAT, the default network option. See VirtualBox/Networking for more sophisticated set-ups, and information for older versions of Ubuntu and VirtualBox.

USB

VirtualBox/USB describes setting up USB devices. This allows the guest vm to use USB devices plugged into your host.

Sharing Folders Between Host and Guest

VirtualBox/SharedFolders describes sharing folders on the host with guests. This is the Virtual Box method, but others are available, such as standard samba, nfs, and using internet-based storage. The VirtualBox method is optimised Samba.

Using VirtualRDP (VRDP) to View Guest VMs

It is possible to make RDP (Remote Desktop Protocol) connections to virtual machines. This is typically used when accessing a virtual machine on a different computer, because the host computer can display the console directly, and this provides a more fluid user experience. See VirtualBox/RDP for more information.

Installing Virtualbox in Windows

The reason to install Virtualbox in Windows is so that Ubuntu Linux can be run as a guest OS within the virtual machine.

Virtualbox (by Sun) has some advantages and disadvantages. There is a free proprietary edition as well as a subscription-based enterprise edition. The free edition only allows usage of a 32-bit operating system (as the guest OS) whereas the subscription edition allows a 64-bit guest OS. (Both require registration.) There is also has a free open source edition, but this is not easy to install in Windows (unlike in Linux). Virtualbox is available for all operating system platforms, and therefore a virtual machine created in one operating system (Windows, Apple, Linux) can be used in another. Furthermore, it is possible to convert virtual machines created in Virtualbox to VMWare and vice versa.

I find both the installation process and the interface for Virtualbox quite user friendly.

  • Obtain and download a copy of the Virtualbox (binary) installer for your (Windows) operating system here.

  • Install the program, following the prompts.
  • Start Virtualbox

Start menu -> Programs -> Sun Virtualbox -> Virtualbox

(Optional: Of course, if you would like Virtualbox to start every time you run Windows, you can copy the Virtualbox shortcut into the Start menu -> Programs -> Startup folder.)

  • Create a new virtual machine:

Virtualbox -> New -> Next ->

Name: UbuntuVirtualServer

Operating System: Linux

Version: Ubuntu

-> Next -> Memory: Base memory size: 1024 Mb

Note: Use the amount of RAM for the virtual machine that you can afford. Linux requires less memory to run than does Windows, but the amount of RAM that you dedicate to the virtual machine in this step will not be available to the Windows host. On my laptop, I have 3 Gb RAM, so I dedicate 1024 Mb (1 Gb) to the virtual machine in this step and leave 2 Gb for Windows. You should always leave at least 1 Gb RAM for Windows (or it will run painfully slowly). Linux is able to run with only 512 Mb in server mode or 1 Gb in desktop mode (perhaps even less).

-> Next -> Virtual Hard Disk ->

Boot Hard Disk (Primary Master): (ticked)

Create new hard disk: (ticked)

-> Next -> Next -> Hard disk storage type:Dynamically expanding storage: (ticked)

-> Next -> Virtual Disk Location and Size:

Location: UbuntuVirtualServer

Size: 8.00 GB

Note: Use whatever size you can afford in Windows. This will take space from your hard drive (so make sure it is available to begin with). A Linux server can easily run in 8 GB, but if you plan to run a GUI desktop in addition (the Ubuntu desktop or Kubuntu desktop, for example), you should consider making this between 10 -20 GB. However, because you have chosen the dynamically expanding storage in the preceding step, the virtual machine will automatically expand storage later if you guess wrong here. (I usually just accept 8 GB.)

-> Finish.

Now you will have a new virtual machine. You can create multiple virtual machines, in this fashion. If you desire, you can run each new virtual machine simultaneously (if you have enough RAM and hard drive resources).

Install Ubuntu Server as Guest OS

  • See Ubuntu as a Guest OS

Other resources

  • VirtualBox Community Page

  • For live assistance try #vbox on irc.freenode.net in an IRC client.

Common issues

Ubuntu 12.04 LTS

Module issues

If you update virtualbox. The modules and the module API may change. Which means you have to compile the modules for your kernel.

If you start an virtual machine in the gui you get a message. That you should run::

  • $ sudo /etc/init.d/vboxdrv setup

But there is no such script. But when you are starting virtualbox via CLI. You get informative message::

  • WARNING: The character device /dev/vboxdrv does not exist.
    • Please install the virtualbox-ose-dkms package and the appropriate headers, most likely linux-headers-generic. You will not be able to start VMs until this problem is fixed.

So you have to install the virtualbox-ose-dkms::

  • $ sudo apt-get install virtualbox-ose-dkms

Then we can see if the vbox module is added::

  • dkms status

Then install it::

  • $ # dkms install virtualbox/<version> $ sudo dkms install virtualbox/4.1.12

If you dont have the kernel headers you will get this error::

  • Error! Your kernel headers for kernel 3.2.0-26-generic cannot be found. Please install the linux-headers-3.2.0-26-generic package, or use the —kernelsourcedir option to tell DKMS where it’s located

So you have to install them::

  • $ sudo apt-get install linux-headers-3.2.0-26-generic

Then we have to ‘start’ the modules::

  • $ sudo /etc/init.d/virtualbox start

Moving VirtualBox Hard Drives

From time to time, you may have a need to move a VirtualBox hard drive but keep the VirtualBox machine where it is. VirtualBox hard drives have the name of your VirtualBox machine with the .vdi suffix, for example Windows.vdi. This need may occur if either you:

  • created a virtualBox machine, it placed the hard drive at its default position along side the .vbox file and Logs folder and you wanted the actual hard drive on another physical hard drive or partition;
  • decided to move the VirtualBox hard drive to another drive or partition or location, yet keep the location of the VirtualBox machine in the same place.

You need to edit the .vbox file, in this example Windows.vbox, as there doesn’t appear to be any mechanism in the GUI to change the drive location. Using vboxmanage is very cryptic and challenging for the average user to grasp. Make sure VirtualBox is not running when you make these edits and save a copy of the original file first.

In the xml file look for the,

  1. <machine> section,

  2. <MediaRegistry> sub section,

  3. <HardDisks> sub-sub section,

  4. <HardDisk> sub-sub-sub section

  5. location=»{the name of the machine}».

For example:

<VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.11-linux">
  <Machine uuid="{7f6dd75f-edd7-446b-8250-aeab8212bf00}" name="Windows" OSType="WindowsXP" snapshotFolder="Snapshots" lastStateChange="2014-05-14T22:52:48Z">
    <MediaRegistry>
      <HardDisks>
        <HardDisk uuid="{74b07b9a-2592-4c10-bf58-784e66b9705b}" location="Windows.vdi" format="VDI" type="Normal"/>
      </HardDisks>
      <DVDImages>
        <Image uuid="{9e9abbc2-be8b-4b8e-a36f-702500f128f7}" location="/usr/share/virtualbox/VBoxGuestAdditions.iso"/>
      </DVDImages>
      <FloppyImages/>
    </MediaRegistry>

In this example you could change location=»Windows.vdi» to location=»/media/bigdrive/vbox/Windows.vdi» assuming that is the new location of your VirtualBox Hard Drive.

Alternatives to Virtualbox

  • Xen is the Ubuntu-supported virtualization platform used for cloud computing. it is the basis for the Amazon EC2 cloud.

  • Another Ubuntu-supported virtualization system is called KVM. It is officially supported, but is somewhat harder to set up for the average user. It also requires hardware virtualisation extensions in your CPU.

  • VMware is a proprietary alternative, with a free virtual machine player available. A free server for Linux can also be found.

  • QEMU is the original virtualization system, on which Virtualbox and KVM are based. It is completely open source and can be used with or without the virtualization hooks found in many new processors.

It is possible to convert virtual machines between these systems (but it is sometimes a time consuming process). A new «open virtualization format» has been created that can be used in several alternative virtual machines ‘Open_Virtualization_Format’ (Wikipedia) — Wikipedia page on ‘Open_Virtualization_Format’.


CategoryVirtualization

Обновлено Обновлено: 15.11.2022
Опубликовано Опубликовано: 29.06.2016

Используемые термины: Virtualbox, Windows, Linux.

Virtualbox позволяет легко организовать тестовую среду у себя на компьютере. Он удобен и прост в установке и использовании. Мы рассмотрим его установку на компьютеры под управлением Windows и Linux. Также мы установим Extension Pack.

Установка на Windows
Linux
    Ubuntu
    CentOS
Extension Pack
Шпаргалка с командами
Решение возможных проблем

На Windows

В качестве примера мы установим Virtualbox на Windows 10.

Скачиваем последнюю версию программы с официального сайта.

Варианты для скачивания Virtualbox

* на момент обновления это была версия 6.1.12.

Запускаем скачанный файл. В открывшемся окне нажимаем Next — откроется окно выбора компонентов. Оставьте все, как есть и нажмите Next:

Выбор компонентов при установке Virtualbox

В следующем окне оставьте галочки, как есть (для Virtualbox будут созданы ярлыки на рабочем столе, в меню Пуск и все файлы данной программы будут автоматически открываться в ней при двойном клике).

В следующем окне установщик предупредит, что на момент установки Virtualbox произойдет кратковременная потеря сети. Убедитесь, что сеть не понадобиться в ближайшие 2-3 минуты и нажмите Yes.

Предупреждение о разрыве сети при установке Virtualbox

В последнем окне нажмите Install — начнется процесс инсталляции платформы виртуализации.

В процессе выскочит окно с предупреждением об установки дополнительных устройств — соглашайтесь.

Предупреждение о разрыве сети при установке Virtualbox

Когда установки будет завершена, нажмите Finish.

На Linux

Для примера мы установим Virtualbox на Ubuntu и CentOS. Мы будем использовать командную строку — это быстрый и универсальный подход для работы с Linux.

Ubuntu

В Ubuntu программное обеспечение Virtualbox есть в репозиториях. Поэтому для установки вводим одну команду:

apt-get install virtualbox

Запуск программы выполняется командой:

virtualbox

… или в графическом интерфейсе среди приложений.

CentOS

Для установки на CentOS сначала переходим на страницу Download VirtualBox for Linux Hosts и копируем ссылку на последнюю версию платформы виртуализации для нужной версии Linux:

Копируем ссылку на RPM-файл

С помощью скопированной ссылки, скачиваем файл 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 загрузка, шифрование диска. Установка выполняется одинаково для всех операционных систем.

С официального сайта скачиваем последнюю версию пакета:

Скачивание плагина Extension Pack

Запускаем Virtualbox — кликаем по ФайлНастройки:

Переходим в настройки Virtualbox

Нажимаем Плагины — добавление нового:

Добавление плагина в Virtualbox

Выбираем скачанный файл — Установить — прокручиваем до конца лицензионное соглашение и кликаем по Я согласен (кнопка станет активной после пролистывания текста соглашения до конца).

Плагин будет установлен и появится в списке:

Установленный Extension Pack

Некоторые команды для управления из консоли

Управление гипервизором из командной строки выполняется с помощью утилиты 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

Она должна выполниться без ошибок. После чего можно запускать виртуальную машину.

VirtualBox – это специальное средство для виртуализации, позволяющее запускать операционную систему внутри другой. Оно поставляется в двух версиях – с открытым и закрытым исходным кодом. С помощью VirtualBox мы можем не только запускать ОС, но и настраивать сеть, обмениваться файлами и делать многое другое.

Что представляет собой VirtualBox и как им пользоваться – об этом и многом другом поговорим в сегодняшней статье.

Шаг 1: Установка Virtual Box

В инсталляции VirtualBox нет ничего сложного: программа поставляется в бесплатном доступе для Linux, Solaris, macOS и Microsoft Windows. Скачать ее можно с официального сайта.

Скачать VirtualBox бесплатно

Как только установка будет завершена, перед нами отобразится главный экран программы:

 Главный экран VirtualBox

С ним мы и будем работать в последующих разделах – в частности рассмотрим, как создать виртуальную машину и провести дополнительные настройки.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Шаг 2: Создаем виртуальную машину

Как мы уже говорили, основная функция VirtualBox – виртуализация. Чтобы запустить новую операционную систему, необходимо создать для нее виртуальную машину. Для этого необходимо выполнить следующее:

  1. Запускаем VirtualBox и в правой части выбираем «Создать».Как создать виртуальную машину в VirtualBox
  2. В отобразившемся окне прописываем имя операционной системы и указываем путь до машины. Обратите внимание на то, что тип ОС выбирается автоматически в зависимости от введенного названия.Как в VirtualBox добавить новую виртуальную машину
  3. Выбираем, сколько оперативной памяти будет отведено под будущую ОС. Как в VirtualBox создать новую виртуальную машину
  4. Отмечаем пункт «Создать новый виртуальный жесткий диск» и нажимаем «Создать».Как в VirtualBox создать новый виртуальный жесткий диск
  5. Указываем «VDI».
  6. Далее выбираем тип диска: динамический или фиксированный. Лучше выбрать динамический, ведь тогда размер файла диска будет увеличиваться в зависимости от его наполнения в виртуальной машине.Динамический виртуальный жесткий диск в VirtualBox
  7. Осталось выбрать размер диска:Как установить операционную систему в VirtualBox
  8. В результате будет создана новая виртуальная машина:Как работать в VirtualBox

Обратите внимание на то, что мы еще не устанавливали операционную систему, а лишь отвели для нее место. Теперь мы можем запустить виртуальную машину и поставить на нее нужную ОС, но перед этим давайте пройдемся по некоторым параметрам.

Шаг 3: Настраиваем процессор

Для каждой операционной системы мы можем задать пользовательские настройки процессора, например, нам доступна возможность выбрать количество ЦП, а также установить предел загрузки ЦПУ. Все эти параметры находятся в настройках выбранной виртуальной машины:

  1. Кликаем правой кнопкой мыши по виртуальной машине и выбираем «Настроить…».Настройка виртуальной машины в VirtualBox
  2. В отобразившемся окне переходим в раздел «Процессор» и устанавливаем нужные значения.Настройка процессора в VirtualBox

Функция «Включить PAE/NX» предназначена для поддержки 4 и более Гб ОЗУ в 32-битных системах.

Во вкладке «Ускорение» мы можем выбрать режим виртуализации, а также настроить дополнительные параметры для увеличения скорости работы.Настройки VirtualBox

Шаг 4: Настраиваем графику

Иногда при установке новой виртуальной машины значение видеопамяти по умолчанию составляет 16 Мб, тогда как рекомендуется выделять не менее 128 Мб. Изменить это можно в настройках раздела «Дисплей».

Настройка видеопамяти в VirtualBox

Если у вас видеокарта на 2 Гб, то максимальное значение видеопамяти будет равно 256 Мб. В этом же разделе можно установить количество мониторов, изменить коэффициент масштабирования и многое другое.

Шаг 5: Настраиваем сеть

Изначально виртуальная машина использует сеть NAT, что вполне удобно, если необходимо получить доступ к интернету. Если же вам нужно настроить взаимосвязь между разными ВМ, то потребуется выполнить дополнительные настройки.

В настройках переходим в раздел «Сеть» и заходим в подраздел «Адаптер 2». Там активируем пункт «Включить сетевой адаптер» и указываем тип подключения «Виртуальный адаптер хоста».

 Настройка сети в VirtualBox

Обратите внимание на имя – теперь все, кто будет его использовать, автоматически подключатся к единой виртуальной сети.

Шаг 6: Клонирование

Еще одна полезная функция – «Клонирование». С ее помощью мы можем сделать резервную копию виртуальной машины, чтобы в последующем обратиться к ней при возникновении различного рода проблем.

Для этого кликаем правой кнопкой мыши по виртуальной машине и выбираем «Клонировать…».

Как клонировать систему в VirtualBox

В отобразившемся окне потребуется выбрать путь и скачать туда резервную копию.

Шаг 7: Запускаем виртуальную машину

Вот мы и пришли к самому главному – запуску созданной виртуальной машины в VirtualBox. Для этого нам потребуется загрузочный диск необходимой операционной системы. Это обычный образ, который мы всегда используем при установке ОС на ПК. Установить его в VirtualBox мы можем следующим образом:

  1. Выбираем созданную ранее виртуальную машину и в правой части нажимаем на кнопку «Запустить».Как установить операционную систему в VirtualBox
  2. Добавляем образ операционной системы.Как поставить систему в VirtualBox
  3. Когда операционная система будет установлена, вы получите к ней доступ через окно VirtualBox. Например, вот так будет выглядеть Linux:Linux в VirtualBox

Шаг 8: Устанавливаем дополнительные плагины

Дополнительные расширения VirtualBox позволяют получить доступ к USB-устройствам и веб-камере из виртуальной машины, настроить удаленный доступ и многое другое. Для их установки потребуется скачать дополнительный пакет с официальной страницы.

Установка плагинов в VirtualBox

Далее следуем инструкции:

  1. Заходим в VirtualBox и переходим в «Файл» -> «Настройки…».Настройки VirtualBox
  2. Открываем раздел «Плагины» и в правой части кликаем по кнопке в виде плюса.Как в VirtualBox добавить плагин
  3. Выбираем скачанный пакет и в отобразившемся окне выбираем «Установить».Как установить плагин в VirtualBox

Таким образом, вы сможете работать с USB-устройствами напрямую через виртуальную машину.

Шаг 9: Делаем снимки состояния

Ранее мы уже создавали копию виртуальной машины, которой можно воспользоваться в случае непредвиденных проблем. Но это не единственный способ создания резервной копии – мы также можем использовать специальную функцию «Снимок состояния». Она позволяет возвращать систему к предыдущему состоянию.

Создать снимок можно следующим образом:

  1. Запускаем виртуальную машину и в верхней части выбираем «Машина» -> «Сделать снимок состояния…».Как сделать снимок состояния в VirtualBox
  2. Задаем ему имя и по желанию прописываем описание.Как в VirtualBox сделать снимок виртуальной машины
  3. Вернуться к созданному снимку мы можем через меню «Машина» -> «Инструменты» -> «Снимки».Работа со снимками в VirtualBox

Шаг 10: Записываем видео с экрана

Если вам потребуется снять ролик о том, как вы пользуетесь операционной системой через VirtualBox, сделать это можно прямо в программе. Достаточно запустить виртуальную машину и перейти в раздел «Вид», затем выбирать «Запись».

Как в VirtualBox записать видео с экрана

Шаг 11: Подключаем дополнения гостевой системы

Дополнения гостевой системы позволяют использовать такие возможности, как общий буфер обмена, общие папки, перетаскивание файлов, интеграция экрана, адаптация разрешения виртуальной машины и многое другое.

Воспользоваться этим можно через вкладку «Устройства» -> «Подключить образ диска Дополнений гостевой ОС…».

Как в VirtualBox подключить образ диска дополнений

Останется запустить специальный установщик, который поддерживается как на Linux, так и на Windows.

На этом моя статья подходит к концу. Сегодня мы рассмотрели, как пользоваться мощным инструментом VirtualBox. С его помощью мы можем устанавливать дополнительные операционные системы, проводить между ними сеть, а также выполнять все то, что доступно в обычной ОС.

VDS

Понравилась статья? Поделить с друзьями:
  • Инструкция по ремонту нота 203 скачать
  • Видео руководство по видео монтажу
  • Унифлор микро инструкция по применению отзывы
  • Клацид суспензия 250 мг инструкция по применению детям цена
  • Пошаговая инструкция перехода на электронные трудовые книжки