这里写目录标题
Linux操作系统引导过程
bios加电自检
当机器上电之后,根据主板上bios的设置进行硬件的自检,如cpu、内存等并初始化,它找到可引导的硬盘之后把控制器给MBR
MBR引导
硬盘启动时根据MBR的设置,将系统控制权传递给包含系统操作引导文件的分区;或者直接根据MBR 记录中的引导信息调用启动菜单
grub2菜单
系统控制权传递GRUB以后,将会显示提供用于选择,并根据-选项加载linux内核文件
加载内核
系统引导器程序会从本地硬盘中加载内核以及内存文件系统 initramfs,其中包含启动时所有必要的硬件内核模块、初始化脚本等
初始化进程
在initramfs中找到驱动程序的所有硬件,然后作为PID 1从initramfs执行/lib/systemd/systemd
systemd启动initrd.target中所有单元,包括挂载/etc/fstab
然后从initramfs根文件系统切换到磁盘根目录并且systemd启动默认target(字符界面还是图形化界面)也就是 /etc/systemd/system/default.target
最后等待用户登陆
运行级别所对应的Systemd 目标
| 运行级别 | Systemd的target | 说明 |
|---|---|---|
| 0 | target | 关机状态,使用该级别时将会关闭主机 |
| 1 | rescue.target | 单用户模式,不需要密码验证即可登录系统,多于系统维护 |
| 2 | multi-user.target | 用于定义/域特定运行级别, 默认等同于3 |
| 3 | multi-user.target | 字符界面的完整多用户模式, 大多数服务器主机运行在此级别 |
| 4 | multi-user.target | 用户定义/域特定运行级别。 默认等同于3 |
| 5 | grapjical.target | 图形界面的多用户模式,提供了圆形桌面操作环境 |
| 6 | reboot.target | 重新启动,使用该级别时将会重启主机。 |
Linux系统的运行级别
查看运行级别
·runlevel命令 只能查看切换运行级别与当前运行级别
·systemctl 工具 能查看默认的运行级别
临时切换运行级别
·initial 命令 参数是运行级别所对应的数字
·systemctl 工具 参数是具体的target
设置永久运行级别
systemctl set-default multi-user.target
修复MBR扇区故障
故障原因
●病毒、木马等造成的破坏
不正确的分区操作、磁盘读写误操作
故障现象
●找不到引导程序,启动中断
●无法加载操作系统,开机后黑屏
解决思路
●应提前作好备份文件
以安装光盘引导进入急救模式
●从备份文件中恢复
修复GRUB引导故障
故障原因
MBR中的GRUB引导程序遭到破坏 grub.conf文件丢失、引导配置有误
故障现象
系统引导停滞,显示“grub>”提示符
解决思路
尝试手动输入引导命令
进入急救模式,重写或者从备份中恢复grub.conf
向MBR扇区中重建grub程序
遗忘root用户密码
故障原因
●遗忘root用户的密码
故障现象
无法进行需要root权限的管理操作
●若没有其他可用帐号,将无法登录系统
解决思路
●进入急救模式,重设密码
修改Root密码
启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式
在linux16/linux/linuxefi所在参数行尾添加以下内容:init=/bin/sh
按Ctrl+x启动到shell
挂载文件系统为可写模式:mount –o remount,rw /
运行passwd,并按提示修改root密码

MBR扇区修复
首先模拟故障
新加一块硬盘,格式化挂载
dd if=/dev/sda of=/opt/sdb/mbr.bak bs=512 count=1
dd if=/dev/zero of=/dev/sda bs=512 count=1
2、重启电脑,无法进入系统
3、设置boot选项从光盘进入
4、选择修复模式进入
5、mkdir /bak
6、重新挂载sdb,mount /dev/sdb /bak
7、dd if=/bak/mbr.bak of=/dev/sda
8、reboot重启
9、boot修改第一启动项为硬盘,顺利进入系统
grub修复
从光盘启动,进入救援模式,进入修复shell
执行chroot /mnt/sysimage #初始系统已经挂载到了/mnt/sysimage下面,想要进入初始系统下面,需要执行chroot /mnt/sysimage命令
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
reboot

被折叠的 条评论
为什么被折叠?



