我在 Windows10 v1903 上使用/。 WSL:GNU bash,版本 4.4.20(1)-release (x86_64-pc-linux-gnu)。 Ubuntu 18.04.3 在 windows10 中,我运行了 bash(以管理员身份运行命令提示符,然后 > bash)。在 Bash 中,我以“root”用户身份登录。
在 bash 中,我设法破坏了我的 VBox 安装。据我所知,只有在我安装了 Trusty 的 Vivid 之后,它才损坏。我做了这些事情:
- 首先,我在 Windows GUI 上安装了 VBox 和 Vagrant。当时,这两件事不仅在 Windows GUI 中显示工作正常,而且在 Bash 终端中也显示工作正常(虚拟框在 Windows GUI 中仍然工作正常)。
- 然后,出于好奇,我在 bash 中运行了“choco install virtualbox”,这似乎再次安装了这两个文件。在这一步,我似乎记得VB和Vagrant的状态/版本显示为ok。我什至当时安装并检查了 nginx。
- 然后我在 bash 终端中安装了“ubuntu/trusty64”映像。
现在我可以在 Windows GUI 下/中运行 Virtual Box,并且在那里 vagrant 机器也可以成功运行。但在 bash 终端中,虚拟框命令不起作用。不过,如果我安装或卸载并再次安装,这些过程将显示完成,没有任何错误。但是当调用他们的状态或版本时,他们会给出以下给定的错误。
即使我运行“choco install virtualbox”命令现在也会出现此错误:找不到命令。虽然我不认为这需要解决我的问题,但我提到它以免它以某种方式相关。
现在,在 bash 中,如果我运行,VBoxManage -version
命令将给出以下错误:
WARNING: The character device /dev/vboxdrv does not exist.
Please install the virtualbox-dkms package and the appropriate
headers, most likely linux-headers-Microsoft.
You will not be able to start VMs until this problem is fixed.
5.2.32_Ubuntur132056
我想重复一遍,apt install virtualbox
安装没有任何错误。
我已经尝试过 Stack Exchange 的 diff 主题上给出的许多不同的 Linux 命令。但没有任何作用。清理干净,重新安装。
在一个这样的答案的指导下,我运行了这个命令vboxdrv.sh setup
,然后我发现“VBoxDrive.sh”文件不存在/丢失root@e6420-ssd:/usr/lib/virtualbox# ls
我以管理员身份运行终端,并在 bash 中以 root 身份运行所有内容。
最后说明:在谷歌上花了很多时间之后,我开始觉得我在这里可能犯了致命的错误,并且我感到困惑。并且永远不可能在 Windows Bash 终端中安装 VB?!!但是,为什么我仍然能够安装它而没有任何错误呢?我怎样才能在 WSL 之外运行 nginx (Virtualbox 不会在 Bash 内部运行,nginx 也不会在 bash 外部运行)。我正在观看有关 Nginx 的课程,它要求所有 3 个(VB、Vagrant、Nginx)都在机器上运行以供我练习。
答案1
根据我的谷歌搜索流浪汉 和巧克力
以及随后的更新。
我认为对你的情况最好的描述是
- 带有 WSL(适用于 Linux 的 Windows 子系统)的 Windows 10 主机
- 通过 Windows GUI 安装 VirtualBox 和 Vagrant
- Windows Store 中的 Ubuntu 应用程序(状态未知,我对此不熟悉)
- VirtualBox 通过 WSL 安装在 Ubuntu 应用程序中
- 所包含的 WSL 的 PATH 环境变量
Bash
由两个 VirtualBox 交叉设置 - 两个 VirutalBox 安装的当前状态,未知
从无到有安装总是比修复搞砸的东西更容易。
因此,根据上面假设的描述,以及关于您为 nginx 课程设置这三件事的声明。
这是我的建议:
- 卸载 WSL 和 Ubuntu 应用程序,如有必要,删除剩余目录,vagrant 和 choco 应该会随之消失。
- 在 GUI 中,删除 Ubuntu VM来自 VirtualBox。重新安装 VirtualBox 不会清理虚拟机,您必须手动删除它。
- 卸载 VirtualBox 和 Vagrant 通过Windows 10 添加/删除程序
- 重新启动 Windows 10
- 安装 VirtualBox 和 Vagrant通过 Windows 图形用户界面。
- 不要安装 WSL 和 Ubuntu 应用程序。
- 继续按照盒子上的说明进行操作Vagrant CLI Windows,命令适用于 Windows cmd 或 powershell,而不是 WSL。
- Ubuntu guest box 可以从以下位置获取这里,查找预先配置的 nginx 包含框。
引自 流浪者
警告:高级主题!在适用于 Linux 的 Windows 子系统中使用 Vagrant 是一个高级主题,只有对 Windows、WSL 和 Linux 相当熟悉的经验丰富的 Vagrant 用户才应该接触。
如果您仍然对 WSL 中的 Vagrant 和 Windows Store Ubuntu 应用程序感兴趣,我很抱歉,我没有更多信息。