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

来源:互联网 发布:董宇阳,知乎 编辑:程序博客网 时间:2024/05/01 01:12

预装Windows 8的机器换装其他系统,顺便说说UEFIGPTSecure Boot

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

    新出的,预装Windows 8的机器,基本都是UEFI+GPT模式的,Windows XPWindows Server 2003是不支持这种模式引导启动的,安装Windows XPWindows Server 2003需要改为Legacy+MBR模式引导启动。
    而且,预装Windows 8、基于UEFI+GPT模式的机器,是开启了安全启动(Secure Boot)功能的。那么,想给预装Windows 8、基于UEFI+GPT模式的机器换系统,必须关闭安全启动且改为Legacy+MBR模式(安装Windows 7仅关闭安全启动即可)。
UEFI+GPT模式的新机器换装其他系统所要做的修改:
    这里要先说说CSMCSM全名Compatibility Support Module即兼容性支持模块,是UEFI的一个特殊模块,对于不支持UEFI的系统提供兼容性支持。目前Windows 8完全支持UEFI64位的Windows 7不完全支持UEFI,因此UEFI BIOS下安装Windows 7必须开启CSM。多数电脑能自动或手动开启,少数电脑则强制关闭CSM
    预装Windows 8的品牌机都采用UEFI BIOS,下面以预装Windows 8品牌机安装Windows 7时的BIOS设置问题具体说一下:
如果在UEFI BIOS环境下,必须保证:1、操作系统支持UEFI2、操作系统支持“安全启动”,否则需关闭“安全启动”。因此安装Windows 7的话必须:1Windows 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 BIOSBootMode[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 BIOSBootMode[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.wiminstall.wim 文件;
    (5)启动机子,选择(UEFIU盘启动,就进入系统安装进程……
简单说说UEFIGPTSecure Boot
UEFI:
    传统BIOS的全称是BasicInput Output System,译为“基本输入输出系统”,是电脑主板ROM芯片上的一段代码。按下电源后,计算机会进行加电自检(检测硬件是否正常)、初始化硬件(使硬件按照PC的架构工作)、启动OS Loader加载操作系统(由BIOS读取MBR上的Loader)、向系统及软件提供服务、硬件中断处理(硬件出现错误指令->中断一下->BIOS提供正确执行结果)。
    这里澄清一下BIOSCMOS的概念,上文说到BIOS是一段“代码”,当属软件范畴;而CMOSComplementary Metal Oxide Semiconductor)译为“互补金属氧化物半导体”,是主板上的一块RAM芯片,当属硬件范畴,CMOS中存放系统参数。通常有“BIOS设置、CMOS设置”等不确切的说法,准确的说法应是:通过BIOS设置程序对CMOS参数进行设置。
    新一代的电脑主板采用UEFI BIOSEFIExtensible Firmware Interfaces,译为可扩展固件接口)的概念最早由Intel提出。
    UEFI全名“统一的可扩展固件接口”,相对于“Legacy BIOS”(传统BIOS )有着更多的优势:模块化设计 、图形化的界面、更强的兼容性和拓展性。
    Legacy BIOS会读取磁盘的主引导记录“MBR”,进而读取“启动文件”最后加载Windows系统。而UEFI BIOS会自动读取“FAT格式的特定分区(通常是ESP分区)”下的可执行程序(efi格式),efi文件会查找WindowsBCD启动菜单进而进入系统。
    在UEFI BIOS下,我们可以手工选择FAT分区下的“efi文件”然后进行相关的操作(类似于DOS工具箱),当然也可以手工选择Windows系统启动所需要的efi文件,从而进入系统。
    注:EFI在使用时通常与UEFI是同义词。EFI指可扩展固件接口,也即UEFI 的前身。
GPT
    GPT全名Globally Unique Identifier Partition Table FormatGUID分区表),是源于EFI(可扩展固件接口)使用的磁盘分区架构。
    MBR磁盘最多允许存在4个主分区,并且支持磁盘最大容量为2TB;而GPT磁盘最多可允许存在128个主分区(在Windows系统中),支持磁盘的最大容量为18EB1EB=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.efibootx64.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,现在将VMware8.0以上的版本)打造成“UEFI虚拟机”:新建虚拟机后,在虚拟机目录下找到后缀为vmx的文件,使用记事本打开后,添加一行文字:
firmware = "efi" 
    这样你就相当于具备了一台包含UEFI BIOS的电脑。
    下面介绍一下EFISHELL:一般的电脑UEFI BIOS中会自带EFI SHELL,为了便于理解可以将EFI SHELLDOS相类比:EFI SHELL其实就是在UEFI环境中的可执行程序(efi格式)。
    虚拟机的UEFI BIOS虽然没有进入EFISHELL的选项,但是我们可以把EFI SHELL放到其他地方(如:优盘),然后在UEFI环境中运行EFI SHELL这个程序!
    准备条件:
    1EFI SHELLShell_2.3.0_X64.rar(需解压)  Shell_2.3.0_X64.rar (205.5 KB) 
    2UEFI环境下的应用程序: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更像是一个微型操作系统。
0 0
原创粉丝点击