在外置硬盘上运行 Windows 8

mcw*_*ffe 1 usb sata windows-8

我有一台 Acer A0756 上网本,它最初带有一个硬盘驱动器和 Windows 8。我想升级硬盘驱动器,所以我将备用硬盘驱动器换成了 SSD,并在其上安装了 Ubuntu 12.04。但是,我仍然希望能够使用 Windows 安装,因为有许多工程程序不能很好地与 Linux 配合使用。因此,我将备用硬盘驱动器放在 SATA 转 USB 坞站上,并尝试直接从备用硬盘驱动器(现在位于上网本外部)启动。Windows 尝试启动,但我始终收到 INACCESSIBLE_BOOT_DEVICE 错误(我相信错误代码是 0xc0000001),然后 Windows 重新启动。我尝试在安全模式下启动,但这也失败了,激活调试模式并没有改变进程的任何内容。有没有人成功实施过这样的事情,或者有没有人知道我的问题可能是什么?

小智 6

我刚刚遇到了同样的问题,并在一本德国杂志(c't 2013,第 12 期)中找到了解决方案。本文介绍了将 Windows 安装到外部驱动器的三种不同方式。其中一种方法包括将现有安装克隆到外部驱动器 - 我们可以跳过这一步。

此外,有必要编辑 Windows 注册表。由于您运行的是 linux,因此您可以使用该工具chntpw

挂载外部 Windows 驱动器并使用以下选项启动编辑器-e

$ chntpw -e /media/<username>/Windows8_OS/Windows/System32/config/SYSTEM
Run Code Online (Sandbox Code Playgroud)

相应地修复您的路径。

现在我们在 chntpw 命令提示符下。我们需要编辑BootDriverFlags注册表中的值以确保 Windows 在启动过程中尽早加载 USB 驱动程序:

首先,列出HarwareConfig. 您应该会看到一个很长的系统 ID。复制标识符。

> ls HardwareConfig
[output ommited]

> ed HardwareConfig\<paste uuid>\BootDriverFlags
Run Code Online (Sandbox Code Playgroud)

在我的情况下,价值是0. 文章指出,0x14在我的情况下,结果应该是好的。

接下来,MountedDevices必须完全删除密钥。键中列出的是已连接到计算机的 USB 设备。Windows 将在设备连接时更新列表。

> cd MountedDevices
Run Code Online (Sandbox Code Playgroud)

删除所有已知设备,因为只能删除空密钥。

> delallv
> cd ..
> dk MountedDevices
Run Code Online (Sandbox Code Playgroud)

键入q以退出编辑器并保存更改。您现在应该能够启动 Windows 安装。

  • 很好的建议,我只想添加您想要的 &lt;paste uuid&gt; 包括大括号,但不包括大于和小于符号,即 ed HardwareConfig\{asdfasd...ljkklj}\BootDriverFlags (2认同)