详解 Secure Boot 和 Winows 8 及 UEFI启动 的关系

96
五大RobertWu伍洋
2018.05.04 11:29 字数 5804

dell笔记本uefi+gpt win8系统下安装win7双系统

本贴是在dell笔记本灵越5421(其他型号可能有出入,但是大致应该是一样的)win8uefi+gpt下安装win7教程贴。图以后在补上,希望能帮助到大家。需要工具:

1.NT6 OEM LOADER V3.3.1

2。Apps/Shell.Efi

3.bootx64.efi

4.bootmgfw.efi

efi工具包.rar(4.44 MB, 下载次数: 683)

5.4GB以上U盘

6.自带驱动或软件盘

7.原版的MSDN Win7 x64 ISO 镜像

好了废话不多说,进入正题。

下载win7系统的镜像,没有的朋友可以论坛上找一下,这里就不提供了。

首先,格式化U盘为FAT32文件系统,然后把镜像利用工具烧在U盘上,或者直接用winrar解压复制到U盘(uefi模式下不用写启动项,直接复制也是能从U盘上引导安装程序的)将工具包能的所有文件解压到U盘。

然后打开Diskpart(以管理员身份运行)

输入list disk,回车

找到你的U盘

我的是disk 2,则输入 select disk 2,回车

输入list part,回车

一般情况下U盘只有一个分区,如果安装过pe的话把pe删除

因为只有一个分区,则输入select partition 1,回车

然后输入active,回车

最后在电脑硬盘上用磁盘管理分一个属于Win7分区

重新启动电脑,按F2进入BIOS SETUP

然后到Boot,将这里的secure boot改为disable,将Load Legacy OS optimized rom选项改为enabled

重启电脑,找到U盘的启动项,选中它按回车

如果出现”windows is loading files“,congratuations,安装程序顺利进入了

如果你频繁分区或写入数据,安装完成第一次重启后可能会出现chkdsk,不用管它,等就行了

如果是要使用vhd安装的话,先创建好vhd,记住vhd的路径和文件名,进入安装界面时shift+F10,然后输入diskpart, 会弹出diskpart工具,然后在输入select vdisk file=x:\vhd文件名.vhd(x是你vhd文件摆放的盘符),之后在输入attach vdisk,之后vhd就成功挂载了,之后安装选磁盘是刷新一下,就能找到你的vhd了,格式化之后安装到这个盘符就行了。

最后激活系统

打开nt6 oem loader,出现窗口后选第一项,如果你是品牌机或bios中有slic2.1,激活工具就会检测到,然后第一项为硬激活(不是刷BIOS),无需重启

如果你是DIY组装机或虚拟机,可能会没有slic2.1,那么 第一项会 写成EFI-GPT激活(就是往efi分区写入slic2.1仿真模块),需要重启。

好了,教程就结束了。希望能对大家有帮助。

最后补充一点,如果是安装完win7之后使用win8下方有secure boot未正确配置的话。打入下方链接的补丁即可

http://support.microsoft.com/kb/2902864

楼主说的太复杂,我刚刚删了双启动

我的是HP的原装机

1. 进入win8 选择磁盘管理 压缩一个新的分区出来

2. bios修改 legacy boot 为enable

3. 用win7光盘或U盘系统盘启动安装系统, 自己解决win7激活的问题

4. 大功告成.....

恩。当时打错了应该是改为Load Legacy OS optimized rom选项改为enabled,不改bios这些设置在dell机器里面是win7是引导不了uefi的,你说hp能安装可能是各家bios设计不同吧

uefi的主板是不能安装win nt6.x以下的系统的,并且只能安装64位的系统,除非你把主板模式切回Legacy模式。

详解 Secure Boot 和 Winows 8 及 UEFI启动 的关系

很多同学都发现了,在安装Windows 8或是带UEFI启动的电脑时要更改BIOS里的Secure Boot值!

比如戴尔的INS14R-5420,INS15R-5520,INS14R-5421,INS660,V270,V5460等机型!

什么Secure Boot呢!它和Windows 8还有UEFI启动有什么关系呢!

BIOS和UEFI

所有电脑启动的时候,都会运行BIOS程序,用于初始化硬件。

BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

自从个人电脑诞生后,就一直如此。过去30年我们都在使用类似上图的画面,设置硬件参数。不用说,BIOS已经变得日益不适用了。

1998年,Intel牵头,联合AMD、AMI、Apple、Dell、HP、IBM、Lenovo、Microsoft和Phoenix等业界主要厂商,开始制定新一代BIOS。这个项目叫做"统一的可扩展固定接口"(Unified Extensible Firmware Interface),简称UEFI。2005年推出1.1版,目前是2.3版。

