Linux 引导修复
程序员文章站
2023-12-24 12:20:15
系统引导是一个操作系统运行的开始,若是引导出现问题,系统便无法正常使用,那有没有方法修复呢?答案是有的。 ......
系统引导是一个操作系统运行的开始,若是引导出现问题,系统便无法正常使用,那有没有方法修复呢?答案是有的。
centos7 引导过程
1.开机自检bios
2.mbr
引导
3.grub
菜单
4.加载内核kernel
与内存文件系统initramfs
5.加载硬件驱动及初始化进程
mbr 扇区故障修复
mbr
引导记录位于物理硬盘的第一个扇区(512b),又称为主引导扇区,除了包含系统引导程序的部分数据外,还包含整个硬盘的分区表记录。
备份 mbr 扇区数据
1.准备另一块硬盘用于mbr
扇区备份数据
[root@localhost ~]# fdisk /dev/sdb
[root@localhost ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242624, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
2.挂载/dev/sdb1
分区
[root@localhost ~]# mkdir /bak [root@localhost ~]# mount /dev/sdb1 /bak/ [root@localhost ~]# df -ht 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 20g 3.4g 17g 17% / devtmpfs devtmpfs 1.9g 0 1.9g 0% /dev tmpfs tmpfs 1.9g 0 1.9g 0% /dev/shm tmpfs tmpfs 1.9g 9.1m 1.9g 1% /run tmpfs tmpfs 1.9g 0 1.9g 0% /sys/fs/cgroup /dev/sda5 xfs 10g 37m 10g 1% /home /dev/sda1 xfs 2.0g 174m 1.9g 9% /boot tmpfs tmpfs 378m 8.0k 378m 1% /run/user/42 tmpfs tmpfs 378m 0 378m 0% /run/user/0 /dev/sdb1 xfs 20g 33m 20g 1% /bak
3.备份mbr
扇区数据
[root@localhost ~]# ls /bak/ [root@localhost ~]# dd if=/dev/sda of=/bak/sda.mbr.bak bs=512 count=1 记录了1+0 的读入 记录了1+0 的写出 512字节(512 b)已复制,0.000289995 秒,1.8 mb/秒 [root@localhost ~]# ls /bak/ sda.mbr.bak
模拟 mbr 扇区故障
1.人为覆盖mbr
扇区记录
[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1 记录了1+0 的读入 记录了1+0 的写出 512字节(512 b)已复制,0.000157851 秒,3.2 mb/秒
2.重启
[root@localhost ~]# init 6
3.无法启动
恢复 mbr 扇区数据
1.使用光盘或u盘启动盘进行操作系统引导
2.进入troubleshooting
疑难解答模式
3.进入rescue a centos system
系统急救模式
4.进入shell
环境,进行恢复
mkdir /bak mount /dev/sdb1 /bak ls /bak dd if=/bak/sda.mbr.bak of=/dev/sda reboot
5.恢复成功
grub 引导故障修复
grub
是大多数linux
系统默认的引导程序,可以通过启动菜单的方式选择进入不同的操作系统。若是配置文件丢失,或者关键配置出现错误,就无法完成启动过程。
模拟 grub 故障
1.删除配置文件
[root@localhost ~]# cp -p /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak [root@localhost ~]# rm -f /boot/grub2/grub.cfg [root@localhost ~]# init 6
2.无法启动
修复 grub 故障
前面部分和上面一样,同样进入系统急救模式进行修复。
1.加载系统镜像,切换到待修复的linux
系统根环境
chroot /mnt/sysimage/
2.在sda
的mbr
扇区重新安装grub
引导程序
grub2-install /dev/sda
3.重新构建grub
菜单配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
4.退出并重启,等待系统启动
exit reboot
遗忘 root 密码
当忘记root
密码时,将无法在linux
系统上执行管理、维护等任务。又无法通过其他用户修改密码时,同样可以使用急救模式修改root
密码。
很简单,操作如下:
chroot /mnt/sysimage/ echo "000000" | passwd --stdin root 或 passwd root exit reboot