QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 839|回复: 13

新手求教:GRUB搞坏了怎么办?

[复制链接]
发表于 2005-8-30 14:08:02 | 显示全部楼层 |阅读模式
我装的是XP+MAGICLINUX双系统,我在MAGIC CONFIG里移除了启动项里面的一项..GRUB就启动不了了,进XP都进不去了..然后只好用光盘启动然后fdisk/mbr..请问有没有重装GRUB的方法?
发表于 2005-8-30 14:10:41 | 显示全部楼层
如果你有redhat的急救盘,可以用他进入linux,然后重写grub
当然,推荐你使用grub for dos
用它来引导ML, 不用去重写mbr
回复

使用道具 举报

 楼主| 发表于 2005-8-30 14:22:39 | 显示全部楼层
我安装的时候就是用的grub for dos, 我刚用linux安装的时候也是看贴然后下了这个grub for dos,然后就是拷了两个文件放在C盘,在boot.ini 里面加了一句什么东东....用它怎么引导ML能不能讲具体一点?..希望高手多多指点一下啊..
回复

使用道具 举报

发表于 2005-8-30 14:24:21 | 显示全部楼层
自己搜索,论坛上以前讨论的帖子很多
详细过程都有
置顶疑难解答里面好像也有
回复

使用道具 举报

 楼主| 发表于 2005-8-30 15:04:50 | 显示全部楼层
置顶的疑难解答里好象说的是在能进入linux下面的情况..,算了..重装系统还快一些..
回复

使用道具 举报

发表于 2005-8-30 15:55:53 | 显示全部楼层
grub for dos是在windows下的, 进linux干嘛
回复

使用道具 举报

发表于 2005-8-30 16:40:11 | 显示全部楼层
我在MAGIC CONFIG里移除了启动项里面的一项
~~这个似乎有问题,那天我也是。结果不知道2.0b3的kernel是什么版本的,试了半天启动不起来,一气之下重装了~
回复

使用道具 举报

发表于 2005-8-30 16:43:21 | 显示全部楼层
[quote:ffb6bc7533="turingcat"]我在MAGIC CONFIG里移除了启动项里面的一项
~~这个似乎有问题,那天我也是。结果不知道2.0b3的kernel是什么版本的,试了半天启动不起来,一气之下重装了~[/quote]

在grub for dos下按Tab可以自动补全文件名的,何必重装呢
回复

使用道具 举报

 楼主| 发表于 2005-8-30 17:09:35 | 显示全部楼层
--------------------------------------------------------------------------------------------------------------------
27. 如何使用 NT 引导管理器引导 Magic Linux 1.2?
如果想要使用 ntldr 引导 Magic Linux 1.2,您需要搞清楚:由于内核支持硬件多,体积太大,无法放进软盘,不能制作软启动盘,一旦 grub 没有放进 mbr,安装后将无法启动。如果您已经按照默认设置(grub 安装到 mbr)安装好,希望改用 ntldr 引导 ML,您需要在 root 帐户下执行如下步骤:

首先搞清楚自己磁盘的分区情况,例如:
[root@MagicLinux ~]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 805 6466131 b W95 FAT32
/dev/hda2 806 9091 66557295 f W95 Ext'd (LBA)
/dev/hda3 9092 9680 4731142+ 83 Linux
/dev/hda4 9681 9729 393592+ 82 Linux swap
/dev/hda5 806 4629 30716248+ 7 HPFS/NTFS
/dev/hda6 4630 8453 30716248+ 7 HPFS/NTFS
/dev/hda7 8454 9091 5124703+ 7 HPFS/NTFS

从这行可以看出:
/dev/hda3 9092 9680 4731142+ 83 Linux
您的根分区位于:
/dev/hda3

既然安装程序不允许把 grub 引导记录安装在 mbr 以外的位置,那么 hda3 的头 512 字节肯定没有 ML 的引导记录。所以我们需要把 grub 引导记录安装到 hda3 的引导区。由于 grub 命令在 /sbin 下,所以 /usr/sbin 下面并没有 grub,而 grub-install 脚本需要 /usr/sbin/grub,所以我们需要在 root 帐户下做一个链结:

ln -sf /sbin/grub /usr/sbin/grub

然后安装 grub 引导记录到 hda3 的引导区:
cd /boot/grub/
ln -sf grub.conf menu.lst
注意:这一步极其重要,如果没有 /boot/grub/menu.lst 文件,系统仅仅把 grub 安装到目的地,而不会创建启动菜单,如果是把 grub 安装到 mbr,重启后你您将面对 grub> 提示符,新手会不知所措!

grub-install /dev/hda3 或者 grub-install hd0,2
也可以用如下步骤:
grub
root (hd0,2)
kernel /boot/vmlinuz-2.6.9
initrd /boot/initrd-2.6.9.img
setup (hd0,2)
quit

如果想重新把 grub 安装到 mbr,那么改为:
grub-install /dev/hda 或者 grub-install hd0
也可以用如下步骤:
grub
root (hd0,2)
kernel /boot/vmlinuz-2.6.9
initrd /boot/initrd-2.6.9.img
setup (hd0)
quit

同理,如果想把 grub 安装到软盘,那么改为:
grub-install /dev/fd0 或者 grub-install fd0
也可以用如下步骤:
grub
root (hd0,2)
kernel /boot/vmlinuz-2.6.9
initrd /boot/initrd-2.6.9.img
setup (fd0)
quit
这也正是如何制作紧急启动盘的方法!如果重装 windows 后 grub 被覆盖,您可以用这张软盘启动系统,重建硬盘 grub 引导。当然,您必须使用优质的软盘,现在的软盘质量实在差。

