admin管理员组文章数量:1406987
给预装Windows 8的机器换装其他系统,顺便说说UEFI、GPT和Secure Boot
ref:http://bbs.51cto/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 更像是一个微型操作系统。
版权声明:本文标题:(win7 UEFI安装)顺便说说UEFI、GPT和Secure Boot 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1728030769a1324731.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论