CentOS 6和CentOS 7丢失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
相关推荐
85407718 2020-08-09
CARBON 2020-07-28
changecan 2020-11-19
ECSHOP专属建设 2020-11-13
88427810 2020-11-02
步知道 2020-10-27
Junzizhiai 2020-10-10
jackalwb 2020-10-05
小网管 2020-09-03
shiwenqiang 2020-09-14
85251846 2020-09-14
summerinsist 2020-08-21
87901735 2020-08-19
PinkBean 2020-08-11
MichelinMessi 2020-07-30
suosuo 2020-07-28
lizhengfa 2020-07-27
88427810 2020-07-26