登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞哥的技术博客

世上无难事,只怕有心人!

 
 
 

日志

 
 
 
 

恢复GRUB的常用方法  

2010-06-10 16:02:50|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

关于恢复GRUB的常用方法

200712月初到到到现在我已经没有用Ubuntu了,但如何修复GRUB这个问题我也一直没有忘记。

这里有两种方法来修复我们的GRUB,一种是从系统光盘启动修复,另一种则是用U盘来制作一个GRUB启动盘。

 

一,从光盘启动恢复(附:没有光盘)

方法1: 使用引导光盘

先用 debian/ubuntu 安装CD开机,在 "boot:" 提示号出现时, 键入 "rescue"

当作开机参数,eg:

boot: rescue

顺着屏幕上的指示跟着作, 例如 假设 /boot 磁盘分区位于 /dev/hda ,则直接输入:

grub-install /dev/hda

这样grub就恢复了,重启就可以看到启动菜单。

 

方法2:

如果没有光盘,那么重装windows之前,你可以先将 /boot/grub/menu.lst 放在win下面的某一个盘, 然后再重装win, 当然其实也不需要如此,但是你如果不这样,以后就需要输入很长的命令并且要将当前linux的内核记住, 所以,这里为了方便起见,我们先将这个grubmenu.lst保存好。重装windows完了之后,你需要装一个grub4dos放在C盘中,并且将它所在文件夹命名为grub, --- 为保险起见. 再将里面的grldr文件复制到

C:\ --- C盘的根目录下,然后修改C:\boot.ini 在最后面加入:

C:\GRLDR="Start Grub" --- 就表示这里采用grldr的指向的grub,然后里面的grub4dos的东东指定了多menu.lst的搜索路径,这里前面复制的menu.lst就有用了,直接将它C复制到C的根目录下面就可以,这样重起电脑之后就会发现有"Start Grub",选择它就会load这个menu.lst. 否则如果你事先没有copy这个,那么还是进不了你的Linux,这时就需要手动输入:

kernel /vmlinuz -2.6.17-2-k7 root=/dev/hda3 ro

initrd /initrd.img -2.6.17-2-k7

savedefault

boot

进入Linux之后,再将grub装入mbr: grub-install /dev/hda

注意:上面手写的东西,根据你的内核不同而不同,而且由于我的linux装在主分区的第3号,

所以是 root=/dev/hda3

 

另附grub下面手写进入windows的方法:

root (hd0,0)

chainloader +1

boot

 

二,用U盘制作GRUB启动盘

1,下载一个工具叫USBoot1.7,注意1.7的版本与之前的版本多了一个功能就是增加了对大容量U盘的支持.此次操作会格式化U,所以请先备份好你U盘里面的重要文件.选择好U盘盘符之后点击下面选择工作方式为USB-ZIP模式,这种方式在作启动盘是比较成功(至于原因大家有兴趣自己探索)接下来按照提示走;

 

2,完毕之后呢,我们就拥有一个可以引导的

U盘了.接下来呢,我们要让这个U盘能够能够启动我们的grub程序.下载一个grub for dos的程序,放到u盘中,然后编辑u盘中的autoexec.bat文件,在里面写上

grub --config-file=(sdc0)/menu.lst

这样就可以利用grub来引导了,但在此之前我们要添加一个menu.lst的文件,这个文件作为grub的引导菜单,具体制作方法可以baidu一下,不过我们暂时不需要里面有什么内容,我们只需要运行一个grub命令行就可以了.

然后我们就可以来引导我们的安装程序了.

 

引导安装程序修复系统

为了引导linux系统,我们需要两个文件,一个是vmlinuz,另外一个是initrd.img

这两个文件可以在我们的linux系统镜像中查找,是用来初始化内核和一些环境的

将这两个文件拷贝到U盘上,然后到grub命令行下,输入

kernel (hd0,0)/vmlinuz (注意这里的(hd0,0)应该是用U盘启动之后他自动将U盘作为第一快硬盘的第一快分区了,如果提示找不到该文件的话,试下其他的)

initrd (hd0,0)/initrd.img (初始化镜像)

boot 镜像文件名.iso (引导镜像文件,即我们下载的安装镜像)

然后我们就可以看到熟悉的安装界面出现了,此时我们再按下Alt+F2进入命令行界面,首先挂载我们原先的linux系统到安装临时系统上,

mkdir /mnt/linux (建立挂载文件夹)

mount /dev/hda4 /mnt/linux (挂载,这里的sdc是我的设备号,具体大家可以用fdisk -l命令查看一下自己原先的linux是哪个设备,不行的话可以试着挂载 一下)

root /mnt/linux (将当前命令行切换到原来linux系统的 这样之后的操作都是针对原先系统的了)

grub (进入grub)

root (hd0,5) (设置grub引导根分区所在地)

setup (hd0,0) (grub安装在第一块硬盘的mbr上面,这样windows分区也可以用grub来引导了)

退出,重启,引导第一快硬盘即可看到熟悉的grub又出来了.grub是一个比较优秀的引导程序,我们也可以利用这种思想来制作一个grub界面的超级启动U,这样以后不管windows还是linux系统怀了都可以用他来修复了

  

引文来源  关于恢复GRUB的常用方法 - 红联Linux门户 - 中国领先的Linux技术网站 - 网站导航 - Linux发行版技术 - Ubuntu

  评论这张
 
阅读(505)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018