1
xupefei 2016-07-30 03:57:08 +08:00
正常来讲 .efi 所在的 FAT32 分区会被 BIOS 识别到,无需任何操作。
你确定当初克隆那个 100MB 的 FAT32 EFI System Partition 了么? |
2
acess 2016-07-30 05:06:13 +08:00 2
有三个地方要注意:主板 NVRAM , ESP 分区里的 BCD 文件,还有注册表 MountedDevices 键(应该类似 Linux 下的 fstab 吧)
在 WinPE ( Windows 安装程序也算, SHIFT+F10 可以调出命令提示符)环境里可以进行操作。 NVRAM 里的启动项可以用 BOOTICE (作者博客: http://www.ipauly.com/)这个小工具管理,也可以参考微软的指南来清空 NVRAM 里的启动项,同时导入新的启动项,操作相对比较复杂: https://technet.microsoft.com/en-us/library/cc749510(v=ws.10).aspx ESP 分区里的 BCD 文件用 bcdboot 命令可以重建。可以先在 diskpart 里给 ESP 分区分配盘符(比如分配到 S 盘),然后使用这个命令重建 BCD ,并拷贝其他引导文件: bcdboot E:\Windows /s S: /f UEFI /l zh-CN 这里 E 盘是 WinPE 里看到的,安装了 Windows 的分区,请根据现场状况自行调整。 注册表的 MountedDevices 键可以用一个小脚本 osletter7.cmd 来处理。 osletter7.cmd /currentos:E /targetletter:C 这里 E 盘是 WinPE 里看到的,安装了 Windows 的分区,请根据现场状况自行调整。/targetletter:C 中的盘符 C 表示目标 Windows 启动后使用的盘符,也就是以前“正常开机”后看到的启动卷盘符。 |
3
acess 2016-07-30 05:13:53 +08:00
UEFI 启动时,主板先根据 NVRAM 里的启动项顺序执行了 Windows Boot Manager , Windows Boot Manager 再根据 BCD 文件里的配置列出启动菜单( Win7 默认行为),或者继续启动 Windows ,进入 Metro 风格的图形界面启动菜单( Win8 以上默认行为)
bcdboot 命令有一个 /d 参数,加上它就可以保留 BCD 文件里原来就存在的数据。如果你想让 Windows Boot Manager 同时列出多个可以启动的系统,可以使用 /d 参数。 另外,注意一下,使用 bcdboot 命令(使用 /f ALL 或 /f UEFI 参数时)不仅会修改 BCD 文件,同时也会修改主板 NVRAM 里的启动项(添加 /更新 Windows Boot Manager 这一项)。 |
4
acess 2016-07-30 05:26:48 +08:00 1
有很重要的一点忘了说了, UEFI 引导规范是需要一个 FAT32 分区做 ESP 分区的。既然你想彻底撇清小硬盘的关系,让系统只从大硬盘上引导,那么大硬盘上必须有一个 FAT32 的 ESP 分区。
用 diskpart 就可以很方便地创建 ESP 分区,选择磁盘后,这个命令就可以创建一个 128MB 的 ESP 分区: create partition efi size=128 创建完成后格式化为 FAT32 、分配盘符,然后再用 bcdboot 命令设置引导即可。 |
5
msg7086 2016-07-30 09:56:43 +08:00
换个工具。我这里克隆分区完了直接启动一点问题都没。
虚拟机里就直接两块硬盘从头 dd 完了删掉旧硬盘就行。 |
6
wwqgtxx 2016-07-30 10:09:15 +08:00 via Android
@acess 不过实际上,很多主板也能读取 ntfs 的 efi 引导文件。但是,最好是建立一个 fat16 的 esp 分区引导才是最好的
|
7
jasontse 2016-07-30 11:57:34 +08:00 via iPad
你的大硬盘里需要有 FAT 格式的 ESP 分区,系统会从 \efi\boot\bootx64.efi 开始引导
|
8
yexm0 2016-07-30 12:10:38 +08:00 via Android
同意,我装 win10 时用的 u 盘就是 ntfs 格式的,主板一样能读取到里面的 efi 文件并引导系统。
|
9
seashell 2016-07-30 12:16:03 +08:00
创建新的 ESP 分区,删除旧的 ESP 分区,为新 ESP 分区分配卷标令其可见,使用 BCDBOOT 命令写引导,
例如 bcdboot c:\windows |
10
pimin 2016-07-30 12:53:17 +08:00 via Android
给你推荐个软件, easyuefi
找个绿色版在 pe 下运行也可以 |
11
baskice OP 谢谢大家回复,我终于弄明白 UEFI 会有个小引导表直接存在芯片里,指向名为 ESP 的大概几百 MB 的硬盘头部分区,里面的 bcd 文件再写明 windows 路径就可以了。
但是发现 ssd 的全盘硬件加密兼容 bitlocker 要开启设定后,安全擦除,再完全重装系统才行,克隆的不行。所以最后还是完全重装了 orz |
13
lslqtz 2016-07-30 22:46:06 +08:00
用原版 pe 引导, bcdboot 完事。
|