32 位 Windows XP 客户机是否可以将带有一个 8TB GPT 分区的 NTFS HDD 视为 VirtualBox 共享文件夹并在其上读取/写入文件?
背景
32 位 Windows XP物理机无法访问内部硬盘上超过 2TB 的总分区空间。
[问] GPT 磁盘可以有多大 [答] ... Windows XP 和 Windows Server 2003 的原始版本对每个物理磁盘(包括所有分区)的限制为 2TB.... — Windows 和 GPT 常见问题解答 | Microsoft 学习
此外,它无法访问任何大小的 GPT 分区磁盘。
[问] 32 位版本的 Windows XP 是否可以从 GPT 磁盘读取、写入和启动 [答] 不能。32 位版本只能看到保护性 MBR。EE 分区将不会被安装或以其他方式暴露给应用程序软件。— Windows 和 GPT 常见问题解答 | Microsoft Learn
认为:
- 主机正在运行适用于 64 位 PC(amd64)的 Debian 12(bookworm)。
- Windows XP 本身没有做任何改动,例如替换其系统文件(在 Windows XP 上读取 GPT 硬盘 - Windows XP - MSFN);并且没有在 Windows XP 中安装任何软件来使其支持 GPT,例如Paragon GPT 加载器。
- 不允许切换到 64 位 Windows XP 虚拟机。(尽管Windows XP x64 版本只能将 GPT 磁盘用于数据。)
- 主机已将 8GB GPT 单分区内部 NTFS 硬盘安装为 /media/win_f。
- 如果 Windows XP 客户机可以看到该驱动器,它会将其视为(VirtualBox 共享文件夹)驱动器 F:,并且仅将其用于数据文件(而不是系统或配置文件)。
如果答案是“是”,请解释这是如何实现的。
与磁盘相关的限制不适用,因为据 Windows XP 系统所知,它实际上并没有访问磁盘。
客户机内的驱动器号被映射到一个 UNC 路径,该路径对应于客户机认为的主机上的网络共享,并且(正如“VirtualBox 共享文件夹
\\vboxsvr
”名称所暗示的)它使用面向文件的协议进行访问(很像 SMB 或 9p,但针对 VirtualBox 进行定制并通过其专有 PCI 通道进行传输)。因此,与让 Windows 访问 SMB 共享类似,VM 不参与解析实际的分区表或正在共享的实际文件系统 - 甚至不知道正在使用的分区表类型(如果有)或正在使用的文件系统类型 - 因此客户操作系统在这方面可能有的任何限制都无关紧要。
唯一实际的文件系统访问是由主机上的 VirtualBox 进程完成的,再次通过共享的挂载点使用文件级操作。