Linux系统管理使用之系统启动流程

一.系统启动流程

Linux系统管理使用之系统启动流程

(一)启动流程

1、BIOS加电自检、检测硬件、决定启动介质、找到引导扇区1、BIOS加电自检、检测硬件、决定启动介质、找到引导扇区

2、读取并且执行第一个开机设备中的MBR的bootloader(grub程序)

3、依据bootloader设置去加载内核和驱动

4、内核启动init进程

5、系统初始化

6、init找到/etc/inittab文件,决定系统的运行级别(X)

7、触发相应的运行级别的事件,运行/etc/rcX.d下的脚本

8、执行/etc/rc.local文件,来到登录界面

9、输入用户名密码,进入到系统中

 

dd命令:dd 的主要选项:

               

指定数字的地*以下列字符结尾乘以相应的数字:

               

b=512, c=1,k=1024, w=2, xm=number m

               

              if=file #输入文件名,缺省为标准输入。

              of=file #输出文件名,缺省为标准输出。

              ibs=bytes #一次读入 bytes 个字节(即一个块大小为bytes 个字节)。

              obs=bytes #一次写 bytes 个字节(即一个块大小为bytes 个字节)。

              bs=bytes #同时设置读写块的大小为 bytes ,可代替 ibs 和obs 。

              cbs=bytes #一次转换 bytes 个字节,即转换缓冲区大小。

              skip=blocks #从输入文件开头跳过 blocks 个块后再开始复制。

              seek=blocks #从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)。

              count=blocks #仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。

conv=conversion[,conversion...]#用指定的参数转换文件。

               

               

(二).修复MBR:

1.备份文件的方式:dd if=/dev/sda of=/loring/sda.mbr.bak bs=512 count=1

2.模拟扇区故障:

ddif=/dev/zero of=/dev/sda bs=512 count=1

3.恢复

ddif=tempdir/sda.mbr.bak of=/dev/sda bs=512 count=1

实验:

mkdir loring

mount/dev/sdb1 /loring

ddif=/dev/sda of=/loring/mbr.bak bs=512 count=1

ddif=/dev/zero of=/dev/sda bs=512 count=1

打开电源进入到bios里面,boot里面设定光盘启动

进入到修复模式

/mnt/sysimage(挂载点)

                     mkdir /backup

mount/dev/sdb1 /backup

ddif=/backup/mbr.bak of=/dev/sda bs=512 count=1

(三).grup故障修复

MBR中的grub坏掉了

grub.conf文件损坏或者丢失

(系统引导不了,停住,显示grup>提示符)

1.手动引导

2.进入救援模式,修复grup

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

cd/boot/grub mv grub.conf文件

1.root(hd0,0)

kernel(/vmlinuz-2.6.32... ro root=UUID#)

initrd/initra...

boot

 

进入到救援模式,默认会找到根分区,并挂载到/mnt/sysimage

chroot/mnt/sysimage

                     修复grub

 

BIOS(boot sequence)>MBR(bootloader,446)

kernel 在内存中解压,探测硬件

                     init 

 

 

1、root密码

安装系统时候给root设置密码

 

**root密码:

前提:能重启系统

进入单用户模式

 

2、grub密码

为了防止用户进入单用户模式修改root密码,怎么办呢?

给grub加上密码

1)明文密码   ——  修改grub配置文件

# vim/boot/grub/grub.conf

在timeout下面添加一行

---------------------------

password123456

---------------------------

# reboot

重启之后,想要编辑grub进入单用户的话,需要提供grub的密码

按p:输入密码

 

必须正确输入grub的密码,然后才能编辑grub

 

2)密文密码

(1)生成加密后的字符串

                                    # grub-md5-crypt

                                          Password:

                                          Retypepassword:

$1$r5htQ$IRUJY./85zdZT3a6JDmfv0    //加密后的字符串

(2)修改grub配置文件

# vim/boot/grub/grub.conf

password--md5 $1$r5htQ$IRUJY./85zdZT3a6JDmfv0   //修改password那行

3、**grub密码

前提条件:手头要有光盘

                            需要进入救援模式    

想要进入到救援模式,需要进入bios修改引导介质的优先级,让cdrom优先

虚拟机进入BIOS:按F2       真机进入BIOS:一般按(.  del键)

 

将光盘移动到硬盘上面,按F10保存

                             

选择救援已安装系统  Rescue

 

 

 

 

目前我们选的是本地光盘,以后可能选择URL,网络修复系统。

 

如果你救援的时候想和别人交流,那么就选择yes;否则我就选择No

 

 

 

 

 

你可以执行chroot/mnt/sysimage可以切换到真正的系统的根目录

修改grub配置文件,将password那行删除掉

bash-4.1#reboot

                            重启之后又可以进到单用户模式了。   

4、BIOS密码

为了防止用户进入救援模式,给BIOS加密码

 

 

重启系统,按F2想要进入BIOS时候,

 

 

小总结:

1、如果**root密码,需要进入单用户模式

2、防止进入单用户模式,给grub加密码

3、**grub密码,需要进入救援模式

4、防止进入救援模式,给BIOS加密码

                       

要想进入单用户模式的前提,需要能够重启系统

要想进入救援模式,要有光盘,而且能够进入BIOS修改引导介质的顺序