警告:理论上如下面所说,但是我从未使用 ntldr 成功引导过,不知何顾。即使将 /dev/hda3 设置成可引导的活动分区也无效,其他方法也试过,都不能用 win2k 的 ntldr 引导 linux,不知是否为以讹传讹,请高手指点。

代码:

   导出引导记录到 C:\magic.boot (相当于 linux 下的 /mnt/hda1/magic.boot)

dd if=/dev/hda3 of=/mnt/hda1/magic.boot bs=512 count=1

最后把 C:\magic.boot="Magic Linux 1.2" 追加写到 C:\boot.ini 文件的
[operating systems]
字段的后方。
-------------------------------------------------------------------------------------------------------------------
我是新手..对于上面的问题我完全看不懂...现在己经把系统重装了...
我想说的是在论坛里帮助我们的高手们,真的很感谢你们..但是你们真的实在太高深了,我不想照着上面一行一行的去敲..我不会敲我看不懂的东西..
真的希望你们在教我们的时候能够用我们能听得懂的语言..
回复

使用道具 举报

发表于 2005-8-30 17:13:24 | 显示全部楼层
"我不想照着上面一行一行的去敲..我不会敲我看不懂的东西"
如果连敲都不会,又如何能懂?
难道学编程的时候i=3;还非要老师给你讲清楚cpu如何操作寄存器来实现你才肯写这些代码?
回复

使用道具 举报

 楼主| 发表于 2005-8-30 17:13:54 | 显示全部楼层
linux命中注定只能是少数聪明人的玩具
回复

使用道具 举报

 楼主| 发表于 2005-8-30 17:25:45 | 显示全部楼层
版主不要生气..对于你们来说可能上面这些话很容易理解就如同i=3一样..但是对于我们这些第一次接触linux的人来说..可能会难以接受..我们在这里提问就是希望你们能用更加简洁易懂的语言让我们能懂得其中的原理..懂得原理才能针对不同的情况做出不同的处理啊...对着上面的这个东东我真的是不知所云...我开机以后进入的是grub>..哪里能用上面写的什么[root@MagicLinux ~]# fdisk -l 、ln -sf /sbin/grub /usr/sbin/grub
回复

使用道具 举报

发表于 2005-8-30 18:51:35 | 显示全部楼层
我运气好,这样就回来了:
出现这样的提示符:
grub>
  我就在后面,输入:
grub>root (hdX,Y)
grub>setup (hd0)
  如果成功会有一个successful......
  这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。(当时那个y不知道是几,我当时是4、5、6、7一个一个试的呵呵,没有办法,我周围没有人懂,又比较笨,只能瞎搞。)


这个可能对你有点帮助:(zz)

 1.grub没有显示菜单怎么办?
  当开机后进入grub界面但没了菜单,只剩下一个grub>提示符,怎么启动呢?别急,看下面:
grub>cat (hd0,6)/boot/grub/grub.conf
(为了看参数)
grub>root (hd0,6)
grub>kernel (hd0,6)
/vmlinuz-2.4.18-14 ro root=LABEL=/
grub>initrd (hd0,6)
/initrd-2.4.18-14.img
grub>boot
  启动了吧!以上有些数字要根据你的实际情况更改。以上这个方法也可以用于测试新编译的内核。

其中,内核的版本和所在的分区应该根据自己的情况写,ml-beta2.0默认的好象是2.6.12.3。我的grub。conf是这样的:

default=1
  timeout=10
  splashimage=(hd0,6)/boot/grub/splash.xpm.gz
  title dos
      rootnoverify (hd0,0)
      chainloader +1
  title MagicLinux
      root (hd0,6)
      kernel /boot/vmlinuz-2.6.12.3  ro root=/dev/hda7 vga=791 splash=silent
      initrd /boot/initrd-2.6.12.3.img
  title MagicLinux (Graphics Mode)
      root (hd0,6)
      kernel /boot/vmlinuz-2.6.12.3 init 5 ro root=/dev/hda7 vga=791 splash=silent
      initrd /boot/initrd-2.6.12.3.img
  title MagicLinux (Console Mode)
      root (hd0,6)
      kernel /boot/vmlinuz-2.6.12.3 init 3 ro root=/dev/hda7 vga=791 splash=silent
      initrd /boot/initrd-2.6.12.3.img
  title MagicLinux (Single Mode)
      root (hd0,6)
      kernel /boot/vmlinuz-2.6.12.3 init 1 ro root=/dev/hda7 vga=791 splash=silent
      initrd /boot/initrd-2.6.12.3.img

做新手是很痛苦的,呵呵所以我准备了好多盘,一天重装数次,家常便饭。所以重要东西最好放在别的电脑里了。但是这是值得,我觉得比玩游戏收获大。
回复

使用道具 举报

 楼主| 发表于 2005-8-30 19:52:58 | 显示全部楼层
超级感谢楼上这位朋友!!!..写得很详细..呵呵..这次我可是把你讲的抄下来的..刚刚我又用了一下MAGIC CONFIG里面的引导装置(不知道是不是BUG)..开机后又出现了这个错误..这次可以了..感谢至极..!!!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-25 23:17 , Processed in 0.237228 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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