首先,由于原先是MBR分区表,故一定不存在ESP分区,所以我们要手动划分ESP分区,但是划分之前必须手动删除第一个分区。右击第一个分区选择删除,之后第二个分区之前的部分就会变成空闲,右击该空闲区域选择“新建分区”,文件系统类型选择我们需要的ESP分区(EFI System Partition),分区大小设置为128MB,点击“确定”之后再点击“保存更改”即可。 这样就手动分好了ESP分区,接下来我们需要将启动文件放入这个分区。复制文件在DiskGenius中操作有些不方便,我们可以使用DiskGenius来给ESP分区分配一个盘符,然后在WindowsPE的资源管理器中对其进行操作。 前面我们看了采用UEFI引导的ESP分区结构,现在我们仿照这个分区结构,在ESP分区下新建一个EFI文件夹,在EFI文件夹里再新建2个子文件夹,一个boot文件夹,一个Microsoft文件夹。 这样大致的框架就算搭建完成了,下面我们需要向其中添加启动文件。 这里要插一点关于C盘下的目录结构的分析,C盘目录下有一个boot文件夹,但是这个文件夹平时在Windows中见不到,因为受到操作系统保护,我们可以这样操作来让它显示: 在C盘根目录点击“查看”—“选项” 点击“查看”,取消勾选“隐藏受保护的操作系统文件”,点击“确定” 这样就可以在C盘根目录下找到boot文件夹了。当然,在PE下一般是默认显示的,如果没有显示的话可以按照这个设置让系统显示。需要注意的是,Windows下C盘是系统分区,但是在PE下不一定,所以要根据实际情况来选择分区,下面的内容为了方便起见,我用X盘来代表Windows所在分区。 第一,我们把X:\boot文件夹下的所有文件都复制到ESP分区的EFI\Microsoft\boot目录下。 第二,我们把X:\Windows\boot\EFI文件夹下的所有文件复制到ESP分区的EFI\Microsoft\boot目录下。 第三,我们把X:\Windows\boot\EFI文件夹下的bootmgfw.efi文件复制到ESP分区的EFI\boot目录下。 这样,基本的框架就搭好了,如果你现在直接重新启动,你会发现还是无法启动,有2个原因,一是因为BIOS设置尚未修改,现在是Legacy First模式,二是BCD的配置数据尚未正确设置,当然,我们现在已经完成了一大半了,后期只需要根据实际情况配置BCD,配置完成之后修改一下BIOS的启动模式为UEFI即可。 配置BCD(或者也可以称之为修复BCD)有2种方案,一是利用原版系统光盘中的bcdboot命令来修复,可以使用原版Windows8光盘以UEFI模式启动,然后在“现在安装”界面选择“修复计算机”,然后选择“命令提示符”,通过在命令行下输入bcdboot命令来实现,当然这里由于ESP分区盘符未知,还要调用diskpart然后List VOLUME来找ESP分区,稍显麻烦,故不推荐,我自己是用命令行的方式修复的,但是我们可以利用PE中的Bootice来自动修复BCD。这种方式比命令行要简单。 进入PE之后打开Bootice,选择BCD编辑,选择 ESP分区下的EFI\Microsoft\boot目录下的BCD文件,点击“查看/修改”,删除原先的引导选项,然后点击添加,注意将winload.exe后缀改为winload.efi,然后保存,这一步是必须的,因为UEFI引导只认efi文件,exe不认。 这样保存BCD之后配置也就完成了,我们就差最后一步---添加Windows bootmgr到UEFI启动菜单。 重新启动电脑,按F2进入BIOS,找到boot里面的boot mode改为UEFI Only,然后选择Add boot option,新增一个启动项,名称填“Windows bootmgr”,第二行不用动,第三行输入“EFI\boot\bootx64.efi”,选择YES即可添加Windows bootmgr到UEFI启动项中,至此,转换完成,按F10保存之后即可正常以UEFI模式启动Windows。
|