几个月前,我在我的 iMac(iMac7,1)上通过 Boot Camp 非常顺利地安装了 64 位 Windows 7。我打算把这台电脑送给父母,为了让它焕然一新,我决定用一块小型(60GB)SSD 替换内置硬盘(操作很顺利,电脑运行良好)。我将旧硬盘装进外置机箱并收起来。
现在,我从父母那里拿回了我的计算机,它仍然在 SSD 上运行,这很好,只是我没有空间重新安装 Boot Camp,而且我无法使用我制作的旧 Boot Camp 分区(据我所知,您无法从外部 USB 驱动器启动 Windows 7)。因此,我安装了 VMware Fusion 至少尝试虚拟化旧驱动器,但不知出于什么原因,该分区似乎已失去其可启动性。我无法在 VMware Fusion 中启动 Windows 安装 - 它只是卡在尝试加载 SATA 驱动器 1 时,我无法通过正常方式启动它(系统偏好设置未将该分区列为可启动分区,并且在启动时按选项只会让我卡在该No bootable device
阶段)。
在花了一整天时间尝试修复此 Windows 7 安装后(我得到最多的提示是从 Windows 安装 CD 启动虚拟机并通过命令行运行bootrec.exe /fixmbr
,但 Mac OS X 有一个安全功能,不允许虚拟机更改其启动扇区,我找不到任何方法来禁用它),我意识到我只需要将分区中的文件挽救到虚拟机中。 (我也尝试过使用光盘上的恢复工具,但都没有用)。
挑选和手动传输文件和文件夹不仅会花费很长时间,而且我肯定会遗漏一些东西。不幸的是,我能找到的每个迁移工具(包括微软自己的 Easy Transfer 和 VMware 的转换工具)都需要在旧驱动器上启动客户端,而这是不可能的,因为驱动器不再可启动。
这真是令人沮丧,但有没有办法可以挽救我的文件而不必单独传输它们?
(为了完整起见,我只想提一下我尝试过的方法:rEFIt,但它什么也没改变;将 Boot Camp 分区导入 Parallels Desktop-但它也无法启动,而且还是失败了;从 Windows 7 安装 CD 启动时运行恢复工具,它说恢复工具与我安装的 Windows 不同,我无法使用它们-很奇怪,因为在 VMware 中操作时不会出现这个问题;在 VMware 中玩耍甚至试图让它将驱动器注册为 VM 的可能来源,但它拒绝这样做;用头撞桌子,这简直是有害的。)
答案1
假设该分区的唯一问题是它不可启动:
如果您只想保存用户偏好和设置以及您的文件、文档等内容,您可以执行以下操作。
在您计划将来使用的机器/安装等上,创建一个干净的用户并使用它登录(这将创建所有需要覆盖的文件,并阻止您想要保留的副本)。
然后,在单独的帐户上,复制整个目录结构,确保它覆盖文件,包括子目录中的文件等。
确认现在的 ntuser.dat 版本(是c:\users\<user name>\
来自损坏分区的版本(通过数据戳、大小或其他内容)。如果不是,那么您可能没有复制所有隐藏文件,您应该重新开始(确保您可以查看隐藏文件可以解决此问题)。
这应该会迁移您的个人资料。
笔记:这应该以干净的用户身份进行,以尽量减少可能的后果,并防止意外的数据丢失(新旧驱动器上具有相同名称和路径的两个文件将导致这种情况)。
答案2
我之前用 VirtualBox 成功完成过这个,那是个早期版本,我不再使用它了,因为我不需要 Windows。这里有一个指南,它指向我使用的那个,并解决了一些其他问题
http://phaq.phunsites.net/2011/03/05/sharing-windows-7-between-boot-camp-and-virtualbox/
答案3
最后,我又更换了电脑的内置硬盘。无法使用 Boot Camp 是压死骆驼的最后一根稻草,我决定 SSD 不适合我的需求。
在更换硬盘之前,我创建了一个干净的 VMware Fusion VM,并在其上安装了 Windows 7。我与虚拟机共享了 Boot Camp 分区,并手动复制了我需要的所有文件,并列出了需要重新安装的已安装应用程序列表。似乎没有任何自动化方法可以做到这一点。然后我删除了旧的 Boot Camp 分区。
更换内置硬盘(并将 Mac OS X 和文件传输到该硬盘上)后,我在其上创建了一个 Boot Camp 分区并安装了另一个干净的 Windows 7 副本。然后我使用 VMware Fusion 将 Boot Camp 作为 VM 加载,以及另一个 VM(同时运行两个 VM 会使计算机运行速度非常慢,但我的 6GB RAM 肯定有帮助 - 您的结果可能会有所不同)并且我通过网络在它们之间启动了 Windows 轻松传输(因为它们在同一个虚拟网络上,文件只是在硬盘上传输,而不是通过网络传输 - 它非常快)。
完成之后,我手动重新安装了所有旧应用程序,现在一切都运行正常。是的,这是一个有点激进的举动,但似乎没有太多其他选择。