新型UEFI,全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface), 是一种详细描述全新类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。

从2012年9月以来,电脑运行的已经不是BIOS,而是UEFI BIOS。等它运行结束,再载入操作系统。

微软的态度

UEFI是一个很先进的、面向未来的规格。但是很长时间内无法推广,原因就是微软公司不积极。

Windows操作系统是桌面市场的主流系统,如果它不推广UEFI,就没有硬件厂商会跟进。所以,普通消费者对这个新规格所知甚少。

意想不到的变化,出现在2011年9月,微软毫无预兆地突然宣布,Windows 8将启用UEFI。

这本来是一件好事。但是,问题是微软感兴趣的不是整个UEFI,而是UEFI的一个子规格Secure Boot。它要强行部署Secure Boot。

Secure Boot

Secure Boot只是UEFI的一个部分。两者的关系是局部与整体的关系。

Secure Boot的目的,是防止恶意软件侵入。它的做法就是采用密钥。UEFI规定,主板出厂的时候,可以内置一些可靠的公钥。然后,任何想要在这块主板上加载的操作系统或者硬件驱动程序,都必须通过这些公钥的认证。也就是说,这些软件必须用对应的私钥签署过,否则主板拒绝加载。由于恶意软件不可能通过认证,因此就没有办法感染Boot。

这个设想是好的。但是,UEFI没规定哪些公钥是可靠的,也没规定谁负责颁发这些公钥,都留给硬件厂商自己决定。

现在,微软就是要求,主板厂商内置Windows 8的公钥。

Windows 8

首先明确,在不打开Secure Boot的情况下,Windows 8可以安装。这与安装以前版本的Windows没有差别。

但是,微软规定,所有预装Windows 8的厂商(即OEM厂商)都必须打开Secure Boot。因此,消费者购买一台预装Windows 8的台式机或笔记本,想要在上面再安装其他操作系统(包括以前版本的Windows)是不可能的,除非关闭Secure Boot,或者其他操作系统能够通过Windows 8公钥的认证。

如果选择关闭Secure Root,那么预装的Windows 8将无法使用,需要重新安装。

对Linux的影响

Secure Boot规格的本意是,让操作系统厂商自行选择公钥,通过认证。但是实际上,只有微软公司才有能力,让主板厂商内置它的公钥,其他公司都不具备这种能力。

根据微软针对OEM厂商的一则规定,Windows 8要求PC电脑采用UEFI(统一可扩展固件接口),这个接口将会替代PC机诞生以来历史悠久的BIOS固件设置。关于UEFI这个标准接口,是支持Windows、Linux 和 OS X 操作系统的,只是微软要求预装Windows 8 的PC电脑需要支持安全性启动机制,启动过程中涉及到的软件/固件都必须打上CA数字签名,这样,对于Linux 这种开源的无签名的系统就会直接阻止。

因此,如果要在打开Secure Boot的主板上安装Linux系统,这个系统就必须通过Windows 8的认证。

目前,微软公司把Win8的数字签名外包给了Verisign。操作系统厂商想要通过认证,就必须花99美元,向Verisign买一张数字证书,嵌入自家的操作系统。

最新动态是,Linux的各个发行版之中,Ubuntu已经购买了数字证书,Fedora和SUSE计划购买,其他发行版还没做出决定。

因此,在预装Windows 8的电脑上安装Linux(或其他操作系统)的最佳做法,就是进入BIOS,关闭Secure Boot。但是,这意味着你花钱买来的Windows 8将无法使用。

目前看上去,Linux购买Windows8的数字证书,是眼下唯一可行的相对容易的解决方法。但是,这种做法不可接受。

首先,系统的公钥被微软控制,后果难以预料。如果微软决定更换和废除这个公钥,Linux就要被迫跟进。

其次,Linux的启动管理器Grub是GPL许可证,该许可证(第三版)明文禁止软件使用密钥配合硬件阻止一部分用户的使用,因此要改用非GPL许可证的启动管理器。

再次,只有几个较大的Linux发行版才有能力购买数字证书,较小的发行版和用户自己定制的版本最终还是需要有自己的公钥。

关于移动设备

Secure Boot对移动设备的影响,比PC还要严重。

微软明确规定,所有PC主板必须带有关闭Secure Boot的选项。这不是因为微软的善意,而是因为如果不这样做,它一定会遭到反垄断起诉。

但是,在移动设备领域,微软不占优势,所以它就没有顾虑,规定所有安装Windows的移动设备的Secure Boot必须打开,而且没有关闭选项。

