标签归档:UEFI

Linux中设置UEFI启动项 -- efibootmgr

usage: efibootmgr [options]
-a | --active sets bootnum active
-A | --inactive sets bootnum inactive
-b | --bootnum XXXX modify BootXXXX (hex)
-B | --delete-bootnum delete bootnum (hex)
-c | --create create new variable bootnum and add to bootorder
-C | --create-only create new variable bootnum and do not add to bootorder
-D | --remove-dups remove duplicate values from BootOrder
-d | --disk disk (defaults to /dev/sda) containing loader
-e | --edd [1|3|-1] force EDD 1.0 or 3.0 creation variables, or guess
-E | --device num EDD 1.0 device number (defaults to 0x80)
-g | --gpt force disk with invalid PMBR to be treated as GPT
-i | --iface name create a netboot entry for the named interface
-l | --loader name (defaults to \EFI\redhat\grub.efi)
-L | --label label Boot manager display label (defaults to "Linux")
-n | --bootnext XXXX set BootNext to XXXX (hex)
-N | --delete-bootnext delete BootNext
-o | --bootorder XXXX,YYYY,ZZZZ,... explicitly set BootOrder (hex)
-O | --delete-bootorder delete BootOrder
-p | --part part (defaults to 1) containing loader
-q | --quiet be quiet
-t | --timeout seconds set boot manager timeout waiting for user input.
-T | --delete-timeout delete Timeout.
-u | --unicode | --UCS-2 pass extra args as UCS-2 (default is ASCII)
-v | --verbose print additional information
-V | --version return version and exit
-w | --write-signature write unique sig to MBR if needed
-@ | --append-binary-args file append extra args from file (use "-" for stdin)
-h | --help show help/usage

UEFI Windows7/8系统下的GUID磁盘创建休眠分区

      使用UEFI模式安装Windows7的好处就是开机可以直接跳过传统的BIOS自检,可以省下4~5秒的时间。再说现在的SSD硬盘价格很便宜了,开机的整个过程还不到30秒,可要用UEFI模式安装Windows7,磁盘模式就必须使用GPT格式(传统模式是MBR格式,不支持2TB以上的硬盘分区),可有个问题是MBR磁盘创建休眠分区(iFFS)可以选择OS/2 hiddle C:(set id=0x84),可到了GUID磁盘下要创建休眠分区就没法用diskgenius软件来创建休眠分区,这个问题也折腾了我很久,可创建休眠分区的好处是显尔易见,在Windows7系统下只要主板支持IRST(Intel Rapid Start(快速启动),系统直接睡眠或休眠,下次开机时间可能只要5~6秒的时间。

      那我就告诉大家如何在GUID磁盘下创建一个休眠分区。其实跟MBR磁盘模式下创建休眠分区一个样。

      首先用系统自带的磁盘管理软件选择最后一个分区选压缩卷,根据系统安装内存大少键入压缩空间量,注意2GB内存输入2048,4GB内存是4096,8GB内存是8192,16GB内存是16384。32GB内存是32768。

      接着用管理员模式打开命令提示符,键入diskpart,

      再键入Select disk 0;

      第三步键入create partition  primary

      然后键入set id=D3BFE2DE-3DAF-11DF-BA40-E3A556D89593

      至此休眠分区创建成功。接着安装Intel Rapid Start 软件就可以享受休眠后开机神速的感觉了。

UEFI系统安装U盘的制作方式

使用Windows7 USB download Tool利用Windows7 Ultimate x64 SP1的iso制作了启动用的U盘, 并删除source/ei.cfg文件, 这样安装的时候就会询问需要安装的系统版本了.
但是这样做完的U盘不支持EFI启动, 无法安装在GPT分区上. 所以需要处理一下.
首先, 把U盘上的所有文件复制出来, 放到硬盘上.
然后格式化U盘, 选FAT32.
之后把文件全部复制回去.
然后使用7z或者好压, 打开U盘\sources\install.wim文件, 注意不要修改此文件! 打開压缩文件中的 \1\Windows\Boot\EFI\ 这个目录, 找到bootmgfw.efi, 复制出来, 并重命名为bootx64.efi.
之后在U盘里找到\efi\Microsoft这个目录, 把boot文件夹复制到上一级目录去, 也就是\efi\boot, 并把bootx64.efi也放进这个boot文件夹.
完成了, 现在这个U盘就可以被主板认为是UEFI启动设备了. 
安装过程中系统会自动创建MSR-GPT保护分区, 这就没问题了. 

Linux终于搞定Windows 8的UEFI安全启动

所有的Windows 8硬件设备都将默认采用UEFI(统一可扩展固件接口)的安全启动(Secure Boot),防止未经授权的引导装载程序(OS Loader)在BIOS中启动,UEFI只启动通过认证的引导装载程序,而恶意软件则无法再利用这种方法攻击用户。

当微软在2011年宣布这一消息的时候,立即引起了Linux社区的不满,尽管微软表示这并不会将其它操作系统关在门外(通过设置PC固件可以控制任何操作系统执行安全启动,而并非只是Windows系统),自由软件基金会(Free Software Foundation,FSF)还曾呼吁大家抵制微软的这一举措,认为这意味着获得微软认证的计算机无法启动未授权操作系统,“安全启动”应该称为“受限启动”。

Fedora、红帽(Red Hat)都找到了应对办法,与微软签订协议,通过电子签名来提供他们自己的Windows 8系统兼容UEFI安全启动键。难道这就是所有Linux厂商的命运?

本周,Linux基金会终于找到了解决办法,可以让Linux发行版在采用UEFI安全启动的PC上顺利安装运行,就像Windows 8一样。Linux基金会在官方网站上描述道:“在nutshell中,Linux基金会将获取一个微软密钥并签署一个小的预引导装载程序(pre-bootloader),然后链式加载(无需任何形式的签名许可)一个预先指示的引导装载程序,从而启动Linux(或其它操作系统)。这种预引导装载程序能够采用一种‘当前用户’测试来确保它不会用来引导恶意程序。这种预引导装载程序可以被用在CD/DVD安装或LiveCD发行版本中,甚至能够用来在安全模式下启动任一款预装操作系统。”

这种预引导装载程序的源代码当前已经可以下载,不过Linux基金会表示:“获取微软签名的流程还要花费一段时间,一旦完成,Linux基金会将在官网上放出这个预引导装载程序,届时所有人都可以下载并使用它。”

Linux终于搞定Windows 8的UEFI安全启动