恢复Linux操作系统的GRUB引导程序

原创 2006年05月17日 06:20:00

恢复Linux操作系统的GRUB引导程序

   本文使用的示例版本为MagicLinux 1.2 final。因为重装Windows等等误操作常常导致安装到MBR的GRUB引导程序无法再引导系统,也就最终导致了无法进入Linux系统。关于这个问题的解决办法在网上有多种,但经笔者测试都行不通,最终结合网上多篇文章,在ML1.2的grub被WinXP覆盖后成功的恢复了,写下偶的实验经历,共勉。
   笔者的ML1.2安装在/dev/hda11,对应grub下的位置为(hd0,10),注意使用/dev/hdax的方式表示的分区号都是从1开始的,所以到了grub下时需要减去1来表示。grub安装在MBR,在安装WinXP后导致无法进入linux。本文虽然使用ML1.2做例子,但是对版本较新的grub具有通用性。MagicLinux 1.2 final使用的grub版本为0.95。
   先使用一张修复盘进入grub,或者利用其他linux恢复盘等等进入linux系统,然后进入grub控制台。总之就是想尽办法进入一个控制台就是了。然后准备引导进入硬盘上的Linux系统。如下:
grub> root (hd0,10)
grub> kernel /boot/vmlinuz-2.6.9 init 5 ro root=/dev/hda11
grub> initrd /boot/initrd-2.6.9.img
grub> boot

   如上是利用修复盘进入grub后的修复方法,至于自己可以进入其他的控制台修复方法暂时略。如上的过程就可以进入硬盘上的linux系统了。然后开始修复过程。
# grub
grub> root (hd0,10)
grub> setup (hd0)
grub> quit
# grub-install hd0

   如山的步骤将会把grub安装到MBR,任何一个步骤都不可以缺少。如果缺少grub-install步骤则会安装grub到MBR,但是不会显示系统菜单。
   另外,对于MagicLinux1.2final会在最后一步提示找不到grub。这是因为grub-install是一个shell脚本,使用绝对路径寻找grub程序。默认的寻找grub路径为/usr/sbin/grub,可是对ML1.2则是在/sbin/grub。所以只要执行如下语句,复制一下即可:
# cp /sbin/grub /usr/sbin/grub
   这样就可以正确的恢复grub到MBR了。
   本文没有直接写出使用光盘上的控制台修复grub的原因是很多光盘发行版带有的/dev/hdax的数目很小,我手里的一个最大到/dev/hda8,这样根本无法访问/dev/hda11,所以只好放弃。另外即便是光盘发行版也是需要使用grub引导的,在它引导的时候按下"C"键即可进入grub控制台,输入命令来进入硬盘上的Linux。
   最后,推荐还是备份一下做好的MBR,在linux下使用如下命令:
# dd if=/dev/hda of=/root/linux.bin bs=512 count=1
 这里注意使用if=/dev/hda是备份MBR中的数据,如果grub安装在具体的某个分区,则要自己选择了。备份之后的linux.bin文件可以复制到Windows下,备份一份,另一份复制到C盘根目录下。然后修改boot.ini文件,添加如下一行:
C:/linux.bin="Linux"
 这样就可以利用Windows的NT loader来引导linux系统了。以后恢复和修理linux会更加方便。

GRUB启动过程分析 & GRUB 引导程序配置

转自:http://www.51testing.com/html/83/145083-69825.html 计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CM...
  • u011797751
  • u011797751
  • 2015年12月10日 23:37
  • 1506

Linux操作系统GRUB引导程序配置方法大全

1. GRUB 介绍  计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CMOS的配置找到第一个可启动磁盘的MBR中的Boot Loader程序(一般在启动盘的第一个物理扇区,占...
  • eudemon_cn
  • eudemon_cn
  • 2009年10月17日 10:35
  • 626

Linux操作系统GRUB引导程序配置方法大全(1)

Linux操作系统GRUB引导程序配置方法大全(1)ZDNet 软件频道    更新时间:2007-10-08作者:赛迪网    来源:赛迪网本文关键词:   配置  GRUB  操作系统  Linu...
  • jiangxinyu
  • jiangxinyu
  • 2007年10月11日 09:59
  • 634

Linux系统启动流程及grub简单应用

CentOS启动流程650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/C8/wKioL1csh7SjLx-7AAD3NjWmP7...
  • Z_YTTT
  • Z_YTTT
  • 2016年11月03日 13:52
  • 1130

如何开发自己的操作系统的引导程序

当你打开计算机时发生了什么?   1.电源打开;2.BIOS开始执行;3.引导程序开始执行。   引导程序的规定:你要有一个普通的二进制文件(COM 格式);大小是512个字节;最后两个字节一定是0A...
  • zhaobmox
  • zhaobmox
  • 2006年09月28日 16:38
  • 1253

Linux操作系统GRUB引导程序配置方法大全(2)

Linux操作系统GRUB引导程序配置方法大全(2)ZDNet 软件频道    更新时间:2007-10-08作者:赛迪网    来源:赛迪网本文关键词:   配置  GRUB  操作系统  Linu...
  • jiangxinyu
  • jiangxinyu
  • 2007年10月11日 09:59
  • 813

Windows/Ubuntu双系统grub引导程序丢失后恢复

安装windows/ubuntu双系统后的开机引导程序本来是GNU GRUB在引导的,但是由于各种原因使Grub丢失,( 如WINpe开机修复后 ) 开机直接是windows了,那怎么可以重新安装gr...
  • wwwdc1012
  • wwwdc1012
  • 2016年06月22日 19:20
  • 628

Win7 添加grub引导Linux最简单方法

http://www.cnblogs.com/kidfruit/archive/2010/09/01/1814993.html 因为Win7(Vista同理)的激活方式是通过grub摸你O...
  • ztguang
  • ztguang
  • 2016年03月30日 10:28
  • 471

使用grub引导恢复linxu引导

大多数 Linux 计算机使用 Grand Unified Bootloader (GRUB) — 更具体的讲是 GRUB 2 — 来控制从计算机的固件到内核的转移。GRUB 2 提供了复杂的引导时用...
  • li740207611
  • li740207611
  • 2016年01月26日 11:16
  • 4459

Gentoo Linux 安装(七)配置系统引导程序Bootloader

选择一个引导器 完成配置Linux内核、安装系统工具和编辑配置文件,现在是时候去安装Linux安装的最后一个重要的片:引导器。 引导器负责在引导过程中启动内核——如果没有它,系统将不知道按下电源键...
  • a1091311203
  • a1091311203
  • 2016年09月26日 15:46
  • 289
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:恢复Linux操作系统的GRUB引导程序
举报原因:
原因补充:

(最多只允许输入30个字)