我最近将我的笔记本电脑配置为双启动 Windows 10 和 ubuntu 16.04。
设置是,我在单个 1TB 驱动器上有 6 个分区,其中只有 3 个设置为可用驱动器(其余为恢复、交换、efi)。在一个驱动器上,我安装了带有应用程序的 win10,在一个驱动器上,我安装了带有应用程序的 ubuntu,另一个驱动器是我用来在两个设置之间共享数据的驱动器。
我最近(大致)遵循了这种方法:https://lifehacker.com/how-to-dual-boot-and-virtualize-the-same-partition-on-y-493223329
这样我现在就可以从 Windows 作为虚拟化客户端访问 ubuntu 分区。
如果您查看参考指南和链接的 vbox 文档,您会发现一些关于让主机/客户机访问彼此分区的旧警告,因此我确保在每个系统上隐藏这些警告。
我现在想知道的是,从两个系统同时访问我的共享数据驱动器是否安全(注意:它不是作为 VirtualBox 共享共享的 - 两个系统都可以看到物理磁盘)。这种情况是否可能导致损坏?
答案1
错误的方法
通过本机文件系统驱动程序直接从两个不同的操作系统访问分区是极其危险。这是因为本机 fs 驱动程序在设计时假设它们对文件系统具有独占访问权限。它们不知道彼此对各自文件系统的 MFT/Journal 的更改,并且可能存在竞争条件,即两者都试图同时写入同一扇区。仅因为挂载了 fs(而不是主动访问它),数据丢失的风险就非常高。主动写入以这种方式挂载的驱动器几乎可以保证文件系统损坏,甚至数据丢失。
最多,您只应在客户操作系统中直接安装物理文件系统,前提是该文件系统已在主机操作系统中卸载(仍然存在风险)或以不可变的形式安装在客户操作系统上(仍然不会意识到主机所做的更改)。
正确的方式
最简单、最可靠的选择是使用映射到要共享的文件系统根目录的 Virtualbox 共享文件夹。我自己这样做是这样的:
然后,您可以在客户机上安装共享驱动器。您必须在客户机上安装 Virtualbox Guest Additions 才能执行此操作。在 *nix 中,只需使用 mount 命令,设备与共享名称和 fstype“vbox”匹配。在 Windows 中,查看网络位置,然后您就可以right-click
>Map Network Drive
共享了。