QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1997|回复: 9

Ghost恢复windows/linux Grub被破坏?

[复制链接]
发表于 2005-12-31 15:28:36 | 显示全部楼层 |阅读模式
早上Ghost恢复windows/linux Grub被破坏
进不去linux了。。
情况是这样:
一个IDE硬盘分三个区分别为:c,d,e
c,d为FAT32
e为linux分区。
现在我没有redhat第一张引导光盘,
只有在D盘上有iso文件。但是用iso引导只有文本方式安装。没有那个修复grub的。。请问怎么办呢?
发表于 2005-12-31 16:11:04 | 显示全部楼层
ghost 恢复会破坏 grub?不会吧?
我没碰到过。

要真的被破坏了,就装个 grub for dos,进入系统之后再恢复 grub。
回复

使用道具 举报

 楼主| 发表于 2005-12-31 16:13:45 | 显示全部楼层
grub for dos
这个我在windos下装了。然后也引导进dos了。打grub运行他了。
但是接下去就不知道什么命令了?
回复

使用道具 举报

发表于 2005-12-31 16:45:45 | 显示全部楼层
用WinGrub来引导Linux安装
       一、关于系统引导管理器的简单介绍;

    wingrub 是一款系统引导管理程序,和windows的ntloader 相似,比如我们在安装windows 98 后,又安装了        windows 2000,我们在机器启动的时候,会看到有两个菜单,一个是windows98的,另外是windows 2000的;

    系统引导管理器,相当于一个容器,把机器中所有的系统的引导都装载在管理器中,管理所有的系统的引导和启动,这样方便了我们在一台机器上安装多个操作系统,并且我们有绝对的能力来控制在机器中的所有系统的引导;比如在开机的时候,出来一个菜单,让我们选择所进入的操作系统;

