CentOS丢失grub.conf后如何启动系统

丢失grub.conf后系统重启进入grub>命令行界面


这里写图片描述


CentOS6下的解决办法


  • 先将根指定为boot分区

     grub> root (hd0,0)   
     #这里指定为第一块硬盘hd0的第一个分区0,根据你实际系统的分区指定
    
  • 指定内核的位置和真正启动后根分区的位置

      grub> kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/sda3
      #指定内核的位置,基于上一步指定的根的位置,ro(readonly),root=/dev/sda3 指定系统实际的/分区
    
  • 指明initramfs路径,启动系统时加载驱动

     grub> initrd /initramfs-2.6.32-504.el6.x86_64.img
     #指定initramfs的位置,系统有多个内核时,确认好对应的版本。
    
  • 启动

      grub> boot
      #上述都确认后,输入boot命令启动。如无法正常启动,请再次检查上面步骤参数。
    
  • 系统启动后,重新生成grub.conf

     #这个没有找到命令,可以从其他机器拷贝一份,或者自己写一个。
     #CentOS7中有命令可以自动生成!
    

这里写图片描述
这里写图片描述
这里写图片描述


CentOS7下的解决办法


  • 查看有所有的磁盘分区

     grub> ls   
     (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (fd0)
     #硬盘hd0的第一个分区msdos1相当于sda1
    
  • 确定boot分区

     grub> ls (hd0,msdos1)/grub2
     #我的sda1为boot分区,按情况修改。
     #如果boot分区没有单独挂出来的话,可以指定/分区查看,如下:
     grub> ls (hd0,msdos3)/boot/grub2
    
  • 将boot分区指定为临时根分区

     grub> set root=hd0,msdos1
     #和centos6相比略有区别
    
  • 指定内核的位置和真正启动后根分区的位置

      grub> linux16 /vmlinuz-3.10.0-514.el7.x86_64  root=/dev/sda3
      #linux16或者linuxefi命令指定内核的位置,基于上一步指定的根的位置
      #root=/dev/sda3 指定系统实际的/分区
    
  • 指明initramfs路径,启动系统时加载驱动

     grub> initrd16 /initramfs-3.10.0-514.el7.x86_64.img
     #使用initrd16或者initrdefi命令指定initramfs的位置,系统有多个内核时,确认好对应的版本。
    
  • 启动

      grub> boot
      #上述都确认后,输入boot命令启动。如无法正常启动,请再次检查上面步骤参数。
    
  • 系统启动后,重新生成grub.cfg

      # grub2-mkconfig -o /boot/grub2/grub.cfg
      注意:grub配置文件的位置和名字
            CentOS6中为/boot/grub/grub.conf
     	   CentOS7中为/boot/grub2/grub.cfg
    

这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值