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位发行版。

系统启动过程

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系列

安装manjaro64 32efi/64cpu

manjaro系统篇

子方有料原创丨转载请注明原文链接

期待您的评论或捐赠,这是最好的鼓励和支持!

32位 shell.efi x86_通过grub,让32位的efi也能运行64位的Linux发行版相关推荐

  1. 64位计算机连接网络打印机驱动程序,为运行 64 位版本的打印机查找兼容的打印机Windows - Windows Server | Microsoft Docs...

    如何为运行 64 位版本的打印机的计算机查找兼容的打印机Windows 09/08/2020 本文内容 本文介绍如何为运行 64 位版本 Windows 的计算机查找兼容的打印机Windows. 适用 ...

  2. 发行版中的i386/i686/x86-64的区别: i386用来处理32位系统,i686是i386的下集;x86-64用来处理64位系统。 linux发行版中的i386/i686/x86-64各自含

    发行版中的i386/i686/x86-64的区别: i386用来处理32位系统,i686是i386的下集:x86-64用来处理64位系统. linux发行版中的i386/i686/x86-64各自含义 ...

  3. linux升级grub,如何更新 grub在 Ubuntu 或其他 Linux 发行版上

    在这篇文章中,你将学习在 Ubuntu 或任何其它 Linux 发行版上更新 grub .你也将学习一个或两个关于更新这个 grub 过程如何工作的事情. -- Abhishek Prakash 在这 ...

  4. 本地ie运行c语言,如何在win7系统中打开和运行64位IE浏览器

    win7系统已经使用了很长时间,许多网民报告说需要设置IE浏览器. 有什么好的方法来设置64位IE浏览器?实际上,要打开并运行64位IE浏览器,我们只需要打开C: \ Program Files文件夹 ...

  5. 如何在ESXi5.1上运行一个虚拟的ESXi虚拟机并且在这个虚拟的ESXi虚拟机里运行64位的系统?...

    如何在ESXi5.1上运行一个虚拟的ESXi虚拟机并且在这个虚拟的ESXi虚拟机里运行64位的系统? 这个虚拟的ESXi虚拟机也叫作嵌入式ESXi,目前这个功能是一个体验版,仅用于测试或者教学演示用, ...

  6. 32位系统无法运行64位系统安装文件

    [回复本文][原帖] 发信人: hsh(缩写 His/Her Serene Highness尊贵的殿下), 信区: Windows 标 题: 32位操作系统下安装64位windows7系统方法 发信站 ...

  7. linux32位运行64位程序,32位windows下可以运行的程序在64位linux下报错

    已结贴√ 问题点数:20 回复次数:3 32位windows下可以运行的程序在64位linux下报错 filt.c在32位windows code:blocks 10.05下运行无任何异样. 传到64 ...

  8. 凌动z3735f运行64位linux,在z3735上装ubuntu,装完的经验

    启动关闭 secure boot 选项 装的是14.04 放硬盘,u盘都可以 启动选择其EFI 使用try进去不选Install 打开terminal sudo passwd 转为root df -T ...

  9. Oracle instantclient 11.2 (64位)安装与配置tnsnames.ora,并使用PL/SQL Develpoer14(64位)连接数据库

    1.在电脑上安装Oracle instantclient 11.2 (64位),安装之后目录为:D:\app\XX\product\11.2.0\client_2 2.在D:\app\XX\produ ...

最新文章

  1. 5G 对无线通讯芯片产业链的影响
  2. Java面向对象编程思想
  3. html img 指定旋转角度_ALLEN老师自动化测试小课堂 | 生成HTML可视化报告的两个常见模块...
  4. IO多路复用:select/poll/epoll
  5. Boost:与gz文件相关的操作实例
  6. photoshop是用什么编程语言开发的_为什么中国开发不出流行的操作系统和编程语言?...
  7. sublime基本命令和使用
  8. 【好文翻译】10个免费的压力测试工具(Web)
  9. 如何解决wmv/asf/asx格式转成mp4/avi/3gp/mpg/flv的问题
  10. 日期插件layui的》laydate
  11. 餐桌 (Standard IO)
  12. idm uestudio 20绿色版(文本代码编辑工具) v20.10.0.52
  13. Android开发之关机广播
  14. linux防火墙删除ip白名单命令,利用CentOS系统IPtables防火墙添加网站IP白名单
  15. GeneXus学习记录——环境搭建
  16. u盘推荐知乎_U盘推荐|U盘哪个牌子更好?怎么选择?
  17. stm32带BootLoader情况下,需要重新映射中断向量表
  18. 无形的栅栏 完全解析Windows系统权限(转)
  19. 华大HC32F460NMI中断实验
  20. 微信误删了好友这几种方法可以帮你找回

热门文章

  1. python threading多线程计算
  2. 个人电脑装tesla v100 需要注意的事项
  3. 前端实例练习 - 动效按钮
  4. 屌丝giser成长记-大学篇
  5. 定时备份MySQL数据库
  6. OO学习之二——面向对象分析(OOD)的介绍
  7. Slide:深入了解Oracle自动内存管理ASMM by Maclean Liu
  8. Spring 数据源配置与应用
  9. 两个有序单链表的合并排序算法
  10. 一个.java源文件中是否可以包括多个类