再加100分!吐血求救了!请问怎样重新加载Linux的内核Kernel软件包,恢复grub从/dev/hda5的第一个超级块扇区的启动?

trybird 2002-11-01 04:04:10
原贴在——

http://expert.csdn.net/Expert/topic/1137/1137668.xml?temp=.3551294

内容如下:

主  题: 紧急求救!!!请问怎样重新加载Linux的内核Kernel软件包,恢复grub从/dev/hda5的第一个扇区的启动?
作  者: trybird (菜鸟)
等  级:
信 誉 值: 100
所属论坛: Linux/Unix开发 Linux开发
问题点数: 100
回复次数: 4
发表时间: 2002-10-31 18:06:10



谁能详细介绍一下怎样从硬盘加载内核Kernel软件包?就是kernel和initrd都是干什么的?坏了该怎样恢复它们呀?

我装的是RedHat Linux 8.0(中文简体),问题是我现在一启动Linux就到grub的提示符下,而不是原来的启动菜单画面,就是这样——

grub>

在这个提示符下要是键入boot命令,就会提示这个命令必须是在先加载kernel的情况下,才可使用的。键入reboot命令重启还是这个老样子。另外我试图从Linux安装光盘用update启动更新或恢复grub的boot引导装载程序,不论用何种方式,结果是总提示说:

“你的系统上没有安装任何内核软件包,引导装载程序的配置不变。”

就是说升级程序一点都没有改grub,而且好象启动不了也跟grub没关。我是装的Windows和Linux混合的多引导系统,Linux的引导装载硬盘Linux分区(/dev/hda1,就是硬盘的第一个扩展逻辑扇区)扇区的超级块而不是装在MBR,这样是用Win XP的引导菜单在先,然后才是grub的,是通过dd命令把Linux扇区启动块映射到C盘的一个文件,然后再添加进boot.ini里实现的。

那现在还可以从软盘启动Linux,一点问题都没有啊。但从硬盘启动,就总说没装任何内核软件包,不能启动。内核软件包都是哪些呀?是不是就是vmlinuz和initrd的img文件啊?是不是我把它们的文件从我的Linux启动软盘拷贝到硬盘的/boot下就行了?那个initrd中rd是什么意思啊,它是初始化什么的呀?vmlinuz又是啥呀?好象是什么虚拟机的意思,后面又是linuz而不是linux这么怪呢?到底它们都怎么起作用啊?是不是把他们复制过去到硬盘的/boot目录就算重新安装了kernel?有没有更简便的工具或方法来恢复kernel呢?谁能来详细权威的介绍一下啊?

盼望大虾出来解救我!!!



回复人: trybird(菜鸟) ( ) 信誉:100 2002-10-31 18:09:00 得分:0


我试了把下面两个文件:
vmlinuz
initrd.img
从软盘拷到/boot目录下也不起作用的。

还试着改/boot/grub/grub.conf,怎么做都不行的。

现在连出grub>提示符都没了,请问到底该怎么办好呀?!


Top

回复人: trybird(菜鸟) ( ) 信誉:100 2002-10-31 19:43:00 得分:0


有人讲把Linux安装光盘上的images下的boot.img解开,但那只能做Linux启动软盘吧,可我的启动软盘很好呀,可以从软盘启动登进去呀,就是不能从硬盘登进去,就是想怎样恢复从Windows菜单选择恢复登到Linux系统,我要的可是Linux启动不是从MBR启动啊。现在用安装光盘总也修复不了,怎么办呀?!

还有人说在用安装光盘或启动软盘启动时,在boot:后面加vmlinuz命令,但它的参数和其意思谁能来详细解说一下呢?

求救啊!怎么大侠们都见死不救呢?


Top

回复人: shenrb(shenrb) ( ) 信誉:100 2002-11-01 01:18:00 得分:0


用光盘启动后,在boot:的提示时输入vmlinuz root=/dev/hda5 (在扩展分区上我也没试过)后面可以指定根目录的在那个分区上。

你应确定你的GRUB是不是安装在MBR上,因为扩展分区在启动时是不会被加载的。
你可以修改/boot/grub/grub.conf后再执行grub命令.
在grub里/dev/hda5 应该用(hd0,4)来表示.


先看一下说明吧http://dummy.linux.net.cn/~xgwu/cmuo/install/ciboot2.html
先试试,不行再说?



Top

回复人: trybird(菜鸟) ( ) 信誉:100 2002-11-01 15:37:00 得分:0


To shenrb(shenrb):

还是先谢谢啦!你提供的方法早都试过了不行的。boot:后vmlinuz root=/dev/hda5只能从光盘启动Linux,而对恢复没有作用,启动过程中也提示了我的SuperBlock就是超级块已经损坏。在grub里/dev/hda5 应该用(hd0,4)来表示,是没错。/boot/grub/grub.conf我都配过了,原来也没坏,是正确的。你提供地址的那些grub命令我也都试过,没用的。恢复不了从/dev/hda5的第一个扇区的启动的,linux启动光盘也总提示:“你的系统上没有安装任何内核软件包,引导装载程序的配置不变。”

