有没有一种干净的方法可以在 Windows 下获得对物理分区的独占访问权限?

zne*_*eak 11 windows-7 hard-drive partitioning

我正在尝试在 Windows 7 下从安装在物理分区上的操作系统运行带有 VMWare Player 的虚拟机。但是,当我启动虚拟机时,VMWare Player 说它无法访问物理驱动器进行写入。

这似乎是 VMWare 社区中普遍公认的问题,因为 Windows Vista引入了一项引人注目的新安全功能,该功能使得在未获得独占访问权限的情况下无法写入原始驱动器。

我在谷歌上搜索了这个问题并找到了一些解决方法。但是,干净 似乎只适用于整个物理磁盘,而不适用于分区。

所以我会留下肮脏的解决方案。简而言之,它干扰 MBR 以擦除要使用的分区的任何痕迹,让 Windows 忘记它们,然后恢复 MBR,以便我们可以启动 VM。

我不确定我想这样做。有没有办法让 VMWare 获得对分区的独占访问权限,而无需我将其删除?我想,我要寻找的是一种将分区置于离线状态而不是将整个物理驱动器置于离线状态的方法。


有关赏金的更多信息

我有一个双启动设置:Mac OS 是我的主要操作系统,我也安装了 Windows。如果我不想重新启动,我可以在虚拟机中运行 Windows,但当我在 Windows 下时,我希望能够在虚拟机中运行 Mac OS。

我的目标是在 Windows 下从 VMWare 运行我的主 Mac OS 分区,就像我从 VMWare Fusion 运行 Windows 一样。(因为这是我的主要操作系统,我不打算修补内核或其他任何让它在虚拟机中工作的东西。)我从 VMWare Fusion 创建了虚拟机(因为它具有“Mac OS X Server”VM 类型) 然后将其移至 Windows 并从 VMWare Player 对其进行修改。似乎几乎可以工作,因为操作系统进入加载屏幕,然后虚拟机因为无法访问\\.\PhysicalDrive0.

Virtual Box 失败得更厉害,因为它以详细模式启动 Mac OS 并且崩溃得非常快(但似乎能够访问分区),所以我认为让 VMWare 访问我的分区比让 Virtual Box 运行更容易它。

在法律方面,我会在一台带有 Apple 标签的机器上运行 Mac OS X 的一个副本,所以我没问题。

har*_*ymc 5

我只遇到过一种可能的解决方案,即使用免费的虚拟磁盘驱动程序imdisk和 devio(远程驱动器访问和获取)。由于 imdisk 是内核驱动程序,因此它可能能够写入分区。不幸的是,由于 devio 在用户模式下工作,我不太确定这种方法是否适合您。

devio 可以获取一个物理分区并将其发布到网络上。例如:

devio -r 9000 \\.\PhysicalDrive0 2
Run Code Online (Sandbox Code Playgroud)

确实从第一个磁盘在 TCP 端口 9000 上发布第二个分区,并将等待此端口上的连接。测试时最好禁用防火墙,并以管理员身份运行 devio。

要将这个发布的分区定义为一个新的独立硬盘,请使用:

imdisk -a -t proxy -o ip -f 127.0.0.1 -m R:
Run Code Online (Sandbox Code Playgroud)

使用 localhost 将创建一个名为 R 的新硬盘,它不是任何分区。您现在可以尝试是否可以在VMware虚拟机中使用假装真正的硬盘R。

Devio:远程驱动器访问和获取中详细解释了这种方法。

如果这不起作用,您将不得不:

  1. 接受修改 MBR 的危险解决方案。
  2. 放弃使用Win7内的MacOS作为VM,通过Windows应用程序使用Mac分区中的文件(有行尾字符问题)。
  3. 使用虚拟文件系统产品,例如ELDOS Callback File System,虽然我怀疑这个问题是否值得你花几千美元。
  4. 放弃 Windows 7 并降级到 XP。
  5. 修改imdisk源码,作为内核驱动直接在物理分区上创建假盘,不需要devio。