linux学习入门19——LINUX系统启动详解(linuxcast.net)(重要!!重要!!)

不同操作系统的启动过程实际上是大同小异的

一般的启动流程:

BIOS(启动,自检等)---->>>MBR(到硬盘,或其他可引导的设备)---->>>操作系统的引导程序(GRUB)---->>>加载内核(底层已经启动起来了)---->>>执行init进程(启动相关的进程和服务)---->>>runlevel


1.BIOS基本输入输出系统,一般保存在主板中

计算机启动第一个运行的就是BIOS, BIOS负责检查硬件并查找可启动设备(自检)

可启动设备在 BIOS设置中进行定义(顺序),如USB,CDROM,HD


2.MBR (512字节大小)

BIOS找到可启动设备(最后字节为55AA)后执行其引导代码(启动设备的前512字节为MBR)

引导代码为MBR的前446字节(功能为引导不同的系统,加载复杂的引导程序)


3.GRUB和kernel

grub是现在Linux使用的主流引导程序

可以用来引导现在几乎所有的操作系统

相关的文件保存在/boot/grub.  

grub配置文件为/boot/grub/grub.conf


  在boot目录下还有一个efi文件,想在所有的Linux系统都支持efi启动


grub文件夹下有一个stage1文件,是第一阶段,大小为512字节,就是MBR的大小。是MBR的镜像( 备份)接下来就是执行一些以stage1_5为结尾的文件,这些文件以一种文件系统开头(对相应文件系统的支持,因为接下来要从文件系统中读取引导程序)。接下来加载stage2,加载完成stage2之后加载内核


配置文件:

  default =0 --------->>>>默认是第几个title

timeout =3  ------->>>>>>开机时候的倒数秒

splashimage=…………   ------------------->>>>>>>>>引导的背景,是一个xpm格式的图片,如果自己定制的化,把图片转换成xpm格式,然后路径跟到后面。(开机倒计时时的背景就是这个界面)

hiddenmenu   默认菜单隐藏显示

接下来以一个title开头的就是引导部分,如果有多个操作系统的话,就会有多个title(序这写)

接下来是操作系统所在的分区(分区表示方法是grub的表示方法)。(hd0,1)。0-->>第一块硬盘,1--->>>这块硬盘中的第一个分区


接下来定义内核文件,内核文件的路径   和一些参数。功能定义内核位置 ,只读方式挂载,根分区的位置和启动的参数


接下来是initrd   。内核是一个很精简的内核,执行效率非常高,但是设备的基本驱动要打在内核中这样就和之前出现矛盾,Linux采用将不常用到的驱动、功能编译成为模块,在需要的时候动态加载,而这些文件被打包保存为一个initramfs文件


早起版本 LINUX使用initrd文件,initramfs是initrd的替代优化版本,比initrd更加节省空间,更加灵活。

命令dmesg可以查看本次启动内核时内核的输出信息(内核出现错误或者某些驱动加载失败,通过此命令查看) /var/log/dmesg文件的内容和此命令的内容是一模一样的



4.INIT 

init是Linux系统中运行的第一个进程,并且一直存在知道关机。可以通过top命令查看。所有进程的父进程

调用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并根据运行级别启动相应的服务。

linux 运行级别(最多用到3和5,3、5的区别为是否有图形界面)

0   ------>>>关机

1------>>>单用户模式

2------>>>不带网络的多用户模式

3------>>>多用户模式

4------>>>未使用

5------>>>XII图形化模式

6------>>>重新启动

配置文件:

(1)通过/etc/inittab配置文件修改默认的运行级别(centos中最后一行中数字为运行级别)

(2)/etc/init目录中为其配置文件,系统分开保存了

如:Control-alt-delete.conf就是配置按下ctrl+alt+del按键后的操作。取消的化,加一个#屏蔽掉就可以了


init启动的服务的脚本在/etc/rc.d/文件夹下

  里面有许多rc[0-6].d,0-6是其运行级别,根据运行级别执行相应文件夹下的启动脚本。(系统服务)


使用runlevel命令显示上一个和当前的运行级别,如果没有上一个级别,就是N


使用init命令可以改变当前的运行级别




5.单用户修改root密码

为内核传递参数数字“1”或“single”可使系统进入单用户模式,grub的引导等待界面进行产地

单用户模式下不启用任何服务

单用户模式直接以root用户登录,并且不需要密码

可以使用passwd修改root密码

在输入exit在进行正常的启动

(grub进行加密,正常启动不需要密码,但要修改内容就需要使用密码)

通过在grub.conf中的启动配置中加入如下参数即可对grub进行加密:

password --md5 XXXXXXXXXXXXXXX    ------->>>>>XXXX表示使用标准算法加密后的内容,这里使用md5

加密后的密码可以通过grub-md5-crypt生成。

此密码在忘记只能将硬盘卸下,加载到另一个操作系统中修改配置。

避免物理性丢失,可以对分区进行加密。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值