fujianabc 发表于 2013-4-16 23:01:06

MBR硬盘上实现BIOS+UEFI双模式启动NT 6.X,更新win8.1情况

本帖最后由 fujianabc 于 2013-6-30 18:10 编辑

之前我在好几个帖子中提到过MBR+UEFI方式启动普通win7/win8,现在总结一下,主要分以下两个方面:

一、为已有的mbr+bios启动的nt 6.x添加UEFI启动
二、MBR硬盘下安装bios+uefi双模式启动的nt 6.x

以下教程适用于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-cn2、如果你使用了win7/win8默认方式安装,则boot文件夹会在独立的一个激活的ntfs分区中,先用diskgenius或者其他第三方工具把此分区格式化成FAT16/32格式(windows自带工具会拒绝格式化此分区),并分配盘符,假设为d:,再用win8的bcdboot执行前面提到的命令。


二、在MBR硬盘上安装UEFI+bios双模式启动的系统

在winpe下分两个分区,一个FAT分区,建议1G容量,并激活之;一个ntfs分区容量大于10G。然后用
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=143569
或者其他imagex解压方式安装系统,其中ntfs分区为系统所在分区,FAT分区为启动文件所在分区。然后用bios模式启动完成正常安装过程(win 8.1支持直接在MBR硬盘上以UEFI启动完成安装,而不再需要bios),等系统安装完毕之后,进入系统,用win8的bcdboot执行前面的命令(依旧假设FAT分区盘符为d:)。

以上两种情况完成后bios模式能直接正常启动系统,uefi启动一般也能自动执行激活主分区中的\efi\boot\bootx64.efi或者EFI\Microsoft\Boot\bootmgfw.efi来启动windows。

如果主板没能自动执行,还需要在主板的文件启动(boot from file)中手动选择那个FAT分区中的EFI\Microsoft\Boot\bootmgfw.efi作为启动文件,来添加到启动项中。

如果主板既不能自动执行所提到的efi文件,又没有提供手动选择efi文件启动的功能,则需要用win8的启动光盘进入uefi启动的winpe中,然后再执行上面所提到的bcdboot命令,这样bcdboot会自动为主板设置中添加EFI\Microsoft\Boot\bootmgfw.efi启动项

注意:mbr+uefi方式启动后,win7的bcdedit会无法识别bcd文件,可以用win8的bcdedit代替
最新试了一下win8.1,利用imagex解压install.wim到mbr硬盘,bcdboot生成启动菜单。win8.1可以直接在MBR硬盘上以UEFI启动完成安装,而不再需要bios启动完成安装(win7/win8在mbr硬盘上必须bios方式完成安装,否则报错)

fujianabc 发表于 2013-4-16 23:46:21

2013hkwwcl 发表于 2013-4-16 23:38 static/image/common/back.gif
执行bcdboot后bootmgrfw.efi应该自动已经设置进fwbootmgr了吧,我的主板没有从文件启动项呢

从我的测试情况来看,bcdboot不会自动修改主板里面的设置的,必须要到主板里面设一下才行。

没有文件启动项的话,要看主板能否自动执行mbr硬盘上激活主分区中的efi\boot\bootx64.efi文件了

myBOOT 发表于 2013-4-16 23:09:49

看样子只有MBR方式能兼容UEFI,反而GPT下的UEFI无法兼容MBR。

20130 发表于 2013-4-16 23:02:29

谢分享!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

贝壳 发表于 2013-4-21 12:19:05

用UEFI的初衷就是用GPT,UEFI+MBR意义就不大了

fujianabc 发表于 2013-4-16 23:12:37

myBOOT 发表于 2013-4-16 23:09 static/image/common/back.gif
看样子只有MBR方式能兼容UEFI,反而GPT下的UEFI无法兼容MBR。

目前情况下,除非你要使用大于2TB的硬盘,否则没必要用GPT

myBOOT 发表于 2013-4-16 23:16:27

fujianabc 发表于 2013-4-16 23:12 static/image/common/back.gif
目前情况下,除非你要使用大于2TB的硬盘,否则没必要用GPT

现在2T的硬盘才500多点,很是心动。
这么下去,很快就3T了。呵呵。

2013hkwwcl 发表于 2013-4-16 23:38:00

执行bcdboot后bootmgrfw.efi应该自动已经设置进fwbootmgr了吧,我的主板没有从文件启动项呢

2013hkwwcl 发表于 2013-4-16 23:53:53

本帖最后由 2013hkwwcl 于 2013-4-17 00:12 编辑

fujianabc 发表于 2013-4-16 23:46 static/image/common/back.gif
从我的测试情况来看,bcdboot不会自动修改主板里面的设置的,必须要到主板里面设一下才行。

没有文件启 ...

UEFI启动应该完全无视激活标志,我自己在GPT硬盘下是一个bcdboot完全解决所有问题,MBR没仔细测试,只测试了一下如何全新安装,照理应该是一样的。
根据我自己的测试情况来看,USB启动会自动搜寻bootx64.efi,本地硬盘必须指定bootmgfw.efi或者bootx64.efi的位置,默认是bcdboot指定前者,好像msdn的UEFI文档里有提到一下为啥要不同名字,具体忘了,我试过把路径去掉,结果fwbootmgr里面无法添加bootmgr入口,启动后BIOS启动菜单就无法选择win8了,又或者是添加方法有误?我是这样加的:bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst,一直提示我缺少element

fujianabc 发表于 2013-4-17 00:47:23

2013hkwwcl 发表于 2013-4-16 23:53 static/image/common/back.gif
UEFI启动应该完全无视激活标志,我自己在GPT硬盘下是一个bcdboot完全解决所有问题,MBR没仔细测试,只测 ...

又重新试了一下,在bios启动的windows中执行bcdboot,不会更改nvram (或是{fwbootmgr}),在uefi启动的windows中执行bcdboot,则会在nvram中添加bootmgfw.efi项。

至于不同名字,bootmgfw.efi是这个启动文件自身的名字,而bootx64.efi则可以是任意其他文件改名而来的

翅膀 发表于 2013-4-17 08:34:56

2013hkwwcl 发表于 2013-4-17 11:28:31

本帖最后由 2013hkwwcl 于 2013-4-18 16:39 编辑

fujianabc 发表于 2013-4-17 00:47 static/image/common/back.gif
又重新试了一下,在bios启动的windows中执行bcdboot,不会更改nvram (或是{fwbootmgr}),在uefi启动的w ...
编辑掉了
感谢fujianabc老师指引方向

ddianxing 发表于 2013-4-17 12:03:36

技术很强大,但MBR还是老老实实用BIOS吧。

fujianabc 发表于 2013-4-17 14:35:32

2013hkwwcl 发表于 2013-4-17 11:28 static/image/common/back.gif
BIOS启动的话没有NVRAM的定义,没法改,在win里bootx64.efi是bootmgfw.efi改名的,根据MSDN文档里的说法, ...

给个文档链接,有空我也去看看

stormboy 发表于 2013-4-18 07:05:45

很需要谢谢楼主分享!

hero8000 发表于 2013-4-18 10:06:26

楼主走在技术前沿了。

zhczf 发表于 2013-4-18 17:22:43

非常有参考价值的帖子,来学习经验啊

hhh333 发表于 2013-4-18 19:20:07

UEFI最讨厌的地方就是不认NTFS,如果文件放在NTFS上就没戏,因此,要让现有的MBR系统支持UEFI必须再弄一个FAT分区,我真有点看不起它。

fujianabc 发表于 2013-4-18 19:28:26

hhh333 发表于 2013-4-18 19:20 static/image/common/back.gif
UEFI最讨厌的地方就是不认NTFS,如果文件放在NTFS上就没戏,因此,要让现有的MBR系统支持UEFI必须再弄一个F ...

苹果的EFI则直接在主板上集成了HFS驱动,这样ESP分区可以不用FAT而用HFS了

2011hiboy 发表于 2013-4-18 20:49:36

fujianabc 发表于 2013-4-18 19:28 static/image/common/back.gif
苹果的EFI则直接在主板上集成了HFS驱动,这样ESP分区可以不用FAT而用HFS了

买不起苹果的穷学生.....唉

wonggo 发表于 2013-4-19 17:09:14

给力啊。感谢楼主无私的贡献。

content 发表于 2013-4-20 12:44:55

学习了, 谢谢楼主分享!

xiyun0769 发表于 2013-4-20 22:37:08

本帖最后由 xiyun0769 于 2013-4-20 22:39 编辑

请问MBR下装好的VHd系统能不能uefi启动(笔记本BIOS貌似只有U盘有uefi boot,硬盘前面没有uefi。。。。。。。现在是win8的vhd和vhdx,都是32位)

再补一问:我下载了无垠大大的Pe,32位的无法启动,64位的成功启动,但是功能丢失(有不少软件不见了),是用UltraISO_9.5量产的Pe,是我的量产方法有问题吗

谢谢

fujianabc 发表于 2013-4-20 23:16:48

xiyun0769 发表于 2013-4-20 22:37 static/image/common/back.gif
请问MBR下装好的VHd系统能不能uefi启动(笔记本BIOS貌似只有U盘有uefi boot,硬盘前面没有uefi。。。。。。 ...

可以的,但需要64位win8

2011梦醒右手边 发表于 2013-5-4 16:12:26

楼主按你的步骤出问题了,把那个fat32分区激活后就进不去系统了。提示为:
boot0:done
boot0:error
然后就没反应了。。。bios方法和uefi都是这个样子。。。
ps,为了楼主我连两年前的账号都重新启用了。。
pps,狂踩楼上,支持楼主!!

fujianabc 发表于 2013-5-4 16:26:04

2011梦醒右手边 发表于 2013-5-4 16:12 static/image/common/back.gif
楼主按你的步骤出问题了,把那个fat32分区激活后就进不去系统了。提示为:
boot0:done
boot0:error


怎么有boot0?是不是黑苹果机

2011梦醒右手边 发表于 2013-5-4 16:47:12

fujianabc 发表于 2013-5-4 16:26 static/image/common/back.gif
怎么有boot0?是不是黑苹果机

你肿么知道是黑苹果的。。好流弊。。的确是的,自从前段时间不知道干了什么以后每次开机都会先显示下boot0:done,表示我已经习惯了。。。对了,刚才我用uefi进win8pe弄成功了,之前可能是哪里操作错误了吧。。。不过bios里依旧没有uefi启动windows的选项。。

2011梦醒右手边 发表于 2013-5-4 20:44:30

好吧楼主我搞成功了。。至于之前失败的原因我一直不好意思说。。不过我还是说吧。。你帖子中把bootmgfw误写成bootmgrfw了。。而我的bios添加uefi是手动输入路径的。。我就照抄了。。于是你懂得。。最后再次感谢楼主!!我的黑苹果也接近完美了!!

2011LLYC 发表于 2013-6-23 10:56:53

精品文章看看

2011678 发表于 2013-6-23 12:05:30

很好,收藏了。
楼主能不能提供一下 BCDBOOT
页: [1] 2 3 4
查看完整版本: MBR硬盘上实现BIOS+UEFI双模式启动NT 6.X,更新win8.1情况