在 Linux 上使用 VirtualBox 中的 Windows XP
作为一个经常使用 Linux 的人,我经常被问及对其他操作系统,特别是那些来自位于华盛顿州雷德蒙德的大公司的操作系统的看法。 这是这样的。 操作系统是工具。 我们使用它们来完成工作。 批判性地思考您正在使用的工具,并验证其他工具是否可以以更有效或更灵活的方式完成相同的工作,始终是一个好主意。
话虽如此,使用 Linux 作为 VirtualBox 的宿主机操作系统,我将向您展示如何创建一个 Windows 虚拟机,该虚拟机可以像实际机器一样与 Windows 网络中的共享网络文件夹进行交互,而不是虚拟机器。 在本文中,我还将向您展示如何在 Windows 客户操作系统中将本地 Linux 目录挂载为网络驱动器。
我将从假设您已经安装了 VirtualBox(可在此处获取)开始。
此技巧假设您拥有 Windows XP 的合法安装介质。 首先选择“新建”以创建新的虚拟机。

指示虚拟设备名称,然后选择操作系统的类型。 在本例中,它将是 Windows XP。

选择您希望虚拟机使用的 RAM 量。 我选择了 1024 兆字节,因为我的系统机器有 4GB 的 RAM。

选择现有的虚拟硬盘,或创建一个新的。 我将假设您希望创建一个新的虚拟磁盘映像 (VDI)。

选择动态扩展或固定大小的虚拟磁盘。 我是动态扩展存储的爱好者,因为如果虚拟硬盘未满,它会在您的硬盘驱动器上占用更少的空间。

选择硬盘的大小。 在 VirtualBox 中,扩展虚拟磁盘的大小是一项相对耗时的任务,因此请在此处给自己一些喘息的空间。

验证您的硬盘选择,然后选择“完成”。

再次验证您的其余选择,然后单击“完成”。

您的客户操作系统现在应该在您的 VirtualBox 菜单中。 在安装之前,我们需要更改一些设置,因此高亮显示您的虚拟机并单击“设置”。

如果您希望从实际磁盘安装 XP,则需要通过宿主机操作系统启用驱动器。 在“存储”下,选择 IDE 控制器下的 CD 图标,然后在“CD/DVD 设备”下选择“宿主机驱动器”。

插入操作系统磁盘,启动虚拟机,然后像安装普通机器一样安装 Windows XP。
安装操作系统后,我建议将 Guest Additions 安装到您的 Windows XP 机器上。 VirtualBox 手册的整章专门介绍 Guest Additions,我鼓励您阅读它,但这是手册对 Guest Additions 可以做什么的描述。
Guest Additions 提供以下功能
- 鼠标指针集成 - 为了克服在名为“捕获和释放键盘和鼠标”部分中描述的鼠标支持限制,这为您提供了无缝的鼠标支持。 您将只有一个鼠标指针,并且不再需要按宿主机键来“释放”鼠标使其不再被客户操作系统捕获。 为了使其工作,客户机中安装了一个特殊的鼠标驱动程序,该驱动程序与宿主机上的“真实”鼠标驱动程序通信,并相应地移动客户机鼠标指针。
更好的视频支持 - 虽然 VirtualBox 为任何客户操作系统模拟的虚拟显卡提供了所有基本功能,但随 Guest Additions 安装的自定义视频驱动程序为您提供了额外的高分辨率和非标准视频模式以及加速的视频性能。
此外,对于 Windows 和最新的 Linux、Solaris 和 OpenSolaris 客户机,如果安装了 Guest Additions,您可以调整虚拟机窗口的大小,并且客户机中的视频分辨率将自动调整(就像您在客户机的显示设置中手动输入了任意分辨率一样)。
对于 Linux 和 Solaris 客户机,自动调整大小需要 Xorg 服务器版本 1.3 或更高版本(由于他们提供的 X 服务器中的错误,该功能已在 Fedora 9 客户机上禁用)。 可以使用 Xorg -version 检查服务器版本。
最后,如果安装了 Guest Additions,则可以加速客户机应用程序的 3D 图形; 请参阅名为“硬件 3D 加速 (OpenGL 和 Direct3D 8/9)”的部分。
- 时间同步 - 安装 Guest Additions 后,VirtualBox 可以确保更好地同步客户机的系统时间。 这修复了一个问题,即操作系统通常期望拥有计算机 100% 的时间而不会受到干扰,当您的虚拟机与宿主机操作系统以及宿主机上的其他应用程序一起运行时,情况不再如此。 结果,您的客户机操作系统的时间将很快出现显着偏差。 Guest Additions 将定期重新同步时间。 有关如何配置时间同步机制的参数,请参阅名为“调整客户机时间同步参数”的部分。
- 共享文件夹 - 这些提供了一种在宿主机和客户机之间交换文件的简便方法。 就像普通的 Windows 网络共享一样,您可以告诉 VirtualBox 将某个宿主机目录视为共享文件夹,VirtualBox 会将其作为网络共享提供给客户操作系统。 有关详细信息,请参阅名为“文件夹共享”的部分。
- 无缝窗口 - 使用此功能,虚拟机桌面上显示的各个窗口可以映射到宿主机的桌面上,就好像底层应用程序实际上在宿主机上运行一样。 有关详细信息,请参阅名为“无缝窗口”的部分。
- 共享剪贴板 - 安装 Guest Additions 后,客户机操作系统的剪贴板可以选择与您的宿主机操作系统共享; 请参阅名为“常规设置”的部分。
- 自动 Windows 登录 - (凭据传递;仅限 Windows 客户机)有关详细信息,请参阅名为“自动 Windows 客户机登录”的部分。
好的,现在您应该确信安装 Guest Additions 是一个好主意。 幸运的是,安装 Guest Additions 很简单! 当您的虚拟机正在运行时,单击“设备”菜单,然后选择“安装 Guest Additions”。

