您的位置:首页 > 产品设计 > UI/UE

(win7 UEFI安装)顺便说说UEFI、GPT和Secure Boot

2015-08-09 21:13 399 查看
给预装Windows
8的机器换装其他系统,顺便说说UEFI、GPT和Secure
Boot

ref:http://bbs.51cto.com/thread-1067829-1-1.html

新出的,预装Windows 8的机器,基本都是UEFI+GPT模式的,Windows XP和Windows Server
2003是不支持这种模式引导启动的,安装Windows XP和Windows Server
2003需要改为Legacy+MBR模式引导启动。


而且,预装Windows 8、基于UEFI+GPT模式的机器,是开启了安全启动(Secure
Boot)功能的。那么,想给预装Windows 8、基于UEFI+GPT模式的机器换系统,必须关闭安全启动且改为Legacy+MBR模式(安装Windows 7仅关闭安全启动即可)。

给UEFI+GPT模式的新机器换装其他系统所要做的修改:

这里要先说说CSM,CSM全名Compatibility
Support Module即兼容性支持模块,是UEFI的一个特殊模块,对于不支持UEFI的系统提供兼容性支持。目前Windows
8完全支持UEFI,64位的Windows
7不完全支持UEFI,因此UEFI
BIOS下安装Windows
7必须开启CSM。多数电脑能自动或手动开启,少数电脑则强制关闭CSM。


预装Windows 8的品牌机都采用UEFI
BIOS,下面以预装Windows
8品牌机安装Windows
7时的BIOS设置问题具体说一下:

如果在UEFI
BIOS环境下,必须保证:1、操作系统支持UEFI;2、操作系统支持“安全启动”,否则需关闭“安全启动”。因此安装Windows
7的话必须:1、Windows
7 64位(满足条件1);2、在UEFI
BIOS中禁用“安全启动”(满足条件2)。


注:UEFI环境下X64架构电脑只能装64位系统,X86架构电脑只能装32位系统。因此预装Windows
8 64位的品牌机(X64架构、默认UEFI
BIOS)想换成32位的Windows,只能切换到Legacy
BIOS模式!


因为Windows 7不完全支持UEFI,装Windows
7不能把BIOS设置为“纯UEFI”,并且必须禁用“Secure
Boot”。


设置EFI BIOS:BootMode[UEFI/Legacy],设置为UEFI。

Launch CSM[Enabled/Disabled],设置为Disabled。

LaunchCSM[UEFI/Legacy],设置为UEFI。

(上述设置一般保持默认即可)


设置兼容模式:CSM Support[Yes/No],设置为Yes。

OSOptimized
Defaults[Enabled/Disabled],设置为Disabled。

OSOptimized
Defaults[Win8 64bit/Others],设置为 Others 。

(上述设置一般和默认相反)


禁用安全启动:Secure Boot[Enabled/Disabled],设置为Disabled。

(上述设置一般和默认相反)


有些电脑强制为“纯UEFI”,

则必须将BIOS设置为Legacy模式才能安装Windows
7,当然这种情况下需要把硬盘重新分区并改为“MBR分区方案”:


设置EFI BIOS:BootMode[UEFI/Legacy],设置为 Legacy 。

LaunchCSM[Enabled/Disabled],设置为 Enabled 。

LaunchCSM[UEFI/Legacy],设置为 Legacy 。

(上述设置一般和默认相反)


设置兼容模式:CSM Support[Yes/No],设置为Yes。

OSOptimized
Defaults[Enabled/Disabled],设置为Disabled。

OSOptimized
Defaults[Win8 64bit/Others],设置为 Others 。

(上述设置一般和默认相反或无需设置)


禁用安全启动:Secure Boot[Enabled/Disabled],设置为Disabled。

(上述设置一般和默认相反或无需设置)

——具体情况应具体分析,有的电脑将BIOS
Mode[UEFI Only/Legacy Support]设置为 Legacy Support ,而把Boot
Priority设置为UEFI First也表示“UEFI模式下开启了CSM”。我只安装过几台华硕、联想和ThinkPad,在其他预装Windows
8的电脑上成功安装了其他系统的朋友,欢迎共享你的BIOS设置,若你有其他的见解或发现上述设置中的Bug,欢迎相互交流。

“GPT”和“MBR”相互转换:

微软规定:必须“UEFI+GPT”或“Legacy+MBR”!虽然在实验测试环境中“UEFI+MBR”仍可正常启动系统,但在生产环境中还是推荐以微软规定的方式进行安装,避免带来麻烦!微软做此限制必然不是平白无故的!

使用我们常用的DiskGenius即可进行转换:





UEFI下安装Windows系统:


强烈建议使用Windows原版光盘安装系统,原版系统镜像包含有UEFI引导所必须的文件,而使用其他安装方式,需要手动提取原版光盘镜像相关文件。

安装方式:

