中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: linux中修复GRUB 上一主题 | 下一主题
dwge
新手上路





积分 4
发帖 1
注册 2007-11-2
状态 离线
『楼 主』:  linux中修复GRUB

linux中修复GRUB

最近2003系统老出问题,
主要是防火墙导致很多聊天软件都用不了@|@
哎,有时候甚至把MBR文件也弄没了
没办法重新安装GRUB么????????
呵呵不需要浪费宝贵时间了,看看最近收获吧: >
.................修复Linux 9 GRUB引导感受...................
1.把安装盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。
2.等安装界面出来后,按F5
然后在boot后面下输入
linux rescue
然后就是回车一下
3.一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。
4.然后会出现这样的字符
sh#
5.我们就可以操作GRUB了。。。哈。。。只要能出现这样的,以后都是小KISS了,我就是不说,谁也能明白,地球人都知道了。。。。
sh#grub
会出现这样的字符
grub>
我们就可以在这样的字符后面,注意root后面空格后才是(hdx,y)
grub>root (hdX,Y)
grub>setup (hd0)
如果成功会有一个successful......
这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。
我 来举个例子吧,如果以我的硬盘为例。我在第一个硬盘上装了XP,在第一个硬盘的hda9个装了RH73.我总共有两个硬盘。如果我把GRUB丢了,就用这 种办法找回来。如果你不知道你的linux安装到哪个分区上,也就是说,不知道这个Y是多少,这也不要紧,先输入root (hdX,然后用[TAB]来查看,一下就明白了...
操作如下:[前面开机启动的上面有说明]
sh# grub
会出现下面的字样的
grub>
然后再这样操作,如果我知道我的linux装在第一个硬盘上,但我不知道装在哪个分区上,就可以先输入root (hd0,然后用[TAB]键来补齐,然后就明白了,你也可以打入
find /boot/grub/grub.conf
find /grub/grub.conf
来查询下位置
grub>root (hd0,8)
grub>setup (hd0)

当然意外也是有的,比如这次MagicLinux仍旧没法引导系统,解决如下:
装XP系统后不见了GRUB系统引导
用红旗4.1的安装盘
F5
linux rescue
grub
find /grub/grub.conf
得到hd0,6
root (hd0,6)
setup (hd0)
然后退出,grub是建成了,可我只能呆在grub>下了。。。
在grub>下,cat (hd0,6)/grub/grub.conf,回车
查看命令行,照抄第一个LINUX系统登陆的长串命令,回车
boot,回车就进入了系统
然后/boot/grub中建立一个menu.lst文件,直接将grub.conf中内容复制到menu.lst中重起,grub图形界面就回来了~~

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
修复GRUB引导菜单

又看到一些朋友发这样的帖子问重新安装win破坏grub及忘了root密码解决的方法,我写了解决的方法并且置顶,大家以后直接看就可以了。

一、fdisk /mbr是把DOS的引导记录写进MBR

如果grub出现问题。
1,用制作好的软盘启动,如果软盘没有制作好,就用安装光盘选择升级,最后可以制作启动盘,用制作好的软盘启动后,在shell下输入grub-install /dev/hda 这样就把grub安装到到MBR。
2 从光盘启动,当出现boot时,输入linux rescue
一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。
然后会出现这样的字符
sh#grub
会出现这样的字符
grub>
我们就可以在这样的字符后面,输入
grub>root (hdX,Y)
grub>setup (hd0)
如果成功会有一个successful......
这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区,,不知道根分区在哪,可以df,它就会显示出来。 setup (hd0)就是把GRUB写到硬盘的MBR上。

二、如果超级用户将密码忘记,就无法进入系统,也无法管理和使用系统。本来这种事不太可能发生,但是在一些Linux单机使用者,尤其是初学者中,却是比较容易发生。一般的解决方法就是格式化硬盘来重新安装系统,但这有点儿小题大作了。如何修复,进入有以下方法

当密码忘了怎么办?
一. lilo
1. 在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single
2. 回车可直接进入linux命令行
3. #vi /etc/passwd
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
或者直接passwd
保存
4. #reboot重启,root密码为空

二. grub
1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
3. 修改你现在见到的命令行,加入single,结果如下:
kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/ 或者把single加在最后也可以的。
4. 回车返回,然后按b键启动,即可直接进入linux命令行
5. #vi /etc/passwd
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
或者直接passwd
保存
6. #reboot重启,root密码为空

如果不是双启动,用制作好的软盘启动,linux single,linux 1,linux -s 都可以进入单用户方式, 然后进去后passwd ,如果没有制作好的软盘,你安装光盘启动,选择升级制作一个。,不过用安装光盘也可以passwd。
在开始时输入linux rescue ,进入修复模式,然后选择只读或是跳过,只读它已经挂接好的硬盘,跳过你要自己挂接硬盘。
然后chroot ./
进入真正的单用户模式,然后passwd.

如果系统中没有软驱,光驱,可以把硬盘拆下,挂到其它有linux,unix的电脑中,然后mount,然后找到挂载你的硬盘的/etc/passwd,清除root密码也可以的。不过这种方法我没有试过。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
修复grub指南(使用工具)

1、下载工具
如 果你将 Grub 安装到了 MBR,重新安装 Windows XP/2K 等会将 MBR 清除,那么怎么修复 MBR 中的 Grub 引导记录呢?这里介绍的方法是使用 Grub4DOS 这个DOS下的工具,最新版本的 Grub4DOS 可以在 这里下载到,下来之后可以用 win 下的 WinRAR、WinZIP 或 Linux 下的 tar zxvf 命令解开,将其中的 grub.exe 放在你的一个 fat/fat32 分区中(如 D:\grub4dos)。

2、重新启动到 DOS,你可以用 DOS 启动软盘或光盘(我想一般都有一张 win98或 winme 光盘吧)。然后键入:

代码:

d:\grub4dos\grub.exe
这样就进入了 Grub 环境,你可以看到一个 gurb> 提示符,下面要做的就是恢复你的 Grub 引导记录

3、在 Grub> 提示符下键入

代码:

root (hdx,y)
kernel (hdx,y)/boot/yourkernelname ro root=/dev/hdxx
setup (hd0)
第一个命令是指定你的 /boot 分区位置,如果你的 /boot 没有单独分区,那么就是你的 / 分区。
第二个命令指定内核位置,具体位置根据自己的实际情况确定。
第三个命令是将 Grub 引导记录写入 MBR 。
如果你对自己的 Linux 分区位置不十分清楚,你可以使用 TAB 键补全功能来查看确定。
执行完 setup 命令后成功会看到 succeed ! 字样。

现在你就可以重启进入 Grub 了。

4、如果你只是想启动 Linux 而不是修复 Grub,那么你可以在进入 DOS 后键入下面命令启动你的 Linux 系统。

代码:

d:\grub4dos\grub.exe --config-file=(hdx,y)/boot/grub/grub.conf
其中参数同上。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
修复Linux的Grub引导(vfloppy)

最 近我的机器硬盘不够用,就把软驱下了(占位置),装了第二块硬盘,然后再将第一块硬盘装了Windows XP,第二块硬盘装了RedHat Fedora Core 1(Red Hat Linux个人版),用Linux下的Grub来引导。考虑到Windows系统经常要重装,想应做一个Linux应急启动盘来修复Grub引导,可没有 软驱如何来做呢?经查看帮助发现如下办法可行,供大家参考:
一、制作Linux启动盘,在Linux下用mkbootdisk可以制作一张启动应 急盘,可没有软驱怎么做呢?没关系,mkbootdisk可以将启动盘制作成镜像文件,在我的机器上是这样做的:mkbootdisk --device /root/fedora.img 2.4.22-1.2115.nptl。最后的参数为你的Linux内核版本号,如不知道可用uname -r查一下。然后将软盘镜像文件拷贝到Windows分区下。
二、找一个叫虚拟启动软盘的软件vfloppy,运行后将fedora.img装载 进去,实际是在Windows XP的boot.ini加入软盘的启动。这样在Windows XP启动时如选择软盘启动就会进入Linux。如Grub损坏或是Windows系统重装后改写了MBR(主引导记录),可用此办法启动到Linux,然 后用grub-install /dev/hda重新安装Grub就可以了。
注:还可以用一些软件来管理MBR,比如SRCTools。

2007-11-2 21:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
barton
中级用户





积分 480
发帖 197
注册 2006-9-20
来自 黄冈
状态 离线
『第 2 楼』:  

好像将来 grub4dos 的setup将消失,只有gnu grub才通过setup安装

2007-11-4 09:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhxy9804
中级用户





积分 208
发帖 97
注册 2006-12-28
状态 离线
『第 3 楼』:  

说真的帖子真是不赖,求一个grub软盘镜像,linux格式的,有没有啊?

2008-4-23 23:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 4 楼』:  

有的,在 grub_for_dos-0.4.2 里面,有一个叫做 ext2grldr.img 的文件,就是一个 1.44M 的 grub 软盘映像。你可以把里面的 grldr 换成最新的。如果你愿意,你还可以运行 bootlace.com 从而把它的引导扇区也更新成最新的,好像是这样做:
bootlace.com  --floppy  ext2grldr.img




因为我们亲手创建,这个世界更加美丽。
2008-4-24 08:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: