首先,看一下计算机的启动过程:
Legacy BIOS启动(传统BIOS):
启动盘 → ootmgr → ootBCD → ...oot.wim
UEFI BIOS启动:
启动盘 →ootmgr.efi → efiootootx64.efi → efimicrosoftootBCD → ...oot.wim
“启动盘”可以是光盘、U盘、硬盘甚至SD卡等任何可以引导计算机的介质。对比看下,注意不同的引导文件。
以下分两个方面说:
此方法适用于64位vista/win7/win8,以及32位win8 (32位win8必须是要求主板是32位UEFI)。
一、为已有的mbr+bios启动的NT 6.x添加UEFI启动
如果你现在已有MBR+BIOS方式启动的vista/win7/win8,并且主板支持uefi启动的话,可以直接添加UEFI启动,而不需要转换成GPT分区,也不用重装系统。分两种情况:
1、如果你的boot文件夹和windows文件夹在同一个分区,请调整分区,另外创建一个1G一下容量的FAT16/32主分区,并激活之,假设此分区盘盘符为d:,然后用win8的bcdboot添加启动文件
命令:bcdboot c:windows /f all /s d: /l zh-cn
2、如果你使用了win7/win8默认方式安装,则boot文件夹会在独立的一个激活的ntfs分区中,先用diskgenius或者其他第三方工具把此分区格式化成FAT16/32格式(windows自带工具会拒绝格式化此分区),并分配盘符,假设为d:,再用win8的bcdboot执行前面提到的命令。
二、在MBR硬盘上安装UEFI+bios双模式启动的系统
在winpe下分两个分区,一个FAT分区,建议1G容量,并激活之;一个ntfs分区容量大于10G。然后用imagex或其他解压方式安装系统,其中ntfs分区为系统所在分区,FAT分区为启动文件所在分区。然后用bios模式启动完成正常安装过程(win 8.1支持直接在MBR硬盘上以UEFI启动完成安装,而不再需要bios),等系统安装完毕之后,进入系统,用win8的bcdboot执行前面的命令(依旧假设FAT分区盘符为d:)。
以上两种情况完成后bios模式能直接正常启动系统,uefi启动一般也能自动执行激活主分区中的efiootootx64.efi或者EFIMicrosoftBootootmgfw.efi来启动windows。
如果主板没能自动执行,还需要在主板的文件启动(boot from file)中手动选择那个FAT分区中的EFIMicrosoftBootootmgfw.efi作为启动文件,来添加到启动项中。
如果主板既不能自动执行所提到的efi文件,又没有提供手动选择efi文件启动的功能,则需要用win8的启动光盘进入uefi启动的winpe中,然后再执行上面所提到的bcdboot命令,这样bcdboot会自动为主板设置中添加EFIMicrosoftBootootmgfw.efi启动项
注意:mbr+uefi方式启动后,win7的bcdedit会无法识别bcd文件,可以用win8的bcdedit代替。
最新试了一下win8.1,利用imagex解压install.wim到mbr硬盘,bcdboot生成启动菜单。win8.1可以直接在MBR硬盘上以UEFI启动完成安装,而不再需要bios启动完成安装(win7/win8在mbr硬盘上必须bios方式完成安装,否则报错)。
文章评论
第一次访问博主博客 感觉还不错 留言支持下