码迷,mamicode.com
首页 > 系统相关 > 详细

Linux引导与服务控制

时间:2018-06-22 17:48:08      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:mkdir   inittab   未定义   star   process   mount   dir   upstart   /etc/   

一、Linux引导过程

1.引导过程

(1)开机自检:根据主板BIOS对CPU、内存等进行检测,成功后根据启动顺序移动系统控制权
(2)MBR引导:根据硬盘第1个扇区中MBR(主引导记录)的设置,将系统控制权传给包含系统的分区,
        或者根据引导信息调用启动菜单(如GRUB)
(3)GRUB菜单:显示启动菜单用户选择,根据选项(或默认值)加载Linux内核文件,将控制权交于内核
(4)加载Linux内核:内核加载,掌控整个Linux系统运行过程;/boot存放内核文件
(5)init进程初始化:读取/sbin/init程序加载到内存中运行,完成一系列系统初始化,等待用户登录

2.Linux启动方式

(1)Centos 6:Upstart
(2)Centos 7:Systemd

二、运行级别

1.init进程

 内核第一个加载程序,PID(进程的身份标记)总为1
 RHEL 6采用Upstart启动方式,将初始化配置分散存放,以前全部存放在/etc/inittab配置文件中
配置文件 作用
/etc/inittab 配置默认运行级别
/etc/sysconfig/init 控制tty终端的开启数量、终端颜色方案
/etc/init/rcS.conf 加载rc.sysinit脚本,完成系统初始化任务
/etc/init/rc.conf 兼容脚本,负责各运行级别的调用处理
/etc/init/rcS-sulogin.conf 为单用户模式启动/sbin/sushell环境
/etc/init/control-alt-delete.conf 控制终端下的Ctrl+Alt+Del热键操作
/etc/init/start-ttys.conf 配置tty终端的开启数量、设备文件
/etc/init/tty.conf 控制tty终端的开启

2./etc/inittab配置文件

vim /etc/inittab
id:3:initdefault:
标识名:运行级别:动作:开机需执行命令
0:关机;不要设置为默认
1:单用户模式;一般用于维护或救援操作
2:多用户模式;不支持网络
3:完整的多用户模式;大多数使用
4:未定义
5:图形化
6:重启;不要设置为默认

三、故障恢复

1.MBR故障

(1)备份MBR
新建硬盘,并分区挂载到/hehe/目录下
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

dd if=/dev/sda of=/hehe/mbr.bak bs=512 count=1    //将系统磁盘头部的512字节MBR引导拷贝到/hehe/mbr.bak

技术分享图片
(2)模拟故障

dd if=/dev/zero of=/dev/sda bs=512 count=1     //使用/dev/zero文件覆盖掉/dev/sda的512字节头部MBR引导

技术分享图片
(3)放入光盘,进入救援模式
技术分享图片
(4)还原

mkdir /aa     //新建目录/aa

技术分享图片

mount /dev/sdb1 /aa     //挂载/dev/sdb1到/aa
dd if=/aa/mbr.bak of=/dev/sda bs=512 count=1       //将之前备份出的/aa/mbr.bak怼到/dev/sda头部的512字节

技术分享图片
(5)验证结果,重启查看是否能启动系统
技术分享图片

2.GRUB菜单

#Centos 7以上(Grub2)
#chroot /mnt/sysimage
#grub-mkconfig -o /boot/grub/grub.cfg

Centos 6以下(Grub1)
(1)备份Grub文件

cp /boot/grub/grub.conf /hehe/      //将grub配置文件拷贝到/hehe/

技术分享图片
(2)模拟故障

rm -rf /boot/grub/grub.conf      //删除grub引导

技术分享图片
(3)放入光盘,进入救援模式
(4)还原

chroot /mnt/sysimage            //切换到原系统环境

#如不使用chroot

{
mkdir /aaa
mount /dev/sdb1 /aaa
cp /aaa/grub.conf /mnt/sysimage/boot/grub/
exit
}
mount /dev/sdb1 /hehe       //挂载/dev/sdb1到/hehe
cp /hehe/grub.conf /boot/grub/          //将之前拷贝出的文件还原到/boot/grub

技术分享图片

exit
reboot        //退出重启系统

技术分享图片
技术分享图片

3.testdisk <要恢复的磁盘> //Linux下恢复分区表命令

4.root用户密码恢复

(1)GRUB菜单 --> e --> kernel一行按e --> 空格1 --> 回车 --> b      //进入单用户

技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

(2)passwd root 或 echo "密码" | passwd --stdin root       //重置密码

技术分享图片

Linux引导与服务控制

标签:mkdir   inittab   未定义   star   process   mount   dir   upstart   /etc/   

原文地址:http://blog.51cto.com/13770206/2131872

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!