本节内容:
一、Linux启动过程
二、常见的启动故障排除
三、救援模式
1、系统瘫痪了救援模式下拷贝数据
2、grub重新安装
3、系统无法启动--磁盘资源耗尽
4、文件删除空间不释放的问题(拓展)
一:linux启动过程详解
加载BIOS的硬件信息。因为BIOS中包含了硬件的各种信息(硬盘信息、CPU、内存、时钟、设备启动顺序)等等,根据设置的开机启动项 FIRST 引导启动,如果FIRST引导为hardware的话,接着进入下一步
读取硬盘中MBR也就是Master Boot Recoder(主引导记录) 。硬盘上的第0磁道的第一个扇区就被称之为MBR,大小为512字节,它包括3部分即主引导程序、分区表和结束标识符魔数magic number 组成,分别占446、64(硬盘分区最多4个分区)和2(0xAA55或0x55AA)个字节。在通过BIOS中的FIRST 引导设备读到MBR后,将boot loader 加载到内存中,也就是lilo或者grub
启动Boot Loader ----grub。boot loader 运行于操作系统内核之外,相当于它初始化了硬件的设备,从而将软硬件环境搭配好,为调取操作系统的内核做准备。前面已经说过了Boot Loader 最常见的种类就是grub,也就是说这个步骤就是在内存中读取grub信息,根据grub配置信息来启动操作系统。
加载内核。grub的配置信息中存在内核的路径,系统会读取到内存将映像解压缩,放置在内存中,并通过调用函数来启动驱动程序初始化硬件设备,完成linux核心环境的建立。Linux的程序就可以正常运行了。
根据inittab文件获取启动相应的运行级别。内核加载后,第一个被运行的程序就是/sbin/init,读取inittab文件。注意:这里还不启动相应级别下的服务而是先准备一下作业的环境也就是下一步
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this) #关机
# 1 - Single user mode#单用户模式
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)多用户模式 无NFS网络支持
# 3 - Full multiuser mode#有网络支持的多用户模式
# 4 unused #保留未用
# 5 - X11## X-window模式
# 6 - reboot (Do NOT set initdefault to this)#重启
#
id:5:initdefault: #设定形式,表明运行级别为5
init执行/etc/rc.d/rc.sysinit 。准备应用程序执行的作业环境(外部设备初始化,设定网络、挂载/proc、启动swap分区,挂载根目录设备,终端字体、时间硬盘功能、磁盘检测, 根据/etc/modules.conf 或/etc/modules.d下的文件启动内核模块,开机状况记录到/var/log/dmesg中)
执行不同级别下的脚本程序/etc/rc.d/rc0.d~rc6.d/开启相应的初始化工作和启动相应的服务,此处的服务S开头的全部开机执行,K开头的开机不执行
执行/etc/rc.d/rc.local 设置个性化的开机启动项和设置
执行/bin/login程序进入登陆状态
二、常见的启动故障排除
1、加密grub,禁止破解root密码
[root@Mr ~]# grub-md5-crypt #加密grub密码
Password:
Retype password:
$1$yR8iM$Ri0EtBADp9l80JB2bdxPk1
[root@Mr ~]# sed -i '/hiddenmenu/a password --md5 $1$yR8iM$Ri0EtBADp9l80JB2bdxPk1' /boot/grub/grub.conf #添加加密行
[root@Mr ~]# tail -n 5 !$#验证操作的正确性
tail -n 5 /boot/grub/grub.conf
password --md5 $1$yR8iM$Ri0EtBADp9l80JB2bdxPk1
title Red Hat Enterprise Linux (2.6.32-279.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=ddc013d0-48ef-4dfb-991d-891c171cd2e1 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.x86_64.img
[root@Mr ~]#
重启之后编辑grub需要按P键输入密码才能操作 接着按下a 键 输入1 如下图所示
修改/etc/passwd 第一行内容如下图所示:重启即可
到此为止root密码已经被更改了!中间如果加密了grub的话,更改root密码就不容易了,这就是加密的作用。
三、救援模式
1、系统瘫痪了救援模式下拷贝数据
第一步:调整BOOT第一引导为CD-ROM保存退出 加载linuxiso镜像
第二步:重启进入救援模式启动系统
第三步:基本选项设置
Continue
OK之后
在这里就可以插入移动硬盘或者是U盘拷贝数据了!
转载于:https://blog.51cto.com/mrpan/1681963