`

ma系列之-23-系统启动流程 grub

 
阅读更多

 

 

0 Linux系统启动流程如下:

 

术语介绍:
POST: power on safe testing
BIOS: 定义设备启动次序,依次去找对应设备的MBR, 
MBR里面包含了bootloader大小为446字节,根据MBR的分区表查找活动分区,找到操作系统所在的分区,并加载这个分区的操作系统内核,此时BIOS退出
Kernel: 操作系统内核,一般都是压缩的,将操作系统装载入内核,并解压缩,而后将控制权转交给内核,内核装载驱动识别硬件,获取整体硬件控制权,此时bootloader退出
Kernel涉及的操作:文件系统,进程管理,内存管理,网络管理,安全功能,驱动程序
initrd: 开始启动init进程,上帝开始造人,开始管理用户空间和相关业务请求进程, Init是用户空间的主导程序


流程如下:
POST-->BIOS(Boot Sequence)-->MBR(bootloader,446字节)-->Kernel-->initrd-->(ROOTFS)/sbin/init(/etc/inittab)
POST 硬件内置的,检查硬件健康 显卡 内存 CPU风扇等 

 

2 内核设计风格:

 

单内核LWP: 所有功能都做进内核 比如文件系统 内存管理等 Linux 在linux上线程被称为轻量级进程LWP(ligth weight process)  linux的内核解压后有几百兆大小
		这几百兆是为了支持多个平台,内置的 
	微内核: 文件系统 驱动程序等做成子系统,需要什么子系统由内核来调度  windows solaris 支持真正意义的多内核
 
  /lib/modules:内核模块文件,其下是所有外围模块  

 

 

3 运行级别:

 

 即启动的服务不同  
启动的服务不同, 这个级别定义在/etc/inittab下的 id:3:initdefault:内
 运行级别:0-6
 0:halt 停止
 1: single user mode, 直接以管理员身份切入, s,S,single
 2:multi user mode, no NFS(不启用NFS 网络文件系统)
 3: multi user mode, text mode(只有命令行的多用户模式)
 4:reserved 保留级别 尚未定义
 5: multi user mode, graphic mode 多用户图形模式
 6: reboot

 

4 启动过程细节:

 

bootloader(MBR) linux的bootloader有如下几种 
		1 LILO: LInux LOader 支持单个分区不大于8G 现在少用
		2 GRUB: GRand Unified Bootloader 分两步执行
			Stage1: MBR
			Stage1_5: 
			Stage2: /boot/grub/

/etc/grub.conf	下是开机参考的文件	,可以修改里面配置文件后保存在重新启动 来实现开机引导设置
参数如下:
default=0  # 设定默认启动的title的编号,从0开始
timeout=5  # 等待用户选择的超时时长,单位是秒
splashimage=(hd0,0)/grub/splash.xpm.gz  # grub的背景图片
hiddenmenu # 隐藏菜单
password redhat
password --md5 $1$HKXJ51$B9Z8A.X//XA.AtzU1.KuG.
title Red Hat Enterprise Linux Server (2.6.18-308.el5)  # 内核标题,或操作系统名称,字符串,可自由修改
	root (hd0,0)  # 内核文件所在的设备;对grub而言,所有类型硬盘一律hd,格式为(hd#,N);hd#, #表示第几个磁盘;最后的N表示对应磁盘的分区;
	kernel /vmlinuz-2.6.18-308.el5 ro root=/dev/vol0/root rhgb quiet   # 内核文件路径,及传递给内核的参数
	initrd /initrd-2.6.18-308.el5.img # ramdisk文件路径
	password --md5 $1$HKXJ51$B9Z8A.X//XA.AtzU1.KuG.
title Install Red Hat Enterprise Linux 5
	root (hd0,0)
	kernel /vmlinuz-5 ks=http://172.16.0.1/workstation.cfg ksdevice=eth0 noipv6
	initrd /initrd-5
	password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.

 

 5

分享到:
评论

相关推荐

    grub-2.02-beta2-for-windows.zip

    总之,“grub-2.02-beta2-for-windows.zip”为Windows用户提供了一个方便的GRUB2工具,可以帮助他们在多系统环境中更好地管理和维护GRUB2配置,确保系统的正常启动。理解并掌握这些关于GRUB2的知识点,对于系统管理...

    grub-1.98grub

    2. **配置**: 需要编辑`menu.lst`或`grub.conf`(在grub-1.98中可能是`menu.lst`),添加或修改启动条目,包括内核位置、根文件系统、启动参数等。 3. **更新GRUB**: 修改配置后,需使用`grub-install`命令重新安装...

    grub 完美教程 学习grub多启动设置方法

    GRUB 是一个功能强大的开源启动管理器,能够管理多个操作系统的启动过程。下面是 GRUB 的详细教程,涵盖了 GRUB 的基本概念、多系统引导的实现、GRUB 的安装和配置等。 硬件基础 -------- 在了解 GRUB 之前,需要...

    grub4dos工具合集-含grubinst-grub教程-grub背景图

    grub4dos工具合集-含grubinst-grub教程-grub背景图 grub4dos工具合集-含grubinst-grub教程-grub背景图 grub4dos工具合集-含grubinst-grub教程-grub背景图

    grub2中文详解(grub2和grub对比介绍,详细)

    4. **GRUB2的启动流程** - **初始化**:BIOS或UEFI加载GRUB2阶段1。 - **加载阶段2**:阶段1找到阶段2的位置并加载。 - **读取配置**:阶段2读取`grub.cfg`,显示启动菜单。 - **选择操作系统**:用户选择菜单项...

    grub-0.93源码

    在GRUB-0.93源码中,理解如何解析和执行这些配置指令对于自定义启动流程至关重要。 3. **编译构建**:源码中包含了构建GRUB所需的所有文件,包括Makefile、头文件、C源代码等。通过阅读和分析这些文件,可以了解...

    ubuntu-grub2-vimix主题包

    Ubuntu下grub2的主题,省的下次重装的时候找半天,,,

    grub2-themes-master.zip

    GRUB2 Themes是一个针对GRUB2启动加载器的美化项目,这个"grub2-themes-master.zip"压缩包包含了各种主题,旨在提升Linux系统启动时的视觉体验。GRUB2是GNU GRand Unified Bootloader的第二代版本,是许多Linux发行...

    grub命令-Ubuntu启动

    GRUB是多操作系统环境中最常用的引导加载器之一,它能够支持多种类型的文件系统,并允许用户在启动时选择不同的操作系统或内核版本。GRUB的工作原理基于一个名为`menu.lst`(在较新版本中为`grub.cfg`)的配置文件,...

    grub-2.12-for-windows.zip.cab

    grub-2.12-for-windows.zip.cab

    ubuntu-grub-启动项教程.docx

    GRUB2 是 GRUB (GRand Unified Bootloader) 的下一代版本,具有多项改进和新功能,使其成为现代操作系统中广泛使用的启动加载器之一。以下是 GRUB2 的主要新特性: 1. **图形接口**:GRUB2 支持图形化用户界面,...

    grub4dos-help-2015-02-09.CHM

    grub4dos-help-2015-02-09grub4dos-help-2015-02-09grub4dos-help-2015-02-09grub4dos-help-2015-02-09

    grub修改ubuntu启动项

    在早期的Ubuntu版本中,Grub(GRand Unified Bootloader)作为系统启动引导程序,用户可以通过简单的编辑 `/boot/grub/menu.lst` 文件来定制启动选项。然而,随着Grub的升级到Grub 2,这种修改方式不再适用。Grub 2...

    grub-2.02-beta2.tar

    GRUB2是Linux系统中最常用的引导加载器之一,其核心功能包括处理多操作系统环境、支持动态配置、提供用户友好的交互界面以及故障恢复选项。 "grub-2.02-beta2.tar" 是GRUB2的源码包,它包含了GRUB2在版本2.02-beta2...

    从头开始制作使用Grub启动的LiveCD.doc

    ### 从头开始制作使用Grub启动...通过以上步骤,您可以从头开始制作出一个使用Grub启动的LiveCD,并深入了解Linux系统的启动流程。希望本文档能够帮助您顺利地完成LiveCD的制作,并在未来的学习和实践中发挥重要作用。

    grub-2.00.tar.gz

    总的来说,grub-2.00.tar.gz 包含了GRUB 2.00的源代码,允许开发者和高级用户自定义和扩展GRUB的功能,以满足特定的系统需求。通过理解和掌握GRUB的工作原理,用户可以更好地管理和维护自己的多操作系统环境,确保...

    grub-for-dos

    GRUB for DOS是一款非常实用的引导加载器,它允许用户从硬盘上直接安装Linux操作系统,同时也支持引导启动。这个解压文件包含的是GRUB for DOS的版本0.4.4,是一个经典且功能强大的工具,尤其对于那些需要在没有其他...

    Linux--grub.zip_grub

    Linux系统引导管理器GRUB(Grand Unified Bootloader)是Linux用户非常熟悉的一个组件,它是Linux系统启动过程中的关键部分。GRUB允许系统在多操作系统环境下选择要加载的系统,并为内核提供一个友好的交互界面。这...

Global site tag (gtag.js) - Google Analytics