微软的平板电脑Surface RT就是一个最好的例子。它的Secure Boot是打开的,没法关闭,而且微软用了一个不同于桌面电脑Windows 8操作系统的公钥,且不提供获得数字证书的途径。因此理论上,用户不可能在Surface RT上安装其他操作系统。

还有报道称,使用Windows Phone 8操作系统的智能手机也将采用这种做法。那么,用户也就不可能在Windows Phone上安装其他操作系统了。

总结

Secure Boot的用意是保证系统安全,但现在似乎成了厂商保护市场垄断、阻碍竞争一种手段。

除了微软公司,苹果公司也有这种倾向。在新一代的iPhone和iPad上面安装其他操作系统,似乎是不可能的。

(不过一旦iPhone和iPad上面安能装其他操作系统,估计苹果就不是今天这个样子了,苹果玩的就是封闭!其实垄断也是有好处的!)

自由软件基金会呼吁反Secure Boot垄断,就是基于这种考虑:用户应该拥有硬件和软件的使用自由,操作系统应该是开放的,而不是封闭的。

作为一种规格,自由软件基金会并不反对Secure Boot,它只是要求硬件厂商提供便利,使得用户可以更容易地安装和管理公钥,从而使用硬件平台对所有操作系统(以及设备驱动)保持开放。

方法和15R帖子里的类似,我是A08驱动,usb安装(win8安装助手制作的),和很多人一样uefi boot里面除了网络没有别的选项。

安装时我做了这几步,不知道哪些是必须的,我也是小白,简单说说大家自己看看吧:

1、我安装前已经安装过win8了,看网上教程说uefi装win7/8有可能会缺少一个组件,要把c盘system32\boot\efi\bootmgr.efi这个文件拷到usb里的:\boot\EFI目录下(没有的就新建),并改名成BootX64.efi。这步我不知道是不是必需的,如果安装时提示不能安装到GPT硬盘那就有可能是这个原因

2、bios里选择uefi模式(废话),然后打开secure boot(这时legacy boot会被禁用),这步我也不知道是否必需。

3、bios中add boot option里面手动设置u盘启动,这里点开后按tab切换项目,第一个窗口随便填,第二个选USB的那个项目,第三个选bootmgr.efi文件,然后yes

4、按F10保存后会进入dell图标停止不动,过个几分钟左右后就开始安装了(这里不要心急,之前我一直以为会永远卡住)之后安装和论坛里15r那个帖子一样,记得转gpt。

我真的不知道上面几步是否必须啊,也许一步都不用做直接就行,反正最后我安装成功了,算不上教程,算一个参考把

附上BootX64.efi文件

补充,安装前请确定usb是fat32(或16)格式,以上

3、bios中add boot option里面手动设置u盘启动,这里点开后按tab切换项目,第一个窗口随便填,第二个选USB的那个项目,第三个选bootmgr.efi文件,然后yes

你的意思是先在第三个框选bootmgr.efi文件,然后才能在第二个框出现USB可选?还是本来第二框就有USB可选?

我进去add boot option後,第二个框有一排字母数字,但是不可更改,也无选项可选择。

= =可能我没说清楚,bootmgr.efi是做好的win8 u盘启动盘里根目录下的文件,你插上u 盘,打开bios,进我说的那个add boot option,第一行先输几个字比如usb,然后按tab进入第二行,就会出现bootmgr.efi,再按tab进第三行,然后tab yes。。。你按tab了吗,或者你没插u盘,或者那个u盘没有刻win8 = =

[文摘]WinXP如何访问GPT分区硬盘读取出错发表于:2011/6/15 10:25:02标签(TAG):

把2003 sp2系统的disk.sys文件拷贝出来,然后再xp系统下替换或pe下替换。

xp下替换需要把system32\dllcache里面的disk.sys重命名,xp找不到就好。如果没有这个文件那就不用理。

xp还有个地方windows\Driver Cache大家可以把这里清空,或者把drivers.cab文件改名。把2003的disk.sys拷贝到dllcache和driver cache里面

删除xp的system32\drivers里面的disk.sys 好了 现在系统就能识别gpt的硬盘或优盘了。

不需要用到第三方软件。也不存在不稳定。

---------------------------------------

附:Windows 2003 sp2系统的

disk.rar[迅雷下载]文件

----------------------------------------

附GPT 介绍(源:百度百科)

GPT是Globally Unique Identifier Partition Table Formatr的简称,即GUIDwva分区表。

一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比,GPT

具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18

千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。

