QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3022|回复: 25

关于grub的一个问题。

[复制链接]
发表于 2007-6-6 15:56:22 | 显示全部楼层 |阅读模式
我的机器装的是xp和rh 8.0,grub装在hda(MBR)。
机器的分区情况大致情况是:
hda1   C盘
hda3   /
hda4   /home
hda中的扩展分区中分了一部分作为linux交换分区
hda5   E盘
hdb1   D盘
hdb5   F盘

今天用ghost恢复hda3,即linux根分区,按理来说应该是不会影响grub的,因为grub在MBR,对吧?但结果却是grub没有了,所以我也就无法引导任何系统了。

于是我又利用ghost把C盘恢复,因为之前我给C盘以及hda3做备份的时候grub是完好的。所以我想如果把C盘恢复,应该grub就能恢复了。但此操作没有效果。

只好试试修复了。放入rh 8.0第一张安装盘,进入linux rescue 模式试图修复grub。
在  grub>  状态下进行如下操作:
grub>root (hd0,3)  回车
出现一行提示,大意是说hda3的文件格式是ext3
grub>setup (hd0)  回车
此时出错,提示: check if /boot/grub/stage1 exists ...no
check if /boot/stage1 exists  ...no
File not find.

怎么会这样?按理grub应该是好好的待在MBR才对,怎么就会出错了。
下次我碰到想恢复linux分区的时候,应该怎么办?

谢谢。
发表于 2007-6-6 22:24:10 | 显示全部楼层
你的分区不对,(hd0,3)=hda4, hda2呢?
回复

使用道具 举报

 楼主| 发表于 2007-6-7 09:19:07 | 显示全部楼层
[quote:489fb92bc9="cobranail"]你的分区不对,(hd0,3)=hda4, hda2呢?[/quote]

分配给扩展分区了,而我们也知道,D盘等盘一般都是扩展分区里面的,我的也是这样。
回复

使用道具 举报

发表于 2007-6-8 00:27:47 | 显示全部楼层
既然能进Linux rescue,那为什么不让系统加载硬盘呢?
内核一致,加载proc应该不成问题。
chroot /mnt/systemimage(我忘了叫什么名字了)
grub-install /dev/hda不是更好吗?
官方也是支持用这种办法修复grub的,一般不要用grub命令──据说不安全。
回复

使用道具 举报

 楼主| 发表于 2007-6-9 21:48:10 | 显示全部楼层
[quote:e1cca78f8e="binbindatou"]既然能进Linux rescue,那为什么不让系统加载硬盘呢?
内核一致,加载proc应该不成问题。
chroot /mnt/systemimage(我忘了叫什么名字了)
grub-install /dev/hda不是更好吗?
官方也是支持用这种办法修复grub的,一般不要用grub命令──据说不安全。[/quote]

当时我也试了 “grub-install /dev/hda”命令,但是提示也是找不到文件之类的。不知道为什么。
回复

使用道具 举报

发表于 2007-6-10 09:36:48 | 显示全部楼层
你应该写成:
grub>root (hd0,2)

grub>setup (hd0)



看这样行没有!!应该没问题了!!
回复

使用道具 举报

发表于 2007-6-10 10:07:49 | 显示全部楼层
是否应该将Linux的分区划分到硬盘的最后?
回复

使用道具 举报

发表于 2007-6-10 10:12:27 | 显示全部楼层
[quote:ecd51f628a="DRIFT"]是否应该将Linux的分区划分到硬盘的最后?[/quote]


这个好像没有规定,在那里都行。
回复

使用道具 举报

 楼主| 发表于 2007-6-10 11:03:48 | 显示全部楼层
[quote:f34d3b6bd5="Vheavens"]你应该写成:
grub>root (hd0,2)

grub>setup (hd0)



看这样行没有!!应该没问题了!![/quote]

但是hda2是扩展分区啊,应该不行吧???
回复

使用道具 举报

发表于 2007-6-10 11:51:44 | 显示全部楼层
莫非你分了多个主分区
回复

使用道具 举报

发表于 2007-6-10 13:20:59 | 显示全部楼层
ghost 好像分区备份不备份 MBR 数据,所以 grub 在恢复 XP 后不能回来。
grub 可能需要在安装的时候确定 grub 文件所在扇区,但因为 ghost 的备份和恢复是基于文件的,ghost 恢复导致文件地址发生变动,grub 因为找不到数据无法继续引导系统。
我觉得这样导致你的机器出了问题。

grub 用 chroot 后 grub-install 最快捷。
回复

使用道具 举报

发表于 2007-6-10 18:25:15 | 显示全部楼层
[quote:495b2eaa3b="dpx4086"][quote:495b2eaa3b="Vheavens"]你应该写成:
grub>root (hd0,2)

grub>setup (hd0)



看这样行没有!!应该没问题了!![/quote]

但是hda2是扩展分区啊,应该不行吧???[/quote]

hd0,2是hd0上的第3个分区,hd0,1是hda2。把linux放到最后是最省心的。
回复

使用道具 举报

 楼主| 发表于 2007-6-12 09:08:05 | 显示全部楼层
"hd0,2是hd0上的第3个分区,hd0,1是hda2。把linux放到最后是最省心的。 "

???

hd0,2 怎么是第3个分区了,第三个分区不应该是 hd0,3 吗?
回复

使用道具 举报

 楼主| 发表于 2007-6-12 09:14:20 | 显示全部楼层
[quote:e0dde29ede="Parakeet"]莫非你分了多个主分区[/quote]

恩,四个主分区。
回复

使用道具 举报

 楼主| 发表于 2007-6-12 09:23:39 | 显示全部楼层
[quote:fc9e721a81="jiangtao9999"]ghost 好像分区备份不备份 MBR 数据,所以 grub 在恢复 XP 后不能回来。
grub 可能需要在安装的时候确定 grub 文件所在扇区,但因为 ghost 的备份和恢复是基于文件的,ghost 恢复导致文件地址发生变动,grub 因为找不到数据无法继续引导系统。
我觉得这样导致你的机器出了问题。

grub 用 chroot 后 grub-install 最快捷。[/quote]


如果是这样,那么有什么办法在恢复系统的时候保住grub???

因为我如果恢复系统,那么grub就不能用了,试过用安装盘重新安装引导程序,但是最后总是提示说引导程序没有更新,,,用grub-install 则是提示找不到文件。
郁闷。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-13 19:40 , Processed in 0.060111 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表