Linux引导与服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux引导与服务相关的知识,希望对你有一定的参考价值。
分区表
1)MBR:最多只能支持4个主分区,磁盘占用磁盘头部512字节,其中446字节存储引导信息,剩余64字节为分区信息(每个分区占用16字节)
2)GPT:最多可支持128个主分区,每个分区桥都占用头部信息,能支持2TB以上磁盘
Linux引导过程
1)开机
2)加电自检(Bios,一段程序用于控制管理硬件,并决定启动顺序;所有数据来源于CMOS芯片)
3)MBR引导(寻找启动设备上的MBR信息,搜寻系统所有分区位置)
4)GRUB引导(系统选择菜单) --> /boot/grub/grub.conf
注:/boot/grub只是GRUB引导中其中一款程序,还有如efibootmgr、lilo等
5)加载内核(将启动内核加载到内存中(该区域不可越权访问,受系统保护))
6)init初始化(Linux下第一个启动进程,进程号1) --> /etc/inittab --> /etc/init/rcS.conf --> /etc/rc.d/rcx.d/ --> /etc/init/tty.conf --> /etc/sysconfig/init
Linux启动方式
1)Centos 6:Upstart
2)Centos 7:Systemd
一、运行级别
1.启动过程
windows过程:加电自检(BIOS、boot)、初始化、引导操作系统
Linux过程:加点自检(BIOS、boot)、MBR引导(寻找系统所在位置)、GRUB菜单(选择启动系统)、加载内核(将kernel加载到内存中)、init进程初始化(准备环境):第一个启动进程,PID(进程标记号)1
进程:软件运行是产生一个或多个进程,用于拿取硬件资源
父进程
子进程
查看进程:ps aux
注:所有的软件运行都需要加载到内存中
运行级别:
vim /etc/inittab
id:3:initdefault:
标识名:运行级别:动作:开机需执行命令
0:关机;不要设置为默认
1:单用户模式;一般用于维护或救援操作
2:多用户模式;不支持网络
3:完整的多用户模式;大多数使用
4:未定义
5:图形化
6:重启;不要设置为默认
init runlevel
poweroff init 0
reboot init 6
命令行 --> 图形化 init 5
开机自启:
chkconfig --list //查看所有服务开机自启状态
chkconfig --level 35 iptables off //将iptables在3、5级别下开机关闭
chkconfig --level 35 network on //将network在3、5级别下开机自启
chkconfig postfix on //在当前运行级别(runlevel)下开机自启postfix
ntsysv --level 35
当前立即运行:
service ip6tables status //查看当前服务状态
service ip6tables start //立即运行当前服务
service ip6tables stop //立即停止当前服务
service ip6tables restart //立即重启当前服务
注:service命令控制的服务,都来源于/etc/rc.d/init.d/目录(/etc/rc.d/init.d/ip6tables start --> /etc/init.d/ip6tables start --> service ip6tables start -->三者效果相同)
/etc/init.d/iptables start //立即开启iptables
/etc/init.d/postfix stop //立即停止postfix
/etc/init.d/network restart //立即重启network
二、故障恢复
1.MBR故障
1)备份MBR
新建硬盘,并分区挂载到/hehe/目录下
dd if=/dev/sda of=/hehe/mbr.bak bs=512 count=1
2)模拟故障
dd if=/dev/zero of=/dev/sda bs=512 count=1
3)放入光盘,进入救援模式
4)还原
mkdir /aa
mount /dev/sdb1 /aa
dd if=/aa/mbr.bak of=/dev/sda bs=512 count=1
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/
2)模拟故障
rm -rf /boot/grub/grub.conf
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
cp /hehe/grub.conf /boot/grub/
exit
reboot
3.testdisk //Linux下数据恢复命令
4.root用户密码恢复
1)GRUB菜单 --> e --> kernel一行按e --> 空格1 --> 回车 --> b
2)passwd root 或 echo "密码" | passwd --stdin root
以上是关于Linux引导与服务的主要内容,如果未能解决你的问题,请参考以下文章