武汉嵌入式培训
达内武汉民大中心

15827352908

热门课程

解析Linux系统下GRUB故障修复

  • 时间:2016-06-22 13:41
  • 发布:嵌入式学习网
  • 来源:嵌入式学习网

在使用Linux的过程中,大多初学者都遇到过系统启动到“grub>”提示符后就停止不前的问题,功夫不深的爱好者可能会束手无策,转而选择重装系统,其实这只是系统出现了一点小问题,既系统的GRUB配置文件出现了故障,此时可以采用以下两种方案来解决问题:

    1)存在GRUB配置文件备份
    如果存在GRUB配置文件备份,则可以比较简单的进行恢复,可以按如下方法进行:
    使用光盘引导机器,进入到“Linux rescue”模式,即系统维护模式;在提示符”sh#”下执行cp命令,将备份文件拷贝到/boot/grub.conf即可
    Sh#cp /backup/grub.conf.bak /mnt/sysimage/boot/grub/grub.conf
    假设备份文件为/backup/grub.conf.bak,因为大多数Linux光盘修复模式中会将硬盘系统的”/”分区chroot到“/mnt/sysimage”处,所以拷贝的目标为“/mnt/sysimage/boot/grub/grub.conf”,而非“/boot/grub/grub.conf”。
    完成后重新启动即可。内核文件、镜像文件、/boot目录等文件损坏或丢失,也可以使用此种方法修复。

    2)如果没有GRUB配置文件备份
    如果没有备份文件时可以使用grub的交换功能,可以在”grub>”命令行下进行以下操作以手动启动系统:
    查找/boot/grub/grub.conf分区所在的目录:
    grub> find /boot/grub/grub.conf
    (hd0,0)
    需要注意的是,上述命令将得到的是grub.conf配置文件所在的系统的分区,(hd0,0)即表示它在分区hda1
    查看grub.conf文件错误使用如下的命令:
    grub> cat (hd0,0)/boot/grub/grub.conf
    需要注意的是,可以查看配置文件到底什么地方出现了错误,以便进入后修改。
    指定/boot分区使用命令:root (hd0,0)
    从此步骤开始,即为本文前面提到的GRUB配置文件的主要引导步骤,只是一般都是系统读取GRUB配置文件,出现问题时我们可以使用手动启动。
    
    指定内核加载的命令:kernel /boot/vmlinuz ro root=LABEL=/
    指定镜像文件所在的位置可用如下命令:initrd /boot/initrd-2.6.24-1.3194.fc7
    从/boot分区启动可以使用如下命令:boot (hd0,0)
    此时系统即可正常启动,实际上以上步骤就是执行了GRUB引导期间加载grub.conf文件的步骤,当系统正常启动后将GRUB配置文件修改正确后即可。
上一篇:在Linux终端下不常用但很有用的查询命令
下一篇:通过Grub启动硬盘上的Linux ISO安装文件

武汉嵌入式培训:嵌入式学习路线

嵌入式开发需要遵守的技术法则

嵌入式开发必知的小技巧

嵌入式入门看哪些书?

选择城市和中心
贵州省

广西省

海南省