分子通过vbox中的vagrant启动VM时出错(Windows,WSL2)

问题描述 投票:0回答:1

我的环境是这样的:

WSL2 (Debian 12) 中带有 Vagrant 2.4.1 的分子。 带有 Vagrant 2.4.1 和 VirtualBox 7.0.1 的 Windows 10

下面

molecule.yml

---
dependency:
  name: galaxy
  enabled: false
prerun: false
driver:
  name: vagrant
  provider:
    name: virtualbox
lint: |
  yamllint .
  ansible-lint .
platforms:
  - name: peertube-host
    box: debian/buster64
    memory: 2048
    cpu: 2
    interfaces:
      - auto_config: true
        network_name: private_network
        type: static
        ip: "192.168.56.4"
provisioner:
  name: ansible
  log: True
  env:
    ALLOW_WORLD_READABLE_TMPFILES: True
    ANSIBLE_FORCE_COLOR: true
    ANSIBLE_ROLES_PATH: ../../roles:../../roles-dependencies/
    ANSIBLE_COLLECTIONS_PATH: $PWD/collections-dependencies/
    ANSIBLE_VERBOSITY: 3
  playbooks:
    converge: ../../site.yml
  inventory:
    links:
      group_vars: ../../inventories/molecule/group_vars/
verifier:
  name: testinfra
  options:
    junit-xml: default-report.xml
    o: "junit_family=legacy"

当我执行

molecule create
时,我的虚拟机已正确创建,但由于无头模式错误而无法启动。

        "There was an error while executing `VBoxManage`, a CLI used by Vagrant",
        "for controlling VirtualBox. The command and stderr is shown below.",
        "",
        "Command: [\"startvm\", \"2fa5ff42-1aec-47ba-a7cb-2b161bff3cf6\", \"--type\", \"headless\"]",
        "",
        "Stderr: VBoxManage.exe: error: The virtual machine 'default_peertube-host_1710842684897_81290' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005)",
        "VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine"

在 Windows 应用程序日志查看器中,我可以阅读:

Faulting application name VBoxHeadless.exe, version: 7.0.14.11095, timestamp: 0x65a53a70
Failing module name: VBoxHeadless.exe, version: 7.0.14.11095, timestamp: 0x65a53a70
Exception code: 0xc0000005
Error offset: 0x000000000001b21b
Failing process ID: 0x245c
Start time of the failing application: 0x01da79e4e25c2618
Path of the faulting application: C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe
Path of the faulting module: C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe
Report ID: 6771c359-7ee3-494a-806a-6be9772f8535
Full name of the failing package:
Application ID relating to the failing package:

我在 WSL 中尝试直接使用 Vagrant,我使用此设置设置了一个新的 vagrantfile,以 GUI 模式启动 VM 并且它可以工作:

  config.vm.provider "virtualbox" do |v|
   v.gui = true
  end

那么,如何解决无头问题?或者如何在我的

molecule.yml

中设置 GUI 模式
windows ansible vagrant virtualbox molecule
1个回答
0
投票

我在寻找一种方法来从 molecular.yml 文件启用虚拟盒虚拟机的 GUI 启动时发现了你的问题。

需要明确的是:
这个答案只是关于 GUI 启动而不是关于无头错误,因为到目前为止我从未遇到过。

这里是我用来在“GUI”或“正常”启动模式下自动启动虚拟机的 molecular.yml 的一部分。

dependency:
  name: galaxy
driver:
  name: vagrant
  parallel: true
  provider:
    name: virtualbox
    type: virtualbox
lint: |
  set -e
  yamllint
  ansible-lint
platforms:
  - name: Alma9
    box: almalinux/9
    memory: 4096
    cpus: 2
    provider_options:
      gui: true
    linked_clone: true
    interfaces:
      - auto_config: true
        network_name: private_network
        type: "static"
        ip: "192.168.56.10"
    provider_raw_config_args:
      - "customize ['modifyvm', :id, '--uartmode1', 'disconnected']"
      - "customize ['modifyvm', :id, '--graphicscontroller', 'vmsvga']"
      - "customize ['modifyvm', :id, '--vram', '256']"
      - "customize ['modifyvm', :id, '--accelerate-3d', 'off']"
      - "customize ['modifyvm', :id, '--accelerate-2d-video', 'on']"
      - "customize ['modifyvm', :id, '--clipboard-mode', 'bidirectional']"
      - "customize ['modifyvm', :id, '--draganddrop', 'bidirectional']"
    groups:
      - client

我在检查了实际模板后尝试了分子流浪者插件用于构建 Vagrantfile 的方法。 我找不到任何关于此的文档。

从技术上讲,已弃用的 molecular vagrant 插件的自述文件中有一些文档here。但我不会依赖它。

希望这对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.