系统引导管理器grub就是一个多操作系统的引导管理器;wingrub是grub的windows版本;

    目前我所接触过的系统引导管理器有:

    grub 目前几乎有的Linux操作系统,都采用grub 作为默认的引导管理器;能引导Linux ,也能引导Winodws,功能强大,几乎无所不能;配制简单方便,建议大家使用;而我们目前做以介绍的wingrub,就是grub的windows版本,用法和windows的grub没有太大的区别,在windows中,只是轻点鼠标,就能安装上,使用和配置和Linux版本没有太大的区别;

    lilo 这个是linux 最老的引导管理器,能引导linux ,也能引导windows ;由于历史设计的原因,使得lilo一度是落后于grub ;不过目前又一些发行版做为默认的系统引导,比如 Slackware ;

    yaboot 系统引导管理器,这个是用在powerpc架构机器上的,对普通的X86机没有任何用处,能引导Unix类的操作系统,也能引导MACOS ;

    所以对于我们来说,grub是最实用的,因为他能管理多个系统,而且还能在windows中用;这也是我们在安装Linux的时候,选择wingrub的理由;

    二、wingrub的安装:

    1、下载地址:http://grub4dos.sourceforge.net 或:http://fedora.linuxsir.org/main/files/WINGRB0206.EXE

    在上面的网址中,有下载页面,里面说的就是wingrub;

    2、安装:

    1]安装grub软件到机器中,点鼠标应该会吧,就直接按它默认的安装,下一步、下一步就安装好了;没有什么难的看几张图;








    2]安装grub;

    打开 wingrub程序,选择 tools菜单,然后点击 install grub ,出来一个对话框;如下图所示:






    这里面有两个方法供我们选择;

    A) 我们直接点一下Boot From Grub Partion 就行,然后点击,右边的下接框;选择要安装在哪个分区中,然后按最下边[install];

    您可能在下拉的菜单的对话框中,看到的是 (hd0,0)或者 (hd0,1)等,那就选(hd0,0);如果您只看到(hd0,1),说明您的第一个分区是NTFS的,这也没有什么,很正常;如果您看不到什么下拉框,您就看下面的办法;

    B)您可以点 Systerm Device ,然后在右边的选择框中,选C ; ,然后再点BOOT FROM BOOT.INI 就好,如果不行就换;在Title 中写入mygrub ; 然后在 Time OUT 写上 10;

    这样grub就安装好了;他的配置文件在 c:\boot\grub\中 ,配置文件是c:\boot\grub\menu.lst ,这个配置文件起到决定性作用;所以我们一定要写好;语法和Linux中的没有区别;是一样的;

    A和B还是有点小小的区别,A的方法是开机就能看到所有的在menul.lst中系统;而 B,则必须按一下刚才我们所填写的mygrub ,然后才能看到在menu.lst所提到的系统;

    3、配置 grub ;

    其实最简单的配置方法不是来自于图形的点鼠标,初学Linux的弟兄可能会说,我不点鼠标,我能做什么?呵。。。。没错,但在配置 grub的过程中,最没有效率的就是点鼠标;其实我们点了十几分钟的鼠标,也是达到一个目的,就是把grub配置起来。而他的配置文件就是c:\boot\grub\menu.lst ,我们挥汗如雨的点鼠标,无非是配置这个文件;如果不用点鼠标的办法来配置,

    一分钟都不到就OK ;只要掌握一点小小的技巧;有何难呢??

    在配置 c:\boot\grub\menu.lst的过程中,我们只是再用一下 wingrub的查看分区的界面,其它的只是用记事本就能写好;c:\boot\grub是隐藏起来的,我们要在游览器中加入c:\boot\grub 就

    可以看得到;

    0]打开wingrub,点tools =》partioinlist (分区列表),这里能了解到机器的分区,比如我们可能看到的 FAT32的分区是 (hd0,1)等等,事实上,我们的确需要fat32分来来存放下载的Linux光盘映象;我们通过这个能知道我们把光盘ISO存放到(hdX,Y)了,也能知道(hdX,Y)所对应的Windows分区的是哪个,是C,还是D ,还是E ,明白了吧;






    1]首先我们找一个FAT 32的分区,把下载下来的ISO直接放到分区的下面,不要放在任何目录中;

    2]还是在这个分区,建一个目录,比如是linux,从下来下来的第一张ISO中isolinux中抽取 vmlinuz 和 initrd.img 两个文件,放到linux目录中; 注意只放这两个文件,不要放其它的内容,如果放了其它的,可能出现安装到中途退出的情况;

    注意:目录是名是小写的;在书写menu.lst 时,我们要用半角英文,标点之类的全是半角的;title root kernel initrd 全是小写的英文;切注意大小写;

    3]书写menu.lst ,怎么书写,对我来说难吗?不难!

    我们打开menul.lst 后,可能里面已经有内容了,比如有个 timeout 10 ,如果没有这行可以自己写上;没有什么难的;

    timeout 10 #这是开机等待进入系统的时间,是10秒

    title WindowsXP # 我们的机器 中都有 windows ,这个就是用来启动windows的;总共有四行,不要弄错了,可以照抄到你的配置文件中;
    root (hd0,0)
    makeactive
    chainloader +1

    简单的 menu.lst 配置 linux 引导说明;通过menu.lst ,我们可以配置 Linux的启动和引导;不只是安装的引导,也可以引导已经安装好的Linux系统;语法结构有下的四条,举例如下:总共有两个书写格式,任选其一;

    格式一:最简单:

    title fc4install
    root    (hd0,1)
    kernel (hd0,1)/linux/vmlinuz
    initrd (hd0,1)/linux/initrd.img

    title 这行就是我们在开机时,所看到的菜单 ,显示的就是 fc4install ,要加在 title 的后面,title是必须保留的,是grub的语法的标签 ,我们可以在title 后面写我们想要加的东西,这是自己可以定义的,比如 title fc4setup也是可以的;

    root (hd0,1) 这行能用 以root开头,然后加一个空格,至于您把vmlinuz和initrd.img 放在哪个分区了,用打开 wingrub,点tools =》partioinlist (分区列表) 中查到

    kernel 这行,以kernel 开头,然后加一个空格,主要说的是vmlinuz文件放在哪个分区,哪个目录了;除了kernel 后面有一个空格外,在这行中,其它地方没有空格;这行说的是我们用放在(hd0,1)分区下的linux目录中的kernel 来内核来启动;

    initrd 这行, 和 kernel 那行类似;没有什么难的,自己的文件放在哪个分区,哪个目录了,自己最知道吧;

    格式二:比较麻烦一点:理解着看吧;

    title fc4install
    root    (hd0,1)
    kernel /linux/vmlinuz  ro root=/dev/hda2
    initrd  /linux/initrd.img

    title 这行就是我们在开机时,所看到的菜单 ,显示的就是 FC4install ,要加在 title 的后面,title是必须保留的,是grub的语法的标签 ,我们可以在title 后面写我们想要加的东西,这是自己可以定义的,比如 title fc4setup也是可以的;

    root 这行,在本例中是 root (hd0,1),这行就是我们打开 wingrub,点tools =》partioinlist (分区列表) 中查到的;我们通过这个知道我们把解压出来的 vmlinuz和initrd.img 所处的分区和路径;比如我的机器,我查到的是 (hd0,1),对应的Windows FAT 32分区是D,事实上,我的确把四个光盘映象都放在了 (hd0,1),也就是win中所看到的D盘; 并且我同样也把提取出来

    vmlinuz 和initrd.img 放在了(hd0,1)中的linux目录中; 不知道自己存放提取出来的内容放在哪个分区了,就用 打开 wingrub,点tools =》partioinlist (分区列表) 中查看;

    kernel 这行;注意在 kernel后面有个空格,接着写 vmlinuz所处的位置 ,在哪里呢?在 /dev/hda2,这个/dev/hda2是怎么来的?是由(hd0,1)而来的,如果您的显示的是 (hd0,2),那root=/dev/hda3,明白了吧,就是(hdX,Y)中的Y+1=Z,就是/dev/hdaZ ,再举一例:比如我们把提出来的vmlinuz 和initrd.img 放在了 (hd0,5)的linux 目录中,这时应该写 root=/dev/hda6 ;

    有可能有的弟兄说,我放在了 (hd1,6)的分区,这怎么办?这个也不难,我们这里面的所提到的 (hdX,Y),中的X可能是0 、1、2等 ,所以对应的是 hdaZ ,hdbZ,hdcZ ,如果您看到的是(hd1,6) ,所以对应的是/dev/hdb7 。

    initrd 这行,原样搬上就好;

    所以完整menul.lst 举例应该是:其中#号不作解析,grub启动的时候是是忽略过去的;可在在#号后面加些注释之类的; 在这之中,引导Linux的,有两种写法,都在里面,哪个都是可以启动引导安装的;

    timeout 10

    #######################
    #####这是第一种写法

    title fc4install
    root    (hd0,1)
    kernel (hd0,1)/linux/vmlinuz
    initrd (hd0,1)/linux/initrd.img

    #######################
    #####这是第二种格式的写法
    title fc4install
    root    (hd0,1)
    kernel /linux/vmlinuz  ro root=/dev/hda2
    initrd /linux/initrd.img

    #######################
    title WindowsXP
    root (hd0,0)
    makeactive
    chainloader +1

    这样就能进入引导安装,如果还是不行,找不到什么什么之类的,一是您没有看好你的文件存放在哪个分区哪个目录中 ;如果能引导进入安装,我们要选择本地硬盘,至于是哪个分区,只要您把ISO映像放在FAT 32磁盘的根目录下,按个分区选择,按回车就是了。成功的时候,系统会出现各种提示信息;

    在安装过程中,以下的几个情况是要注意的:

    1、在FC4的安装过程,安装时要自定义, 不要让系统自动分区;要自己指定Linux 安装到哪个分区。我们可以在用windows分区工具,分出两个空白区,一个要大一点,最好是10G 以上,另外一个是内存的两倍(对于小内存的机器来说,大内存的机器分上512M 就行了;在安装时,我们要把大的分区用来装系统,点一下那个分区,出现挂载点,选择/ ,然后格式化成 ext3或者 reiserfs 等文件系统;把小一点的分区格式化成swap ,这是Linux的交换区;

    当然如果您有未用过的空白区,不用windows分区工具来分也行,在安装过程中,可以用linux的分区工具来划分,点几下鼠标就行了;这是对RH 和/FC 或者 的安装来说的,Madrake 也一样;

    2、对于有些系统版本要把ISO抽取出来都放在一个目录中才能进行,比如Slackware 发行版;

    3、看到大家反馈的情况,有的弟兄说中途退出与放ISO的分区的下有中文目录或者中文文件有关;如果找不出问题所在,就把ISO放在一个FAT32的空白分区上;
回复

使用道具 举报

发表于 2005-12-31 17:15:28 | 显示全部楼层
帮助人家是好事,但转贴不注明就不好了。

这是北南南北写的吧?
回复

使用道具 举报

 楼主| 发表于 2005-12-31 17:32:01 | 显示全部楼层
谢谢了。。现在那个引导菜单是被搞出来了。但是还没办法进linux。还是进去会重启。initd.img加载完才第二步就重新启动了。
回复

使用道具 举报

 楼主| 发表于 2005-12-31 18:42:02 | 显示全部楼层
看来不知道哪里被破坏了。。
刚才试过用虚拟软盘引导iso里那个bootdisk.img文件。然后进救援模式
chroot /mnt/sysimage
grub
root (hd0,5)
setup (hd0,5)
显示Success。ok。。
回复

使用道具 举报

发表于 2005-12-31 19:45:02 | 显示全部楼层
root (hd0,5)
setup (hd0)
回复

使用道具 举报

 楼主| 发表于 2006-1-1 12:27:24 | 显示全部楼层
我再试试。。谢谢
回复

使用道具 举报

发表于 2006-1-1 14:18:22 | 显示全部楼层
强烈鄙视4楼抄袭!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-9-23 17:14 , Processed in 0.073898 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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