Показаны сообщения с ярлыком virtualbox. Показать все сообщения
Показаны сообщения с ярлыком virtualbox. Показать все сообщения

вторник, 21 мая 2024 г.

Не работает VT-x в VirtualBox после обновления на Windows 11

После обновления до Windows 11 перестал работать VT-x в VirtualBox.

00:00:05.852762 HM: HMR3Init: Attempting fall back to NEM: VT-x is not available
00:00:05.966704 NEM:  info: Found optional import WinHvPlatform.dll!WHvQueryGpaRangeDirtyBitmap.
00:00:05.966717 NEM:  info: Found optional import vid.dll!VidGetHvPartitionId.
00:00:05.966722 NEM:  info: Found optional import vid.dll!VidGetPartitionProperty.
00:00:05.966788 NEM: WHvCapabilityCodeHypervisorPresent is TRUE, so this might work...
00:00:05.966793 NEM: WHvCapabilityCodeExtendedVmExits      = 0x0000000000007fff

[пропущено для краткости]

00:00:05.968227 NEM: Adjusting APIC configuration from X2APIC to APIC max mode.  X2APIC is not supported by the WinHvPlatform API!
00:00:05.968230 NEM: Disable Hyper-V if you need X2APIC for your guests!
00:00:05.968455 NEM:
00:00:05.968456 NEM: NEMR3Init: Snail execution mode is active!
00:00:05.968456 NEM: Note! VirtualBox is not able to run at its full potential in this execution mode.
00:00:05.968456 NEM:       To see VirtualBox run at max speed you need to disable all Windows features
00:00:05.968456 NEM:       making use of Hyper-V.  That is a moving target, so google how and carefully
00:00:05.968456 NEM:       consider the consequences of disabling these features.
00:00:05.968456 NEM:
00:00:05.968487 CPUM: No hardware-virtualization capability detected

В Windows 10 эта часть лога выглядела так:

00:00:08.088362 HM: HMR3Init: VT-x w/ nested paging and unrestricted guest execution hw support
00:00:08.088503 CPUM: fXStateHostMask=0x7; initial: 0x7; host XCR0=0x1f

"Грязное" исправление выглядит так: bcdedit /set hypervisorlaunchtype off. После этого перезагрузился и теперь VirtualBox работает как и прежде. Скорее всего есть более правильный способ выключить такое поведение, но разбираться пока времени нет.

.

суббота, 14 января 2023 г.

VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine

Столкнулся с тем, что Vagrant не может запустить виртуальную машину VirtualBox в headless режиме на Windows 10

==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "df70e47d-8ba3-4103-b826-8bbfadff8794", "--type", "headless"]

Stderr: VBoxManage.exe: error: The virtual machine 'dev-workstation_default_1673686308201_10549' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine

К Vagrant эта проблема не имеет отношения, т.к. сама команда VBoxManage startvm df70e47d-8ba3-4103-b826-8bbfadff8794 --type headless завершается с такой же ошибкой

C:\Program Files\Oracle\VirtualBox>VBoxManage startvm df70e47d-8ba3-4103-b826-8bbfadff8794 --type headless
Waiting for VM "df70e47d-8ba3-4103-b826-8bbfadff8794" to power on...
VBoxManage.exe: error: The virtual machine 'dev-workstation_default_1673686308201_10549' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine

Версия VirtualBox 6.1.40 r154048, если запускать виртуальную машину с GUI, то ошибки не вознимает. В качестве решения попробовал перезагрузиться и переустановить VirtualBox, но это не помогло. Сейчас под рукой нет другой Windows 10 чтобы проверить возникает ли проблема там.

На форуме VirtualBox есть тема с похожими симптомами (Unable to headless start and detachable start), но там речь про Windows 11 и я не уверен что это тот же случай.

В баг трекере есть #17679 (Error on trying to run VM in headless mode), которому уже 5 лет. Во всех схожих случаях просят VBoxHardening.log, но никакие логи не появляются при этой ошибке.

В качестве временного решения сконфигурировал Vagrant запускать виртуальную машину с GUI.

Обновлено 15/01/2023: Попробовал запустить виртуальную машину на VirtualBox 7.0.4 - результат аналогичный. И логов все еще не пишет.

суббота, 20 апреля 2019 г.

Совместный доступ к файлам для Windows и Linux в VirtualBox

Для обеспечения совместной работы с файлами для хост-системы на базе Windows и Linux, установленного в виртуальную машину VirtualBox, предлагается использовать shared folders. Чтобы обеспечить доступ к содержимому файлов этот способ подойдет, но если пытаться использовать shared folders как замену файловым системам Linux, то вас ждет набор проблем:
  • нужно отдельно настраивать VirtualBox для работы с symlinks
  • крайне ограниченная поддержка linux owner/group/permissions
  • сложности с удалением и переименованием отрытых файлов унаследованные от хост-системы
  • ограничения на имена файлов и директорий унаследованные от хост-системы
  • низкая скорость работы
Я пользовался shared folders почти два года и периодически пытался уйти на WSL, но последнее заслуживает отдельного повествования. Когда началась работа с проектом, где регрессионный тест занимал 15 минут, вместо положенных двух (если запускать его в виртуальной машине, но вне shared folders) я приступил к поиску альтернатив.

среда, 2 января 2019 г.

perl: Text file busy, skipping file

В процессе прикручивания pre-commit хуков к репозитарию terraform модуля столкнулся с очередным приколом shared folders в Virtualbox (vboxsf). Долго не мог понять почему хук terraform_docs отрабатывает без ошибок, но в README.md нет никаких изменений. Покопался в terraform_docs.sh и нашел место где выполняется подстановка вывода terraform-docs в разрыв маркеров в README.md.

После подстановки значения "$text_file" получается такая команда

perl -i -ne 'if (/BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK/../END OF PRE-COMMIT-TERRAFORM DOCS HOOK/) { print $_ if /BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK/; print "I_WANT_TO_BE_REPLACED\n$_" if /END OF PRE-COMMIT-TERRAFORM DOCS HOOK/;} else { print $_ }' README.md

вторник, 17 июля 2018 г.

Поддержка symlink для shared folders в VirtualBox

Есть виртуальная машина VirtualBox в которой установлен Debian Stretch и проброшена часть системного диска с рабочими файлами в виде Shared Folder которая называется Work. Но вот незадача - VirtualBox не дает создавать symlink'и в этой директории

$ cd /media/sf_Work
$ touch 1
$ ln -s 1 2
ln: failed to create symbolic link '2': Read-only file system

На serverfault нашел решение для этой проблемы

понедельник, 2 апреля 2018 г.

Увеличение размера диска VirtualBox содержащего снапшоты

Столкнулся с нехваткой свободного места на диске при установке довольно объемного справочника на семи DVD дисках в виртуальную машину VirtualBox. Изначальный размер единственного диска виртуальной машины был 40G и я понадеялся на то, что будет устанавливаться только часть данных относящихся к русскому языку. Вместо этого я столкнулся с нехваткой свободного места на предпоследнем диске.

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