在 VirtualBox 中使用共享文件夹运行 Arch ISO

在 VirtualBox 中使用共享文件夹运行 Arch ISO

我尝试在将 Arch ISO 作为 VirtualBox 来宾操作系统运行时使用共享文件夹功能。原因是在共享文件夹中我有用于进行持久设置的脚本。

Arch ISO 引导程序之后,我运行:

pacman -Syu virtualbox-guest-utils

一切看起来都很顺利,但是当我加载 VirtualBox 模块时:

modprobe -a vboxguest vboxsf vboxvideo #Following guide here: vboxsf only might do

它给出了一个错误。我知道我可以通过创建依赖文件来修复它:

depmod 3.16.1-1-ARCH 

版本是 from uname -r,我再次收到错误,因为没有目录:

/lib/modules/3.16.1-1-ARCH

前一个pacman -Syu ...已经更新了内核,因此我现在有了一个3.16.2-1-ARCH目录。实际上:

depmod 3.16.2-1-ARCH 

有效,但 modprobe一直不工作。

我认为这是由于内核uname -r与更新后的内核不匹配造成的。建议重新启动,但就我而言,由于我是从 ISO 运行,因此我会丢失所有内容。

我重新启动并尝试使用最后一个可用的 Arch ISO 安装来宾添加项而不进行更新:

pacman -Sy virtualbox-guest-utils # now no -u

但我知道这是一个不好的做法!无论如何我跑:

depmod 3.16.1-1-ARCH # non-updated kernel!
modprobe -a vboxguest vboxsf vboxvideo
mount.vboxsf arch /mnt
ls /mnt

我终于可以看到我的共享文件了。

这个过程是一种幸运的尝试和错误。
您能告诉我实现此目标的最佳实践是什么吗?即在不稳定的环境(Arch ISO)中安装 VirtualBox 来宾添加项。

答案1

最好的方法是主观的,但有以下几种:

  1. 制作您自己的 ISO,其中已包含所包含内核的 VBox 模块。 (看 [1],[2], 或者 [3].) 如果可以并且您打算经常使用它,这通常可能是首选选项,但如果您只打算使用它一次,则可能会被认为有点浪费时间。

  2. 将脚本上传到 Pastebin 或文件主机站点,甚至只是在主机上运行一个简单的 HTTP 服务器,然后将它们下载到虚拟机中。darkhttpd是一个简单的 HTTP 服务器,大小低于 100KiB,您只需执行它,为其提供通过 HTTP 提供服务的目录路径,并且对于像您的情况这样的一次性事物来说,这可能是最简单和首选的。

  3. 或者只是做你所做的。它在很多情况下都有效,但您应该尽力避免它,因为它可能会损坏。切勿在安装介质之外执行此操作。

相关内容