uefi win8.1 ubuntu?win10改uefi启动

大家好,关于uefi win8.1 ubuntu很多朋友都还不太明白,今天小编就来为大家分享关于win10改uefi启动的知识,希望对各位有所帮助!

老主板刷BIOS支持UEFI实现win8.1快速开机

很多朋友的老主板只支持传统的BIOS,对于微软新出的win8,win8.1系统无法开启快速开机,甚是遗憾,而且超过3T的硬盘没办法做到完美支持。经过笔者研究,部分型号的老主板完全可以通过刷bios实现对UEFI的完美支持。笔者主板型号为:技嘉GA-970A-D3,版本为rev1.2,按照官方说法,rev3.0之前的版本均不支持UEFI。

安装UBUNTU

安装新立得软件包管理器,这个一定要安装好后,在新立得里搜索 flashrom,这个就是用来刷bios的软件,是Linux版本的,所以在装好ubuntu后在新立得里搜索安装最为简单

打开home文件夹,里面会有一个你之前装系统时候建立的用户名命名的文件夹,把刚才下载的bios文件,也就是970AD33.FD放进去

开始最重要的一步,刷rom,很关键,请完全照做不要打错任何字首先按Ctrl+Alt+T打开命令行(类似windows的cmd)输入 sudo flashrom-p internal-w xxxxx.fd(xxxxx就是你放在home里的文件名,如我的就是sudo flashrom-p internal-w970AD33.FD)等待刷rom完成,重启即可

重启后进入bios,会发现从以前的界面变成了图形化界面,就表示成功了一半。接下来就可以按照网上其他的教程,设置uefi启动,引导,然后保存,重启。用支持uefi的U盘引导系统,安装win8.1即可。

一般来说,技嘉,华硕的老板子都可强刷新板子的 bios,类似我的技嘉GA-970A-D3,rev1.2不支持uefi,通过rev3.0的bios就支持了。当然,官方的说法是,award的芯片不能刷AMI的,但我刷成ami的完美支持。

刷新完后,一定要打开机箱,认真看每一个风扇是不是都转了。然后用鲁大师之类的软件看看温度。不过需要注意的是,由于确实bios和部分硬件的驱动版本差异太大,会存在传感器显示的温度错误。像我的主板刷完后,刚开机进bios温度是113摄氏度。而实际上这是不可能的,不必担心。在开机后,随着主板温度升高,传感器提示的温度会稳定在90度以内(实际上是50度)

如何在UEFI模式下Win8与Ubuntu多系统的安装

UEFI自带引导的。Linux下可以用efibootmgr管理。添加win的引导也是相当容易。可以参考下arch的文档,基本通用的。Unified Extensible Firmware Interface

当然,UEFI的引导一般为Windows开了小门,很可能会自动激活win的引导为默认,你改了之后它还是改回来的(解决方案:禁用后重新添加新项,不可禁用的情况下,直接替换)。因为你先装的win,后装的Linux,所以应该没有这个问题,只要把win的efi引导文件配置进去就行了(efibootmgr)。

PS:如果你后装的Ubuntu,我不太清楚你是不是使用了新的efi分区(一个很小的FAT分区,很可能Ubuntu安装的时候没有自动识别原来windows的efi分区,又或者你手动指定了另一个分区),如果你没有使用windows原来的efi分区的话,那么win的引导显然是找不到的。当然,做法很简单,把win的efi文件从原来的分区拷贝到现在的分区即可。efi分区默认挂载点应该在/boot/efi

典型的efibootmgr输出如下:

->% efibootmgr-v

BootCurrent: 0000

Timeout: 0 seconds

BootOrder: 0000,3000,0001,0002,0003,2001,2002,2003

Boot0000* Windows Boot Manager HD(1,20000,100000,8c2edb26-db0f-49f4-8b08-e04cfd8413f1)File(\EFI\Microsoft\Boot\bootmgfw.efi)RC

Boot0001* arch HD(1,20000,100000,8c2edb26-db0f-49f4-8b08-e04cfd8413f1)File(\EFI\arch\grubx64.efi)

Boot0002* Windows 8.1 HD(1,20000,100000,8c2edb26-db0f-49f4-8b08-e04cfd8413f1)File(\EFI\Microsoft\Boot\win.bootmgfw.efi)

Boot0003* Syslinux HD(1,20000,100000,8c2edb26-db0f-49f4-8b08-e04cfd8413f1)File(\EFI\syslinux\syslinux.efi)

Boot2001* USB Drive(UEFI) RC

Boot2002* Internal CD/DVD ROM Drive(UEFI) RC

Boot3000* Internal Hard Disk or Solid State Disk RC

***

补充下grub在UEFI下的位置。

UEFI首先通过grub的EFI文件引导grub,然后grub通过其它efi文件引导别的(当然,也包括Linux内核)。

在UEFI环境下,grub不是必要的。实际上Linux内核可以直接作为efi文件引导。应该就是所谓的EFISTUB,具体我也不太清楚。这个我成功配置过,用了几个月,但是相当不稳定,可能会因为某次内核的更新而引导失败。所以,选择用grub之类的中转是一个相当稳妥的方案。

个人建议:不要用grub配置windows的引导。只要你的EFI分区配置正确,那么你总是可以通过UEFI来引导(在我这边是F9调出引导界面)。你也不需要考虑双硬盘,选择硬盘优先级什么的(这事我还真干过,但改优先级绝对不是一件很方便的操作,花费的时间远多于UEFI的配置)。

UEFI可以选择从EFI文件引导,如果你发现没有UEFI的windows引导项的话,可以直接找windows的efi文件。找不到?那显然是你的EFI分区配置有问题,把windows的efi下的目录拷贝到当前efi分区即可。这是一个不错的错误排查方案:)

如何手动修复win8.1的UEFI引导

解决方法

1、可以按照以下几个步骤将GRUB2设置为默认的引导程序:

登录Windows 8

转到桌面

2、右击开始按钮,选择管理员命令行

输入 mountvol g:/s(这将你的EFI目录结构映射到G盘)

输入 cd g:\EFI

3、当输入 dir列出文件夹内容时,可以看到一个Ubuntu的文件夹

这里的参数可以是grubx64.efi或者shimx64.efi

运行下列命令将grub64.efi设置为启动引导程序: bcdedit/set{bootmgr} path\EFI\ubuntu\grubx64.efi

重启你的电脑

4、将会看到一个包含Ubuntu和Windows选项的GRUB菜单

如果你的电脑仍然直接启动到Windows,重复步骤,但是这次输入: bcdedit/set{bootmgr} path\EFI\ubuntu\shimx64.efi

重启电脑

5、这里做的事情就是登录Windows管理员命令行,将EFI引导区映射到磁盘上,来查看Ubuntu的引导程序是否安装成功,然后选择grubx64.efi或者shimx64.efi作为引导程序。

那么grubx64.efi和shimx64.efi有什么区别呢?在安全启动(serureboot)关闭的情况下,可以使用grubx64.efi。如果安全启动打开则需要选择shimx64.efi。

在我上面的步骤里面,建议先试一个,然后再试试另外一个。另外一种方法是选择一个,然后根据选择的引导程序在BIOS中启用或者禁用安全启动。

阅读剩余
THE END