设置向导应该很快开始。 选择继续。

在安装过程中,Windows 将两次发出警告,警告您正在安装的驱动程序未通过“Windows 徽标测试”。 没关系。 选择“仍然继续”。

Windows 将要求您重新启动(虚拟)机器。 执行它。

恭喜。 VirtualBox Guest Additions 现在已安装。
现在 Guest Additions 已经安装完毕,让我们利用允许您将 Linux 目录挂载为网络共享的功能。 从菜单中选择您的虚拟机,然后选择“设置”

在“共享文件夹”下,单击

窗口右侧的“添加共享文件夹”图标。

在“文件夹路径”下,选择“其他”。

浏览到您要共享的目录,然后选择“打开”。

验证您的选择,选择共享文件夹的名称,选择是否具有“只读”访问权限,然后单击“确定”。

启动您的虚拟机,单击开始菜单,右键单击“我的电脑”,然后选择“映射网络驱动器”。

选择您的网络驱动器的驱动器号,然后单击“浏览”以查找您的目录。

您的共享应该在
Entire Network
----VirtualBox Shared Folders
--------\\Vboxsvr
------------\\VBOXSVR\YOUR_SHARE_NAME_HERE
选择“确定”,然后选择“完成”

惊叹于您的新“网络驱动器”共享文件夹。 如果您的虚拟硬盘空间不足,这是一种绕过调整虚拟机大小的方法。

如果您希望您的客户操作系统可以访问和共享 Windows 文件共享网络上的文件,您将需要更改虚拟机与 Internet 交互的方式。 在“设置”/“网络”下,将“NAT”更改为“桥接网卡”。

请理解,选择使用桥接网络确实存在安全隐患。VirtualBox 手册解释了可用不同网络模式的优点和局限性,但 VirtualBox 手册中的这句话很好地总结了它
在桥接网络模式下,所有流量都通过宿主机系统的物理接口。 因此,可以将数据包嗅探器(例如 Wireshark)连接到宿主机接口并记录所有通过它的流量。 如果出于任何原因,您希望同一台机器上的两个或多个虚拟机私下通信,并将其数据对宿主机系统和用户隐藏,则桥接网络不是一个选项。
我将假设您愿意接受使用此网络模式带来的安全风险,以及允许在 Windows 中进行文件共享的额外风险。
选择您要共享的目录,右键单击它,然后选择“共享和安全”

您可能需要完成网络设置向导才能启用文件和打印机共享。

选中“在网络上共享此文件夹”,然后单击“确定”。 它可能会要求您再次重新启动(虚拟)机器。

当您重新启动计算机时,您会注意到您的目录被列为共享目录,并且它可以作为 Samba 共享在您的 Linux 宿主机以及网络上的所有其他机器上访问。 尽情享受吧!