坏的原因是我有个朋友不懂dd,用这个命令瞎试,结果正好把光驱某些块写进了/dev/hda5的引导扇区(不是MBR)。还好象把/boot下的文件、/etc下的文件都瞎改,好在我后来恢复得能从软盘启动了。就是不能从硬盘启动了,当然重新装一遍是可以恢复的,但我Linux都安装了那么多软件和程序,不可能再重装了,配置起来都要很长时间啊!

我已经把Linux论坛的精华区和FAQ的有关方法都试过了,不行的。别的地方,有各大Linux论坛网站还有Google上查到的,找出的资料都试过了,也不行。各大Linux论坛很多都发过帖子,没有一个能解决的。唉,我都试过n的n次方遍了,总之就只能从软盘或光盘启动,恢复不了从硬盘启动了,我都绝望了!

啊!吐血了!吐血再吐血了!不管怎么吐血,对真心帮忙的兄弟,关心的兄弟都道声谢谢了!
...全文
159 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
trybird 2002-11-05
To 21bird(世纪菜鸟:Restarting……):

呵呵,没什么,现在我又开始多爱些微软,多恨些Linux了。
那init是初始化的意思rd是ram disk的意思。
vm是什么什么???Mirror呢?压缩?V开头?怎么没猜着呢?
Linuz是为了区分Linux就把最后一个字母来替换x了,省得一开始就有性的嫌疑,象个色鬼私的,这也理解。真的想Linux里就象玩猜字游戏似的,很多名老外好理解,我们得猜上半天。呵呵,兄弟真是很博学呀!佩服佩服!:)
回复
某鸟 2002-11-04
initrd,rd是ram disk的意思。
vmlinuz 是表示压缩了的(镜像)的意思,z为了区分linux这个名称
回复
某鸟 2002-11-04
服了,哈哈,老兄的linux title真有特色,哈哈……
回复
trybird 2002-11-04
该问题已解决,但不是好的解决方法,也不是在这里解决的,好吧,就先结贴送分了。希望大家以后淫以为贱!
回复
trybird 2002-11-02
另外从启动光盘升级来恢复是没指望了,无论我对引导配置是怎么选,始终就提示——

“你的系统上没有安装任何内核软件包,引导装载程序的配置不变。”

然后就不进行任何操作,就退出了。
回复
trybird 2002-11-02
To 21bird(世纪菜鸟:Restarting……):

GRUB设置文件/boot/grub/grub.conf没错:

title I love Linux, I hate Microsoft.
root (hd0,4)
kernel /boot/vmlinuz-2.4.18-3
initrd /boot/initrd-2.4.18-3.img

是硬盘/dev/hda5的SuperBlock超级块被我的一个朋友瞎搞,错误地写进其他别的东西了。糟得是我一昏头,认为可能引导映像文件也坏了,把引导映像redhat.lnx也删了——
# mount -t vfat /dev/hda1 /mnt/c
# rm /mnt/c/redhat.lnx

我也用Linux启动软盘试过很蛮横的方法:
# mount -t vfat /dev/hda1 /mnt/c
# dd if=/dev/fd0 of=/mnt/c/redhat.lnx
呵呵,结果在C:\生成了个从启动软盘搞的1.44兆的一个redhat.lnx引导映像文件。然后把那启动软盘上的5个文件都拷到C:\下面,结果再从Windows的loader菜单选Linux启动时,不是没有反应,而是马上出现几个小白字:“Boot Fail”就是启动失败啊,呵呵,然后就那么一直停在那里,这时要是软盘在驱动器,你打一下回车,它居然可以找软盘去启动Linux的;要是启动软盘不在驱动器,而Linux安装光盘在驱动器,打回车它也会找到光盘然后启动/dev/hda5的Linux(不会启动安装啊);但如果Linux启动软盘和安装光盘都不在,打回车就会是一团漆黑的黑屏,再没反应了会一直是这样的。总之,是从硬盘启动就不行!从软盘或光驱启动都没问题。

现在是想什么法能恢复从硬盘启动呢?
回复
某鸟 2002-11-01
你啥时候开始这样的????
估计是你设置文件错了,grub找不到内核文件了
回复
yaos 2002-11-01
vmlinuz就是linux的内核文件,好象win98的io.sys
回复
yaos 2002-11-01
你重新安装linux,选择升级安装,不安装任何软件包,如果没有内核的包,手工加上,然后重新启动,会修好的
回复
comstar 2002-11-01
好半,先把grub卸载,使用lilo
重启以后,卸载lilo,安装grub
回复
发帖
系统维护与使用区
创建于2007-08-27

1.9w+

社区成员

系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
申请成为版主
帖子事件
创建了帖子
2002-11-01 04:04
社区公告
暂无公告