1、直接用微软原版光盘引导安装,这个不用多说,是最简单的办法,和平常的“Legacy+MBR”模式下的安装方式一样,安装程序会自动识别“UEFI+GPT”模式并调用相关引导所必须的文件,在界面及安装选项上没啥区别,在硬盘分区时,系统也会自动做出相应的分区。

2、用高版本的UltraISO将原版光盘镜像写入U盘安装,目前新版的UltraISO能够识别原版光盘镜像中UEFI引导所必须的文件并能将其写入U盘。

3、手动提取原版光盘镜像中UEFI引导所必须的文件到U盘安装,具体步骤:

(1)将U盘格式化成FAT32格式;

(2)在U盘建立文件夹\boot,拷入系统镜像相对应的boot.sdi文件;

(3)在U盘建立文件夹\efi\microsoft\boot,拷入系统镜像相对应的bcd文件,在U盘建立文件夹\efi\boot,拷入系统镜像相对应的bootx64.efi 文件;

(4)在U盘建立文件夹\sources,拷入系统镜像相对应的boot.wim和install.wim 文件;

(5)启动机子,选择(UEFI)U盘启动,就进入系统安装进程……

简单说说UEFI、GPT和Secure
Boot

UEFI:

传统BIOS的全称是BasicInput
Output System,译为“基本输入输出系统”,是电脑主板ROM芯片上的一段代码。按下电源后,计算机会进行加电自检(检测硬件是否正常)、初始化硬件(使硬件按照PC的架构工作)、启动OS
Loader加载操作系统(由BIOS读取MBR上的Loader)、向系统及软件提供服务、硬件中断处理(硬件出现错误指令->中断一下->由BIOS提供正确执行结果)。

这里澄清一下BIOS和CMOS的概念,上文说到BIOS是一段“代码”,当属软件范畴;而CMOS(Complementary
Metal Oxide Semiconductor)译为“互补金属氧化物半导体”,是主板上的一块RAM芯片,当属硬件范畴,CMOS中存放系统参数。通常有“BIOS设置、CMOS设置”等不确切的说法,准确的说法应是:通过BIOS设置程序对CMOS参数进行设置。

新一代的电脑主板采用UEFI
BIOS,EFI(Extensible
Firmware Interfaces,译为可扩展固件接口)的概念最早由Intel提出。

UEFI全名“统一的可扩展固件接口”,相对于“Legacy
BIOS”(传统BIOS )有着更多的优势:模块化设计 、图形化的界面、更强的兼容性和拓展性。

Legacy BIOS会读取磁盘的主引导记录“MBR”,进而读取“启动文件”最后加载Windows系统。而UEFI
BIOS会自动读取“FAT格式的特定分区(通常是ESP分区)”下的可执行程序(efi格式),efi文件会查找Windows的BCD启动菜单进而进入系统。

在UEFI
BIOS下,我们可以手工选择FAT分区下的“efi文件”然后进行相关的操作(类似于DOS工具箱),当然也可以手工选择Windows系统启动所需要的efi文件,从而进入系统。

注:EFI在使用时通常与UEFI是同义词。EFI指可扩展固件接口,也即UEFI 的前身。

GPT:

GPT全名Globally
Unique Identifier Partition Table Format(GUID分区表),是源于EFI(可扩展固件接口)使用的磁盘分区架构。

MBR磁盘最多允许存在4个主分区,并且支持磁盘最大容量为2TB;而GPT磁盘最多可允许存在128个主分区(在Windows系统中),支持磁盘的最大容量为18EB(1EB=1024PB=1024*1024TB,即:1048576TB)。每个GPT磁盘都存在Protective
MBR,用来防止不能识别GPT分区的磁盘管理工具的破坏。

对于Windows系统来说,GPT分区方案中有两个特殊的分区:MSR分区、ESP分区,前面提到的Protective
MBR,在Windows系统中即为MSR分区,是必须存在的一个分区;ESP分区(非必须存在),是采用UEFI
BIOS电脑的系统中,存放启动文件的分区(当然,还有其他文件)。

GPT“优缺点”并存。优点:支持更大的硬盘、更多的分区、单个分区大小更大、每个分区存在GUID、分区表自带备份等。当然,GUID分区表也存在着不足:

部分Windows桌面操作系统对GPT的支持




硬件的发展速度总是令人吃惊的。几个TB的硬盘、EFI
BIOS的电脑将会普及,GUID分区方案终将成为主流。

Secure
Boot:

Secure Boot即“安全启动”,前面提到,预装Windows 8、基于UEFI+GPT模式的机器,是开启了安全启动(Secure
Boot)功能的。其实“安全启动”并不是Windows
8的一项功能,为什么会将Windows
8和“安全启动”联系到一起呢?因为预装Windows8的品牌电脑都采用UEFI
BIOS,大都含有“安全启动”!那什么是“安全启动”呢?


