GRUB是什么
是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。 GNU GRUB的前身为Grand Unified Bootloader。
EFI的选择
EFI运行的引导加载程序与EFI本身的位深度相同。对于现代计算机,这通常是64位,尽管前几代基于Intel的Mac,某些现代平板电脑和可转换产品以及少数晦涩的计算机都使用32位EFI。我还没有遇到过正式支持EFI的32位Linux发行版,尽管可以在32位发行版中添加32位EFI引导加载程序。(我为Linux管理EFI引导加载程序涵盖了启动加载程序,了解这些原理可以使您修改32位发行版的安装程序,尽管这对初学者来说不是一个任务。)在具有64位EFI的计算机上安装32位Linux发行版非常困难最好,我在这里不描述流程;您应该在具有64位EFI的计算机上使用64位发行版。
本段来自:Managing EFI Boot Loaders for Linux
系统启动过程
1,加载BIOS的硬件信息与进行自检,并依据设置取得第一个可启动的设备(硬盘,光盘,U盘);
2,读取并执行第一个启动设备内MBR(主引导分区)的 boot loader(如grub2);
3,依据 boot loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序;
4,在硬件驱动成功后,Kernel会主动调用systemd进程(原来的init进程),并以default.targert流程开机;
systemd执行sysinit.target初始化系统及basic.target准备作业系统;
systemd启动multi-user.target下的本机与服务器服务;
systemd执行multi-user.target下的/etc/rc.d/rc.local文件;
systemd执行multi-user.target下的getty.target及登录服务;
systemd执行graphical需要的服务
GRUB引导启动内核
不论传统的BIOS还是UEFI BIOS都会被称为BIOS,虽然分割表有传统MBR以及新式的GPT,不过GPT也保留一块相容的MBR的区块,因此,底下的说明在安装boot loader的部分,都简称MBR。总之,MBR就代表该磁盘最前面可安装boot loader的那个区块。
子方有话
通俗的说,有了grub,在纯uefi模式上,可以不受efi位深限制,既可以引导32位Linux发行版,也可以引导64位Linux发行版。目前也有朋友在试图引导64位的Windows。如果大家感兴趣,可以顺着上面的这个链接进一步学习。但至少从这里,大家可以看到,一般来说我们的efi和处理器架构应该一致,但不一致的话,也是可以通过修改某些内容,从而获得正确的引导。
系列链接
这是子方有料在撰写的一系列分享,它包含了子方在15天里遇到的各种问题。当然,这只是一小部分,也不是十分的全面。(注意:这些内容是按计划发布的,未发布前访问会返回404错误,预计到2020年3月底全部可访问)
很高兴你带着同样或相似的问题来到这里,在解决问题的过程中节约了大量时间,感谢每一位支持网站运行的朋友们,PC端页面有支付宝支持通道。
manjaro32系列
manjaro32系列1:安装遇到的PGP signature签名问题
manjaro32系列2:breaks dependency ‘xf86miscproto’ required by libxxf86misc
manjaro32系列3:xorg相关的错误cannot resolve “libxpresent”, a dependency of “xfwm4”
manjaro32系列4:/etc/skel/.config/autostart/ exists in both ‘manjaro-hello’
安装manjaro64 32efi/64cpu
成功实操篇:成功在32位efi的atom平板上安装了64位manjaro
为什么很多Linux发行版的livecd无法在Windows平板上启动,以酷比魔方iwork8为例
搭载了atom64位处理器/32位efi的Windows平板值不值得买用?装什么系统?
manjaro系统篇
通过grub,让32位的efi也能运行64位的Linux发行版