首页 > 试题广场 >

Linux系统大致启动流程是()

[单选题]
Linux系统大致启动流程是()
  • MBR -> initrd -> uEFI-> grub
  • MBR -> uEFI-> initrd -> grub
  • initrd -> grub -> uEFI -> MBR
  • uEFI-> MBR -> grub -> initrd
以前的厂商启动的模式第一步是BIOS
现在经过改进后,采取UEFI作为启动的第一步,UEFI 不仅能读取分区表,还能自动支持文件系统。
发表于 2019-08-24 17:17:58 回复(0)
Linux启动流程:
1,BIOS加电自检;
2,从硬盘0柱面 0磁道 第一扇区读512字节的MBR主引导记录;
3,运行引导程序Grub并根据其配置加载kernel镜像后初始化;
4,根据/etc/inittab中系统初始化配置执行/etc/rc.sysinit脚本;
5,根据第3步读到的runlevel值启动对应服务;
6,运行/etc/rc.local;
7,生成终端待用户登录。
发表于 2020-05-29 12:42:30 回复(1)
采用uEFI的计算机可以支持MBR,但是需要在BIOS中打开CSM之类的。
之后->grub->initrd就是常规操作。
但是说grub也不太合适,毕竟bootloader有很多,例如clover、rEFland之类的。
比较新的linux内核可以支持直接从内核启动,这种引导方式叫做EFISTUB
贴一段Archlinux的UEFI启动过程的wiki:
  1. 系统开机 - 上电自检(Power On Self Test 或 POST)。
  2. UEFI 固件被加载,并由它初始化启动要用的硬件。
  3. 固件读取其引导管理器以确定从何处(比如,从哪个硬盘及分区)加载哪个 UEFI 应用。
  4. 固件按照引导管理器中的启动项目,加载UEFI 应用。
  5. 已启动的 UEFI 应用还可以启动其他应用(对应于 UEFI shell 或 rEFInd 之类的引导管理器的情况)或者启动内核及initramfs(对应于GRUB之类引导器的情况),这取决于 UEFI 应用的配置。


发表于 2019-09-08 11:43:49 回复(0)
UEFI (Unified Extensible Firmware Interface)是一种用于替代传统BIOS的固件接口标准。UEFI提供了更强大的功能和更高级的安全性,能够支持更大的硬盘容量和更快的启动速度。

MBR (Master Boot Record)是存储在硬盘的第一个扇区的引导记录。它包含了引导加载程序和分区表。当计算机启动时,UEFI固件会加载MBR并将控制权传递给引导加载程序。

GRUB (Grand Unified Bootloader)是一种常用的引导加载程序,用于在计算机启动时加载操作系统。GRUB能够识别并加载多个操作系统,并提供了一个菜单供用户选择启动哪个操作系统。

initrd (initial RAM disk)是一个临时的根文件系统,它被加载到内存中作为启动过程中的初始根文件系统。initrd包含了用于启动操作系统所需的驱动程序、工具和文件系统镜像。

所以,当计算机启动时,UEFI固件首先加载MBR,然后将控制权传递给GRUB引导加载程序。GRUB加载initrd作为初始根文件系统,并在其中查找并加载操作系统内核和其他必要的文件。最后,操作系统被加载并启动。
发表于 2023-08-16 20:41:05 回复(0)
Linux的启动流程
1. 加载BIOS的硬件信息,并获取第一个启动设备的代号;
2. 读取第一个启动设备的MBR的引导加载程序(即lilo、grub、spfdisk等)的启动信息;
3. 加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备;
4. 核心执行init程序并获得运行信息;
5. init执行/etc/rc.d/rc.sysinit文件;
6. 启动核心的外挂模块(/etc/modprobe.conf);
7. init执行运行的各个批处理文件(Script);
8. init执行/etc/rc.d/rc.local文件;
9. 执行/bin/login程序,等待用户登录;
10. 登录之后开始以shell控制主机。
发表于 2021-03-11 13:37:55 回复(0)