“安全启动”是一项UEFI协议,在启动操作系统之前只允许加载“已签名并获得认证”的代码或程序。两个数据库“签名数据库”和“吊销的签名数据库”中列出了UEFI程序,类似于“白名单”和“黑名单”!系统商(如:微软)可通过“密钥加密密码数据库”中的签署密钥来更新“白名单”和“黑名单”。


微软通过数据库中的签名程序签署了Windows8系统的“OS
Loader”。OEM厂商将上述三个数据库存储到主板的“NV-RAM”中,从而达到使用“安全启动”来启动Windows
8。这也是为什么预装Windows
8的品牌机默认情况下无法安装其他系统的缘故,需要在“UEFI
BIOS”中禁用“安全启动”。


Legacy BIOS环境下,操作系统启动前可加载任意的“OS
Loader”:






UEFI BIOS环境下,操作系统启动前只能加载得到认证的“OS
Loader”:





Windows在UEFI环境下是如何启动的:

UEFI启动Windows必须有一个FAT分区(通常叫做EFI 系统分区),这个分区中存在引导Windows的文件。开机后自动查找FAT分区下的“efi\Microsoft\boot\bootmgfw.efi”文件,然后查找同一分区下的“efi\Microsoft\Boot\BCD”,然后加载“系统盘:\windows\system32\winload.efi”,这样就进入了Windows。

bootmgfw.efi文件我们也可以在EFI
SHELL下手动运行。此外,在EFI SHELL下手动运行FAT分区的“efi\boot\bootia32.efi”或“efi\boot\bootx64.efi”也可以进入Windows。在UEFI
BIOS中我们还可以将efi文件设置为启动项、默认启动项。

上述的bootia32.efi、bootx64.efi分别为32位、64位的UEFI引导Windows所需要的文件。二者一一对应,因此在64位的UEFI环境下是无法安装32位系统的。

上面介绍UEFI启动Windows的一个条件是:FAT分区存在相关文件。并没有说需要GPT磁盘,通常将“UEFI+GPT”联系起来的一个重要的原因是,“UEFI+MBR”环境下安装Windows会有提示:基于EFI的系统只能安装到GPT磁盘上(微软的限制)!


现在很多主板都是可以将“UEFI BIOS”和“Legacy
BIOS”相互切换的,因此“UEFI+MBR”模式的解决思路一:先切换到Legacy
BIOS,安装系统完毕后再切换到UEFI BIOS,自己新建一个FAT分区并复制相关文件到此分区(也可用bcdboot命令行工具)。解决思路二:进入PE(支持UEFI),将Windows安装到硬盘,然后自己新建一个 FAT分区并复制相关文件到此分区(也可用bcdboot命令行工具)。

——上面的叙述只是为了更进一步了解UEFI启动Windows的原理,微软作此限制肯定有原因,因此不建议在实体机操作。

实验、测试:打造“UEFI虚拟机”以及“EFISHELL”介绍

含UEFI
BIOS的电脑并不是所有网友都有,为了让大家都能体验UEFI,现在将VMware(8.0以上的版本)打造成“UEFI虚拟机”:新建虚拟机后,在虚拟机目录下找到后缀为vmx的文件,使用记事本打开后,添加一行文字:

firmware = "efi"

这样你就相当于具备了一台包含UEFI
BIOS的电脑。

下面介绍一下EFISHELL:一般的电脑UEFI
BIOS中会自带EFI SHELL,为了便于理解可以将EFI
SHELL和DOS相类比:EFI
SHELL其实就是在UEFI环境中的可执行程序(efi格式)。

虚拟机的UEFI
BIOS虽然没有进入EFISHELL的选项,但是我们可以把EFI
SHELL放到其他地方(如:优盘),然后在UEFI环境中运行EFI
SHELL这个程序!

准备条件:

1、EFI
SHELL:Shell_2.3.0_X64.rar(需解压)

Shell_2.3.0_X64.rar (205.5
KB)

2、UEFI环境下的应用程序:UEFI
Apps.rar(需解压)

UEFI
Apps.rar (735.9 KB)

3、一个FAT格式的U盘

操作步骤:

1、新建虚拟机(例如:Windows
8 X64),然后将“优盘”添加到虚拟机中。

2、事先将解压好的“Shell.efi”放到U盘的根目录,运行虚拟机,按下“ESC”键进入虚拟机的“UEFI
BIOS”。





3、点击“Boot
Maintenance Manager”进入,如下图所示:





4、点击“Boot
from a file”进入下图:





5、选择优盘后,选择根目录下的“Shell.efi”即可进入“EFI
SHELL”。









6、上图即为“EFI
SHELL”,类似于“DOS窗口”,当然也有它自己的命令:

输入fs1: 表示进入fs1磁盘

输入ls表示显示该目录下的所有文件

输入cd
App 表示进入App文件夹

再次输入ls列出App目录下的所有文件





运行某个程序,直接输入程序的名称即可。

是不是和DOS中操作差不多?UEFI更像是一个微型操作系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: