linux启动顺序讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、简单介绍RHEL开机时的先后顺序
BIOS —> MBR —> Kernel —> init
1、当电脑一打开电源时电脑就会进入BIOS(BIOS的工作主要是检测一些硬件设备);
2、检测完后会进入MBR也就是boot loader(MBR位于硬盘的第一个扇区总共512bytes,其中前446bytes里面的编码是在选择引导分区也就是决定要由哪个分区来引导);
3、载入系统的Kernel(核心),在Kernel里主要是载入电脑设备的驱动程序,以便可以控制电脑上的设备,并且以只读方式来挂载根目录,也就是一开始只能读取到根目录所对应的那个分区,所以/etc、/bin、/sbin、/dev、/lib这五个目录必须同根目录在一个分区中;
4、最后启动init这个程序,所以init这个程序的进程编号为1,是Linux中第一个执行的程序;
init这个程序会根据Run level来执行以下这些程序:
·/etc/rc.d/rc.sysinit;
·/etc/rc.d/rc 和etc/rc.d/rc?.d/
·/etc/rc.d/rc.local
·如果有适当的图形界面管理程序
二、BIOS初始化时主要的三个任务
BIOS(B asic I nput/O utput S ystem)
1、电脑周边设备的检测,加电自检POST (Power on self test);
2、BIOS会选择要由哪一个设备来开机,例如:软盘启动、光盘启动、网络启动、最常见的从硬盘启动;
3、选择好由哪个设备开机后,就开始读取这个设备的MBR 引导扇区;
三、介绍Boot Loader中的主要工作
1、Boot Loader可以安装在两个地方:
·安装在硬盘的MBR中;
·当有时候MBR中被其他开机管理程序占用就可以将Boot Loader 安装在硬盘中的其中一个分区的引导扇区上,;
2、Boot Loader的程序码分为两个阶段:
(1)Boot Loader第一阶段的程序码非常小,只有446bytes,可以存入在MBR或是某一个分区的引导扇区里,
(2)Boot Loader第一阶段的程序码是从boot 分区来载入的,就是说Boot Loader 第二阶段程序码存放在/boot 这个分区中;
3、下面来看三个Boot Loader 的开机流程范例,如在一块硬盘中安装了两个系统分别为:windows 2003 和Red hat linux
当电脑开机后,会先载入MBR通过第一阶段程序码来载入第二阶段程序码,进入GRUB开机菜单这里选择哪个系统就会载入相应的核心;
四、介绍GRUB和grub.conf 这个配置文件的内容
其实从MBR载入Boot Loader开始,载入Kernel,载入init这些程序之间都是由GRUB这个多重开机管理程序所负责的。
1、GRUB (GR and U nified B ootloader)拥有以下特性:
· GRUB的开机管理程序可以在开机提示字元的界面下输入指令;例如在GRUB界面下可以按C键就会来到以grub> 开头的提示符来输入据指令;
· GRUB的开机管理程序可以支持以下几种文件系统:ext2/ext3、ReiserFS、JFS、FAT、minix、FFS 等等;
·支持MD5的密码来保护GRUB的配置文件;
2、/boot/grub/grub.conf这个配置文件是GRUB 的配置文件,在做修改前推荐先做好备份
下面来介绍这个配置文件的内容以及里面的语法:
·以#开头的行为注解执行时不会使用;
·可以以title开头的一行为准,分为上下两部分:
(1)基本设定:
(2)用于区分多个系统的设定,如果这台主机中还安装了其它系统并设定了多重启动,在这里还可以看到其它系统的设定;
4、另外,如果硬盘上的MBR被清除掉了,可使用下面的指令来重新安装boot loader 到MBR中:
/sbin/grub-install /dev/hda
5、介绍进入GRUB的开机管理程式可以做哪些动作(开机前改Kernel的参数)
(1)开机后在进入GRUB界面后,先选择要使用的系统(这里选择Linux)
(2)按下a键,可以在开机修改Kernel的参数,也就是可以传一个参数给Kernel;这时可以看到下面这个界面
(3)上图中root=LABEL=/ 这部分不可以动,将后面的都去掉后,先输入一个空格再输入一个1,如下图:
这个1 就是附加的一个参数,表示要进入单用户模式,不需要输入root密码就可以以root身份登录;(4)当进入到#提示字元时,就可以设定root 密码了。
这时会发现一个问题任何人到主机前都可以通过这种方式修改ROOT密码是很不安全的。
6、为GRUB进入单用户模式设定密码及加密方法:
在GRUB的设定档中设定密码,以防止非法者以单用户模式进入。
(1)编辑grub.conf配置文件,在基本设定的部分里,插入一行password 123456来设定密码,这里是将密码设定为123456 。
(2)当重新开机后,在GRUB的菜单中,需要输入P ,再输入密码才可以进行下一步,选择其它的模式。
(3)可以发现上面设定的密码是明文的,在GRUB中是可以对这个密码进行加密的,如下图:
注:grub-md5-crypt这个指令在设定一个加密的密码的时候,就算每次输入的密码相同经加密后也是不同的,所以上面的几组密码都不一样,grub-md5-crypt >> /boot/grub/grub.conf 这行指令在执行后不会你上面那样会提示出输入两次密码,虽然没有提示但还是可以输入的,每输入一次密码按一次回车,等设定好密码后,再打开grub.conf文件时,就会发现经过加密的密码就追加到了grub.conf 文件中去了,将追加文件中的前二行去掉,第三行就是要使用的密码了,然后就像上图中那样进行设定,等上面的设定好后,一定要删除掉最后三行的内容,不然会出错的。
password –-md5 这里面的md5 表示后面使用的密码是经过md5加密的。
7、在进入系统前,按E键进入命令编辑模式,来修改引导配置文件
在GRUB菜单选择时,按"e"键,就可以看到所对应系统的三行grub.conf中的配置参数,选择有错误的一行,再按"e"键,可修改这一行: