引言:

GRUB是一个多重操作系统的启动管理器。用来引导不同的系统,如windows,Linux。
一般来说要先装Windows,后装Linux,这样grub才能生效(grub存在于linux的安装中)。

这两天我重装了Windows,grub就不起作用了,也无法进入linux了(grub设置的默认进入windows)。
在不想重装linux的情况下,需要对grub进行重装,将搜集的资料及验证的结果整理后存放于此。

准备工作:
   确认linux系统的根分区所在位置。比如我的Redhat9.0的根分区安装在第一块硬盘的第3个分区上,写成
   grub识别的指令即为 root (hd0,2),序号从0开始。

Note:
      下面的root与(hd0,2)之间存在一个空格,setup与(hd0)之间也存在一个空格。

修复GRUB的方法:

. 把Linux安装光盘的第一张放到光驱,然后重新启动机器,在BIOS中把系统用光驱来启动。
. 等Linux的安装界面出来后,按[F5],进入 linux rescue模式。(也可以不进入rescue模式而在boot:
提示符出现后,键入“linux single root=/dev/hdxx initrd= ”注释:hdxx为你的linux 系统所在的分
区,比如我的Redhat9.0存放与第一块硬盘的第4个分区,则为/dev/hda4)
. 进入linux rescue模式后需要进行一些键盘以及几项简单的配置(按ok即可),过了之后就[继续]了……
. 然后会出现这样的提示符:
sh# (Redhat9.0为sh-2.05#)
. 此时可以对grub进行操作, 键入 grub:
sh#grub
会出现这样的提示符:
grub>
. 在grub>提示符后面键入:
grub>root (hdX,Y) 注释:告诉系统你的linux根分区所在的分区 (我的Redhat9.0对应的为root (hd0,))
如果记不清,可以在键入“root (hd”之后,按一下Tab键。
顺利的话再键入
grub>setup (hd0) 注释:把grub装入主引导区(MBR),也可以键入setup (hdX,Y)将grub装在你想装的位置。
如果成功,会有一个successful...
. grub>quit 注释:退出grub
. sh#exit 注释:退出shell

之后重启,如果(hdX,Y)没错的话,就可以用grub引导了。

但是,有可能一些原因导致虽然修复成功,但还是不能引导,直接进了windows。
             如下:grub loading stage 1.5
                     grub loading please wait...
                   之后直接进入windows...

主要原因还是grub的问题,修复成功,但是盘符有错。(一般是系统引导的盘符与你root时不一致引起的)

解决方法:
找到文件grub.conf,并对其进行修改。 按上述步骤重新进入rescue模式后,
sh#cd /mnt
sh#cd sysimage 注释:实际的linux系统被挂载在/mnt/sysimage目录下
sh#cd boot
sh#cd grub
sh#vi grub.conf
对照是否与你之前root (hdX,Y)一致。一般都是这里出了问题,将其改回来即可,操作与linux下相同。

问:hda与hd0有什么不同?

主要是命名的问题。hda是从字母开始命名,hd0是从数字开始。
    hda=hd0
    hda8=(hd0,7)  注释:hda是从hda1开始的

[转载]如何重装Grub,使其可以引导双系统的更多相关文章

  1. 双系统开机引导菜单修复方法 进win7无须重启|metro引导|双系统菜单名字修改

    此文转自互联网,一部分是原创. 主要内容 1.修复双系统菜单(win7与win8双系统),进入win7不再需要重启,普通菜单样式(普通引导,非metro界面),更加简洁,实用,开机即可选择操作系统 2 ...

  2. 转载:在Ubuntu系统下装Win7并引导双系统

    转载自http://blog.sina.com.cn/s/blog_9f6451990101blef.html 本人的系统原先是就单ubuntu系统,而且是未分区情况下自动安装的,现在又装了个wind ...

  3. Ubuntu杂记——双系统重装Win7后找不到Ubuntu的解决办法

    之前装过Ubuntu和Win7的双系统,后来重装了Win7,发现Ubuntu不见了,那会没怎么用,也没去解决问题.现在再看Android内核剖析,大部分都是在Ubuntu环境下进行的,所以百度了一些方 ...

  4. 使用u盘重装双系统中的乌班图

    之前的乌班图被我玩坏了,故而想重装一个.由于之前的双系统是同学帮我装的,我便到网上找各种资料,鼓弄了一天,终于完事了.把过程记录一下. window10 64bit ubuntu 14.04 desk ...

  5. 解决Windos7中优盘安装centos7后无法引导原系统问题

    一前言 最近学习Linux操作系统,打算在原Window7系统中装centOS7系统,使笔记本上跑双系统.将系统D盘的文件转移后,删除卷标,将U盘做成CentOS7启动盘,进行正常安装.此为前提. 但 ...

  6. Linux/Windows双系统引导修复

    安装双系统建议先安装windows,然后在安装Linux,使用Linux(grub2)引导双系统 如果重新安装了windows,则无法引导进入linux,需要修复引导 在windows下安装easyB ...

  7. 记录-UEFI启动的预装WIN8的笔记本里引导linux双系统

    新买了个联想笔记本,预装了WIN8,引导方式不再是几年前的MBR-BOIS引导了,是UEFI引导,所以,之前的grub4dos引导双系统方式都没用了. 现在把我装linux的关键过程记录下来,以备忘. ...

  8. Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改

    今天帮童鞋重装系统,他的电脑是Windows.Ubuntu双系统,需要重装的系统是windows,据说是因为很多游戏都只支持64位,要给换成64位的 = =...      于是我就帮他装了个wind ...

  9. ubuntu10.04+win7双系统,重装win7后,恢复grub引导菜单以及命令行引导linux

    我在我的小Y上安装了ubuntu10.04和win7旗舰版的双系统,采用的是grub引导.今天win7不知道哪儿出了问题,windows update更新一直报错,(当然360也是打不上滴)网上查了很 ...

随机推荐

  1. android安全问题(八)伪造短信(利用原生android4.0漏洞)

    导读:本文利用android4.0的一个原生漏洞来伪造短信.无须声明任何权限即可伪造发送方为任何号码的短信给用户. android4.0发布已经是很久很久很久很久以前的事情了,这个漏洞早就报了出来,之 ...

  2. zend studio-字体大小设置

    在使用zend studio的过程中为了方便我们编码,很多时候需要设置编码的字体的大小,设置步骤如下: 选择[Windows]-[preference]-[general]-[appearance]- ...

  3. Unsupervised Feature Learning and Deep Learning(UFLDL) Exercise 总结

    7.27 暑假开始后,稍有时间,“搞完”金融项目,便开始跑跑 Deep Learning的程序 Hinton 在Nature上文章的代码 跑了3天 也没跑完 后来Debug 把batch 从200改到 ...

  4. 菜鸟学习-C语言函数参数传递详解-结构体与数组 分类: C/C++ Nginx 2015-07-14 10:24 89人阅读 评论(0) 收藏

    C语言中结构体作为函数参数,有两种方式:传值和传址. 1.传值时结构体参数会被拷贝一份,在函数体内修改结构体参数成员的值实际上是修改调用参数的一个临时拷贝的成员的值,这不会影响到调用参数.在这种情况下 ...

  5. requestFocusFromTouch , requestFocus

    /*if(userNameEditText.isInTouchMode()){ userNameEditText.requestFocusFromTouch(); }else{ userNameEdi ...

  6. 场景类(CCSence)

    场景与流程控制 在图2-1中,每一个节点中显示的内容相对不变.通常,我们把这些内容相对不变的游戏元素集合称作场景(scene),把游戏在场景之间切换的过程叫做流程控制(flow control). 在 ...

  7. SecureCRT 中 python 命令行使用退格键(backspace)出现 ^H 解决办法

    选项-->会话选项-->映射键 勾选"其他映射"中的两个选择框

  8. Java对象与Json之间的转换

    使用Jackson的ObjectMapper对象的readValue和writeValueAsString方法可以进行转换. 对于简单基本类型或String类型的对象,使用上述方法可以满足. 但是如果 ...

  9. js内置函数的使用

    arguments对象是一个参数对象,可以访问有操作和无操作的参数,能够获得每个参数的内容,参数的个数,例如:arguments[0];获第一个参数,arguments.length;获得参数的个数, ...

  10. C#读取Excel文档

    上面分别是Excel文档的内容和读取结果: 奉上C#源代码: using System; using System.Data; using System.Data.OleDb; namespace R ...