为 Linux 客户机操作系统配置 VirtualBox 共享文件夹
逐步设置 VirtualBox 共享文件夹的指南
要在Linux Guest OS中配置VirtualBox共享文件夹,请按照以下步骤操作:
1. 安装VirtualBox Guest Additions
要在Guest OS中启用共享文件夹支持,必须安装Guest Additions:
- 启动Guest。
- 在VirtualBox菜单中,选择:
设备 > 插入Guest Additions CD映像
- 在Guest中打开终端,如果需要,挂载CD并运行安装程序:
sudo sh /media/$USER/VBox_GAs_*/VBoxLinuxAdditions.run
-
安装完成后重启Guest。
-
将您的用户添加到Guest中的
vboxsf
组(这对于访问权限至关重要):
sudo usermod -aG vboxsf $(whoami)
` 重启或注销/登录以使组更改生效。
2. 在主机上的VirtualBox管理器中配置共享文件夹
- 右键点击您的虚拟机,进入:
设置 > 共享文件夹
- 点击添加共享文件夹按钮。
- 设置以下内容:
- 文件夹路径:您Linux主机上要共享的文件夹。
- 文件夹名称:在Guest中引用的名称(例如,
share
)。 - 可选勾选自动挂载,以便在启动时自动挂载。
- 可选勾选设为永久,以实现持久共享。
3. 在Linux Guest中挂载共享文件夹
如果启用了自动挂载,VirtualBox将在启动时自动挂载共享文件夹,通常位于/media/sf_
(例如,/media/sf_share
),并具有vboxsf
组的访问权限。
如果您想手动挂载或挂载到自定义位置:
- 创建挂载点:
mkdir ~/host_share
- 使用以下命令挂载:
sudo mount -t vboxsf ~/host_share
在启动时自动挂载共享文件夹
在Linux Guest中,推荐的做法是在Guest的/etc/fstab
中添加共享文件夹的条目。
这可以确保每次系统启动时都挂载该文件夹。
以root身份使用文本编辑器打开/etc/fstab
:
sudo nano /etc/fstab
添加如下一行,将sharename
和/home/youruser/host_share
替换为您所需的路径(例如,/mnt/shared
):
sharename /home/youruser/host_share vboxsf defaults 0 0
sharename是在VirtualBox共享文件夹设置中定义的名称。
创建挂载点(如果不存在):
mkdir -p /home/youruser/host_share
挂载所有文件系统或重启以测试:
sudo mount -a
检查共享文件夹是否现在可以访问。
访问、权限与故障排除
- 共享文件夹在Guest中将由
root:vboxsf
拥有。 - 确保您的Guest用户在
vboxsf
组中(使用id $USER
检查)。 - 如果遇到权限问题,请确保您在
vboxsf
组中,并在将自己添加到该组后注销/登录(或重启)。 - 对于更复杂的需求或动态/条件挂载,您还可以使用systemd自动挂载单元,但
/etc/fstab
是Linux上VirtualBox共享文件夹最直接和可靠的方法。
这种方法将确保您的VirtualBox共享文件夹在每次系统启动时自动挂载。
VirtualBox无法在VMX根模式下运行
如果您收到以下错误,该错误归咎于KVM内核模块:
VBoxManage: error:
VirtualBox can't operate in VMX root mode.
Please disable the KVM kernel extension, recompile your kernel and reboot
(VERR_VMX_IN_VMX_ROOT_MODE)
VBoxManage: error:
Details:
code NS_ERROR_FAILURE (0x80004005),
component ConsoleWrap, interface IConsole
请自行承担风险进行以下操作。 您可以在Ubuntu 24.04上尝试临时禁用此错误,但请确保当前没有人正在使用kvm:
lsmod | grep kvm
lsof | grep kvm
sudo modprobe -r kvm_intel
如果您愿意,也可以尝试禁用并重新编译,如果您经常使用VirtualBox。
检查kvm是否已加载(在收到VirtualBox错误时应为已加载):
lsmod | grep kvm
检查kvm是否当前正在使用中:
lsof | grep kvm
如果没有输出,kvm当前未被使用,内核模块可以安全卸载:
sudo rmmod kvm_intel # 或 kvm_amd 在AMD CPU上
sudo rmmod kvm
这将仅在当前会话中卸载内核模块。要禁用启动时的kvm,需要将其加入黑名单并更新initramfs。将以下内容添加到/etc/modprobe.d/blacklist-kvm.conf
:
blacklist kvm
blacklist kvm_intel # 或 kvm_amd
更新initramfs并重启:
sudo update-initramfs -u
sudo reboot
有用的链接
- https://www.virtualbox.org/
- 下载并安装适用于您Linux版本的VirtualBox:https://www.virtualbox.org/wiki/Linux_Downloads
- 如何安装Ubuntu 24.04及有用的工具
- Bash速查表
- 使用有用工具重新安装Linux Mint
- 检查Linux Ubuntu版本
- 在Linux中将任何可执行文件作为服务托管
- 在Linux上安装Portainer
- 在Linux上安装DBeaver