Linux 引导修复
系统引导是一个操作系统运行的开始,若是引导出现问题,系统便无法正常使用,那有没有方法修复呢?答案是有的。 CentOS7 引导过程1.开机自检 MBR 扇区故障修复
备份 MBR 扇区数据1.准备另一块硬盘用于 [[email?protected] ~]# fdisk /dev/sdb [[email?protected] ~]# 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.挂载 [[email?protected] ~]# mkdir /bak [[email?protected] ~]# mount /dev/sdb1 /bak/ [[email?protected] ~]# 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.备份 [[email?protected] ~]# ls /bak/ [[email?protected] ~]# 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/秒 [[email?protected] ~]# ls /bak/ sda.mbr.bak 模拟 MBR 扇区故障1.人为覆盖 [[email?protected] ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1 记录了1+0 的读入 记录了1+0 的写出 512字节(512 B)已复制,0.000157851 秒,3.2 MB/秒 2.重启 [[email?protected] ~]# init 6 3.无法启动 恢复 MBR 扇区数据1.使用光盘或U盘启动盘进行操作系统引导 2.进入 3.进入 4.进入 mkdir /bak mount /dev/sdb1 /bak ls /bak dd if=/bak/sda.mbr.bak of=/dev/sda reboot 5.恢复成功 GRUB 引导故障修复
模拟 GRUB 故障1.删除配置文件 [[email?protected] ~]# cp -p /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak [[email?protected] ~]# rm -f /boot/grub2/grub.cfg [[email?protected] ~]# init 6 2.无法启动 修复 GRUB 故障前面部分和上面一样,同样进入系统急救模式进行修复。 1.加载系统镜像,切换到待修复的 chroot /mnt/sysimage/ 2.在 grub2-install /dev/sda 3.重新构建 grub2-mkconfig -o /boot/grub2/grub.cfg 4.退出并重启,等待系统启动 exit reboot 遗忘 ROOT 密码当忘记 很简单,操作如下: chroot /mnt/sysimage/ echo "000000" | passwd --stdin root 或 passwd root exit reboot (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |