bios加电自检------mbr--------grub-------加载内核文件------启动第一个进程
bios的主要作用:检测硬件是否正常,然后根据bios中的启动项设置,去找内核文件
boot开机启动项顺序,你可以把内核文件放在何处?
1.硬盘? 2.移动设备(u盘、移动硬盘、光驱)3.网络启动
统一启动加载器(mbr? ?grub)
mbr的前446个字节不是文件,而是二进制,去引导操作系统寻找内核文件,因为grub程序太大,第一扇区存不下所有的grub程序,所以分为2部分,知道硬件找到内核文件
grub? 根据grub配置文件中记录的位置,去找到内核文件
加载内核:把内核运行在内存中
启动进程:启动第一个祖宗进程? pstree-p =====>systemd
centos 6 :init? 普通用户为500以后
centos7:systemd? ?普通用户为1000以后
区别:init是串行启动后续的程序,一个一个按顺序启动
systemd 是并行启动的程序,全部一起启动
文字描述:加电后bios程序会自检硬件,硬件无故障后,会根据第一启动项去找内核,一般来说第一启动项是硬盘,找到硬盘后悔根据mbr的指引,找到完整的grub程序,再根据grub的配置文件找到内核文件的具体位置,然后将内核文件加载到内存中运行,内存加载好后会启动第一个程序。
按shit+? 移到boot里的顺序??
systemd? 是系统级的程序,代为管理系统上的服务程序,如果要用 就要手写
rpcbind? 1.启动时,会监听111端口
? ? ? ? ? ? ? ?2.没有启动
systemd? 保姆级程序? ?代为管理服务程序
如是yum、rpm安装的软件可以直接使用systemctl去启动关闭、重启、开机自启等功能
如是编译安装,不可以使用systemctl命令去管理程序,需要手写配置文件
systemd unit(单元)systemd方便管理程序,将程序按照特定的功能,分成了很多单元,(服务单元、文件路径单元、挂载单元、、、、)
linux操作系统有运行级别
例如:init 0? ?关机? systemctl get -default? 查看默认的运行级别
systemctl set-default? 设置默认级别
?去字符界面
runlevel? 3? 5? =====》? 3是上一级别,5是当前级别?
?实验操作:
1.模拟破坏mbr 和分区表 然后修复
新建一块磁盘 将备份文件拷贝到新盘里
?
3? 2? 1?
?
修复grub文件及程序
先模拟破坏grub.cfg配置文件
按住重新启动? 并且立即按住esc 选择2 hard brive
?
?
?
?破解密码
1.有光驱时
?先进入到急救模式,先切换根,从光盘的跟切换到自己系统的根
chroot? /mnt/sysimage
修改密码 passwd
exit?
reboot
无光驱时
?? ? 1.进入系统在选择 内核界面 ?选择带一个选项 ?按e
? ? ? ? 2.将光标移动到Linux开头行的最后,添加 ?rd.break
? ? ? ? 3.ctrl+x ?运行
? ? ? ? 4.进入单用户
? ? ? ? ? ? ? ? 重新挂载,添加读写权限
? ? ? ? ? ? ? ? mount -o remount, ?rw ?/sysroot
? ? ? ? ? ? ? ? 切换到真正的根 ? ? chroot /sysroot
? ? ? ? ? ? ? ? 修改密码 ? ? passwd
? ? ? ? ? ? ? ? 如果你开启了selinux要重新打上标记
? ? ? ? ? ? ? ? touch /.autorerelabe
?