与支持最大卷为 2 TB (terabytes) 并且每个磁盘最多有 4 个主分区(或 3 个主分区,1

个扩展分区和无限制的逻辑驱动器)的主启动记录 (MBR) 磁盘分区的样式相比,GUID 分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB

(exabytes) 并且每磁盘最多有 128 个分区。与 MBR

分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT

分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。

在“磁盘管理”中的磁盘属性对话框中的“卷”选项卡上,具有 GPT 分区样式的磁盘显示为 GUID 分区表 (GPT) 磁盘,而具有 MBR

分区样式的磁盘显示为主启动记录 (MBR) 磁盘。如果发生下列意外事件,可以在 GPT 磁盘上执行 MBR 磁盘支持的操作:

在运行带有 Service Pack 1 (SP1) 的 Windows Server 2003 的基于 x86 的计算机和基于 x64 的计算机上,操作系统必须驻留在 MBR 磁盘上。其他的硬盘可以是 MBR 或 GPT。

在基于 Itanium 的计算机上,操作系统加载程序和启动分区必须驻留在 GPT 磁盘上。其他的硬盘可以是 MBR 或 GPT。

不能将 GPT 移至运行 Windows NT 4.0、Windows 2000、Windows XP 或 Windows Server

2003 的基于 x86 的计算机上。不过,可以将 GPT 磁盘从运行带有 SP1 的 Windows Server 2003 的基于 x86

的计算机或基于 x64 的计算机移至运行 Windows Server 2003 或 Windows XP 的基于 Itanium

的计算机上,反之亦然。

不能使用基于 Itanium 的 Windows 版本,将 GPT 磁盘从基于 Itanium 的计算机移至运行带有 SP1 的

Windows Server 2003 的基于 x86 的计算机或基于 x64 的计算机,然后启动该操作系统。在非基于 Itanium

的计算机上使用的 GPT 磁盘必须仅用于数据存储。

在单个动态磁盘组中既可以有 MBR,也可以有 GPT 磁盘。也使用将基本 GPT 和 MBR

磁盘的混合,但它们不是磁盘组的一部分。可以同时使用 MBR 和 GPT 磁盘来创建镜像卷、带区卷、跨区卷和 RAID-5 卷,但是 MBR

的柱面对齐的限制可能会使得创建镜像卷有困难。通常可以将 MBR 的磁盘镜像到 GPT 磁盘上,从而避免柱面对齐的问题。

可以将 MBR 磁盘转换为 GPT 磁盘,并且只有在磁盘为空的情况下,才可以将 GPT 磁盘转换为 MBR 磁盘。

不支持 EFI 系统分区的镜像。必须使用 bootcfg 命令克隆 EFI 系统分区。

不能在可移动媒体,或者在与群集服务使用的共享 SCSI 或 Fibre Channel 总线连接的群集磁盘上使用 GPT 分区样式。

可以使用 DiskPart.exe 命令行实用程序或 EFI 固件实用程序 Diskpart.efi 在基本 GPT 磁盘上创建分区。

取消GPT保护分区

确保自己硬盘中没有数据!

1. 打开开始菜单-〉运行,输入 diskpart ;

2. 输入 list disk ,列出当前所安装的磁盘;

3. 输入 select disk n (其中的 n 指的是磁盘的磁盘编号,就是需要转换的磁盘的编号);

4. 输入 clean all ,将指定的磁盘上所有扇区都设置为零(这样会完全删除磁盘上的所有数据),这一步需要一段时间;

5. 重新进入“计算机管理”的“磁盘管理”,这时系统会发现一个新磁盘,要求初始化,初始化导入这个磁盘,在“磁盘管理”里面可以设定当前磁盘为动态的还是静态的,然后新建分区,格式化为想要的格式就好了。格式化GPT保护分区

1.打开开始菜单→运行、输入diskpart

2.输入list disk,列出当前所安装的磁盘。

3.输入 select disk n (其中的 n 指的是磁盘的磁盘编号,就是需要转换的磁盘的编号);

4. 输入 clean all ,将指定的磁盘上所有扇区都设置为零(这样会完全删除磁盘上的所有数据),这一步需要一段时间(根据硬盘大小时间成正比,漫长啊!!);

5. 重新进入“计算机管理”的“磁盘管理”,这时系统会发现一个新磁盘,要求初始化,初始化导入这个磁盘,在“磁盘管理”里面可以设定当前磁盘为动态的还是静态的,然后新建分区,格式化为想要的格式就好了。

其实不难看出,即使电脑系统发展到了win7时代,但某些问题的解决还是要靠DOS命令来解决,这些才是系统灵魂深处的东西。以上小篇希望对大家有所帮助。

麦库记事