无忧启动论坛

标题: UEFI和grub2使用心得 [打印本页]

作者: octans2009    时间: 2014-6-21 10:19
标题: UEFI和grub2使用心得
最近一直在研究UEFI和grub2,因为这方面的教程比较少,所以研究这个我还是花了不少时间和精力,今天就简单的分享一下,纯属个人见解,有错误还请指出。
先说一下MBR硬盘的启动方式:
1.系统加电
2.BIOS自检
3.硬盘获得权限,读取0号扇区,找出带有活动分区标记的分区,并指向这一分区的第一扇区(也就是我们常说的PBR)。
4.硬盘PBR要求指向bootmgr,bootmgr又指向BCD,BCD又指向(某一分区)\windows\system32\winload.exe
至此内核引导完毕。系统启动成功。

而UEFI
1.上电后,找到硬盘
2.找到硬盘第一个格式为FAT或FAT32的分区。
3.读取该分区中的efi\boot\bootx64.efi
4.bootx64.efi指向 \efi\microsoft\boot\BCD
5.BCD指向某一分区的\windows\sysytem32\winload.efi
至此内核加载完毕。
其中第4步要注意,.bootx64.efi指向 \efi\microsoft\boot\BCD  是因为那个bootx64.efi是微软自己写的,所以他固定指向 \efi\microsoft\boot\BCD
在/efi/microsoft/boot/bootmgfw.efi
大家注意一下,这个bootmgfw.efi与bootx64.efi同一个文件。如果你的efi/boot/bootx64.efi丢失了,可以用bootmgfw.efi代替,但要把名改成bootx64.efi,复制到efi/boot/目录中
这是我从ubuntu中截取的专门适用于uefi系统的grub2
具体使用方法是:
1.解压缩文件
2.删除\efi\boot下的bootx64.efi
3.将grub.cfg  grubx64.efi   shimx64.efi这三个文件拷贝到\efi\boot\下
4.将shimx64.efi改名为bootx64.efi
重启之后,你会发现进入了grub2的控制台界面

怎么引导进入windows呢?
在grub4dos下,分区这样表示(hd0,0)  、(hd1,4)
但是gpt下没有什么主分区,逻辑分区,那怎么表示呢
这样表示(hd0,gpt1) 、 (hd1,gpt2)
一般像我启动我的windows8.1
我都这么写
grub>chainloader (hd0,gpt2)/efi/Microsoft/boot/bootmgfw.efi
grub>boot
完美进入windows
每个人的分区号可能不一样
你们的efi分区可能是(hd0,gpt3)或是(hd0,gpt4)等等
uefi的grub只识别efi分区,想找到你的efi分区是多少,先用ls命令显示所有分区号
再用ls (hd0,gptx)来查看根目录。如果不是efi分区,它会显示:unkonown filesystem


grub2 for UEFI.part1.rar

400 KB, 下载次数: 301, 下载积分: 无忧币 -2

grub2 for UEFI.part2.rar

166.46 KB, 下载次数: 248, 下载积分: 无忧币 -2


作者: octans2009    时间: 2014-6-21 10:27
大家记得我上次的帖子吗?
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1

我已经找到原因了,不是启动文件出了问题,是ubuntu在我的bios里新建了个启动项,内容直接指向\efi\boot\shimx64.efi
用easyuefi删除了这一启动项就可以了
作者: renchmin    时间: 2014-6-21 16:26
楼主解释的还是很详细的啊支持了。
作者: feifanll    时间: 2014-6-21 20:27
不错不错,支持楼主多出佳品。
作者: 2012列兵    时间: 2014-6-21 21:24
下载测试了一下  grub.cfg 的默认路径是:efi/ubuntu
作者: 13696248    时间: 2014-6-22 01:53
这样做就比较麻烦,对菜鸟来说就更麻烦
作者: 13696248    时间: 2014-6-22 01:55

作者: 13696248    时间: 2014-6-22 01:56
这样做就比较麻烦,对菜鸟来说就更麻烦
作者: 13696248    时间: 2014-6-22 01:56
这样做就比较麻烦,对菜鸟来说就更麻烦
作者: 2012得了    时间: 2014-6-22 03:00
充电学习,多谢楼主分享心得。
作者: 4401    时间: 2014-6-22 08:40
很有用的东西。
不过现在一般都是直接安装grub2或者1
然后自己写启动的文件。。
作者: zhczf    时间: 2014-8-23 11:23
楼主太厉害了,这都可以,支持楼主分享更多的好东西
作者: wylgogogo    时间: 2014-8-23 12:33
    留楼,收藏,有时间学习。我怎么老是感觉时间 不够呢。
作者: 2010lakebaykal    时间: 2014-8-24 20:47
uefi是这样的
作者: xiaxf413    时间: 2014-12-30 18:04
谢谢楼主分享!最近一直在尝试GPT磁盘上装GRUB2,老是不成功。我现在用楼主的文件再试试。
作者: zhang786fei    时间: 2015-1-1 21:03
谢谢分享 ,说的很明白。
作者: 2013aygj1412    时间: 2015-1-4 16:27
挺有用的,不过方法有些繁琐啊
作者: liwainima    时间: 2015-1-4 20:42
硬盘获得权限,读取0号扇区,找出带有活动分区标记的分区,并指向这一分区的第一扇区(也就是我们常说的PBR)。
4.硬盘PBR要求指向bootmgr,bootmgr又指向BCD,BCD又指向(某一分区)\windows\system32\winload.exe
至此内核引导完毕。系统启动成功。
作者: qq393980683    时间: 2015-1-7 21:20
谢谢分享
作者: sherylynn    时间: 2015-1-7 23:51
感谢分享,挺详细的
作者: qq393980683    时间: 2015-1-9 22:12
不错,  又进一步了解了这些东西
作者: 666666    时间: 2015-2-27 15:50
多谢,学习到了新的知识。




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3