1.开机完整引导过程
bios加电自检--mbr---grub---加载内核文件----启动第一个进程
加电后biso程序会自检硬件,硬件无故障后,会根据第一启动项去找到内核。
一般来说第一启动项是硬盘,找到硬盘后,会根据mbr的指引 找到完整的grub程序,
再根据grub的配置文件找到内核文件的具体位置,
然后将内核文件加载到内存中运行,内存加载好后会启动第一个程序
2. biso作用:检测硬件是否正常,然后根据biso中的启动项设置,去找内核文件
boot开机启动顺序:你可以把内核文件放在何处
硬盘
移动设备,U盘 移动硬盘 ,光驱
网络启动
mbr(二进制):因为grub太大第一扇区存不下所有的grub程序,所以分为两部分
指引找到内核文件
文件系统的驱动
grub:根据grub配置文件中记录的位置。去找内核文件(高级语言)
加载内核:把内核运行在内存中
启动进程:启动第一个进程
centos6 : init
centos7: systemd
区别:int串行启动后续的程序,一个一个按顺序启动
systemd是并行启动程序 全部一起启动
3.systemd 系统级的程序,代理管理系统上的程序
yum以及rpm安装的软件可以直接使用systemctl去启动关闭,重启,开机自启等功能
编译安装,不可以直接使用systemctl命令去管理程序,需要写一个配置文件
systemd unit(单元),systemd方便管理程序,将程序按照特定的功能分成很多单元,服务,单元,写配置
4.linux操作系统有运行级别
0 关机
1 单用户 类似于Windows的急模式
2 字符界面 少些功能
3 字符界面
4 字符界面
5 图行界面
6 重启
init
runlevel 查看当前运行级别
systemctl get-default 查看默认的运行级别
systemctl set-defalut 设置默认的jibie
5.实验一:模拟破坏mbr和分区表然后修复
(1).新加一块盘,将备份文件备份到新盘
(2).dd if=/dev/sda of=/mnt/mbr count=1 bs=512备份分区表以及mbr
(3).模拟破坏
dd if=/dev/zero of=/dev/sda count=1 bs=512
然后进入急救模式修复
3
2
1
mkdir bak
mount /dev/sdb1 bak
dd if=bak/mbr.bak of=/dev/sda count=1 bs=512
6.实验2 修复grub文件及程序
(1)先模拟破坏grub.cfg配置文件
mv /boot/grub2/grub.cfg /opt
(2)重启进入急救模式3 2 1
(3)先切换根,从光盘的根切换到自己系统的根
chroot /mnt/sysimage
(4)重新安装grub2程序在sda磁盘
grub2-install /dev/sda
(5)重新生成配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
reboot
由于破坏了grub.cfg,这时界面已卡在grub
重启按esc键,选CD
成功
7.实验3 修改密码
(1)有光驱
进入急救模式后,更改环境
chroot /mnt/sysimage
passwd修改密码
(2)无光驱
进入系统在选择 内核界面 选着带一个选着 按e
将光标移动到linux开头行的最后 添加rd.break
ctrl +x运行
进入单用户
重新挂载
mount -o remount,rw /sysroot
重新挂载,添加读写权限
chroot /sysroot
切换到真正的根
passwd
修改密码
touch /.autorelabel
如果你开启了selinux要重新打上标志
8.服务管理
chkconfig centos6
service 服务程序 start
stop
restart
reload
status
在/etc/init.d/写一个同名文件的脚本(必须要有执行权限)
chkconfig --add 服务名称
chkconfig --level 35 服务程序 on 开机自启
chkconfig --level 35 服务程序 off 关闭开机自启
systemd centos7
systemctl start 服务名
stop
status
reload
restart
开机自启
systemctl enable 服务名
开机自启并立即启动
systemctl enable --now 服务名
开机不自启
systemctl disable 服务名
开机不自启,并立即关闭
systemctl disable --now 服务名