linux系统无法正常启动----故障集(grub)

修复命令

(1) grub-install
安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件
到 DIR/boot目录下

grub-install --root-directory=DIR /dev/DISK

–root-directory=指定跟在哪(/boot所在的根)

(2) grub交互式

grub> root (hd#,#)    指定硬盘在哪
grub> setup (hd#)   安装的时候要指定硬盘

一. stage1被破坏

stage1: mbr(前446字节)就是bootloader
在这里插入图片描述
直接回进入光盘启动
选择第三项进入救援模式
在这里插入图片描述

1.用grub命令,

前提是这些文件必须全部存在
在这里插入图片描述

1.1/boot/grub/文件存在

在这里插入图片描述
执行完之后sync强制写入磁盘

也可以使用

1、重启系统按c键,直接进入grub
grub> kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=/dev/sda2 selinux=0
grub> initrd /initramfs-2.6.32-696.el6.x86_64.img
grub> boot
2、通过修改/etc/sysconfig/selinux     把selinux=disabled

1.2/boot/grub/文件不存在

只能用grub-install命令

grub-install  /dev/sda

在这里插入图片描述
然后sysn

2.用grub-install

切根 chroot /mnt/sysiamge
原因:此时所处的位置并不是磁盘上的根,真正的根位于/mnt/sysimage下在救援模式自身是不提供grub-install的只有切根才可以

前提必须是在处于../grub文件夹中 (也就是必须在/boot的上一级目录 / 下面)
就一条命令

grub-install  /dev/sda

二. stage1_5被破坏

mbr之后的扇区比较大(1扇区之后的很多个扇区

在这里插入图片描述
重启会变成这样,
直接进入grub模式
在这里插入图片描述
直接修复
在这里插入图片描述
修复不了(找不到/boot/grub/grub.conf文件
所以只能收工敲内核

grub> kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=/dev/sda2 selinux=0
grub> initrd /initramfs-2.6.32-696.el6.x86_64.img  
grub> boot

在这里插入图片描述
然后启动后马上写一个/boot/grub/grub.conf文件
在这里插入图片描述
这样就ok

三. 如果将/boot删掉

1.简单的删除/boot

所有东西都没了,所以都得修复(grub ,vmlinuz,initramfs.img)
在这里插入图片描述

进入救援模式
没有/boot了
在这里插入图片描述
切根chroot /mnt/sysimage

开始修复
修复grub grub-install /dev/sda

在这里插入图片描述
挂载光盘mount /dev/sr0 /mnt
拷贝vmlinuz文件
在这里插入图片描述
生成initramfs.img文件

mkinitrd initramfs.img  `uname -r`

手写grub.conf文件
在这里插入图片描述

2.删除/etc/fatab和/boot

一.如果linux系统安装时是以逻辑卷方式安装的

在这里插入图片描述
如果这个文件被破坏
在这里插入图片描述
那么chroot就不能切根

首先进入救援模式
提示你没有任何linux分区,敲回车开一个shell
在这里插入图片描述
找不到/mnt/sysimage
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
/boot不能拿逻辑卷做

①先恢复fstab文件

激活卷组

vgchage -ay 卷组名

在这里插入图片描述
然后这些逻辑卷就能被识别了
在这里插入图片描述
挂载root

在这里插入图片描述
创建fstab文件
用里面挂载的是逻辑卷
在这里插入图片描述
然后重启
重新进入救援模式
这就相当于找到操作系统了(把fstab文件修复完了)

②然后修复boot 目录和grub.conf文件

在这里插入图片描述
然后修复/boot文件
切根
挂载光盘
安装kernel 必须强行安装–force
这样直接就能把initrd,vmliuz文件就自动生成了
在这里插入图片描述
在这里插入图片描述
然后强制写入磁盘sync
在这里插入图片描述
生成grub目录
在这里插入图片描述
sync写入磁盘
手写一个grub.conf文件在/biit/grub/grub.conf
在vi中可以结合r!命令 读取文件路径
在这里插入图片描述
sync写入磁盘
重启

二.如果linux系统安装时是以分区方式安装的

首先得知道自己以前的分区是怎么分的(比如那个分区挂载的是哪个文件系统和类型)
在这里插入图片描述
这样在修复的是后就能一一对应(首先截图这一部分)—避免切根后找不到源fstab
在这里插入图片描述
挂载根/dev/sda2
切根后
在这里插入图片描述

重新手写/etc/fstab文件(对应以前分区)
在这里插入图片描述
在这里插入图片描述
sync

重启–再次进入救援模式(这次就会自动挂载/mnt/sysimages)

然后修复/boot目录和grub.confg同上②

四.如果kernel和initrd写反

在这里插入图片描述
在这里插入图片描述
方法一:
选择e编辑
选择o加入新的行 initrd /initramfs.img
d删除第一行initrd /initramfs.img
b重启
进入之后把grub.conf文件修改回去

方法二:
用命令行方式
选择c手工写kernel和initrd

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值