无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4137|回复: 24
打印 上一主题 下一主题

请教GRUB启动的一个问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-7-31 13:03:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在我是3个操作系统 Ubuntu,win7,ramxp,grub装进了mbr。启动方式是先grub启动菜单,有ubuntu和windows选项,在windows启动中分win7启动和ramxp启动。
现在我想把ramxp直接在第一层也就是grub启动中显示,不要经过windows启动选项。
还有一个问题ramxp是否一定要通过ntldr引导,其他的能否引导?
2#
发表于 2009-7-31 14:59:09 | 只看该作者
1、你可以制作一张NT的启动软盘(方法我以前发过,或者google下),通过这张启动软盘来启动你的ramxp,然后再通过grub4dos启动这张启动软盘,只要将启动软盘中的boot.ini的timeout=0,虽然还是通过ntldr引导的,但跟用grub4dos直接引导在表现上没有区别,win7也可以用这种方式启动(只不过换成win7的启动软盘映像)。

2、xp肯定是要通过ntldr启动,暂时没有发现替代产品。
回复

使用道具 举报

3#
 楼主| 发表于 2009-7-31 16:08:38 | 只看该作者
谢谢LS的回复,去实验下
回复

使用道具 举报

4#
 楼主| 发表于 2009-8-3 13:27:53 | 只看该作者
成功引导到了XP的启动界面,但是在加载ramxp.img映像的时候出错。
BOOT。INI的文件和我WIN7下面的是一样的,感觉是IMG文件找不到,但是BOOT文件肯定没有写错。
郁闷,继续努力。
回复

使用道具 举报

5#
 楼主| 发表于 2009-8-3 16:38:37 | 只看该作者
我没有想绕过NTLDR,不然XP的IMG根本没办法引导。

现在的问题的,我根据Climbing 的建议,通过GRUB引导XP的启动镜像,在XP的启动镜像的BOOT文件里写上启动RAMXP的一项,但是最后一步没成功,RAMDISK没有成功加载。
回复

使用道具 举报

6#
发表于 2009-8-4 08:04:02 | 只看该作者

回复 #6 lonelywood 的帖子

把你的做法详细的说出来,在我看来,从软盘启动跟从硬盘启动没有区别,怎么可能会启动失败呢?
回复

使用道具 举报

7#
 楼主| 发表于 2009-8-4 08:26:58 | 只看该作者
我是通过UltraISO软碟通做了一个1.44的标准软盘XP启动镜像xp.ima,里面有NTLDR,BOOT.INI,NTDETECT.COM三个文件,ramxp.img文件放在了D盘也就是硬盘第二分区。xp.ima我放在了/boot/grub/下面.在GRUB界面下kernel (hd0,7)\grub\memdisk.gz和initrd (hd0,7)\grub\xp.ima启动,能启动到windows的操作系统选择界面.
boot.ini内容如下:
[boot loader]

timeout=3

default=ramdisk(0)\WINDOWS

[operating systems]

ramdisk(0)\WINDOWS="Windows XP RAM" /fastdetect /rdpath=multi(0)disk(0)rdisk(0)partition(2)\ramxp.img

grub接触时间不长,很多地方还有不懂,照抄前辈的,如有不妥之处,还请不吝指教。

[ 本帖最后由 lonelywood 于 2009-8-4 08:29 编辑 ]
回复

使用道具 举报

8#
发表于 2009-8-4 23:41:36 | 只看该作者

回复 #8 lonelywood 的帖子

为啥一定要通过软盘镜像,在grub4dos菜单里直接用 chainloader命令不能启动RamXP的NTLDR吗?
你把xp.ima里的所有三个文件都放在D盘根目录,然后把 chainloader 命令后面的NTLDR的路径设置成(hd0,4) \ntldr 就行了。
回复

使用道具 举报

9#
发表于 2009-8-5 01:06:40 | 只看该作者
grub4dos菜单里加上这个:
title 启动 RamXP 系统
rootnoverify (hd0,4)
chainloader /ntldr
回复

使用道具 举报

10#
 楼主| 发表于 2009-8-5 09:00:07 | 只看该作者
我用的不是grub4dos,是UBUNTU自带的那个。
好多grub4dos的命令不能用。
要用grub4dos替换自带的那个的话,又是一个麻烦的事情。
郁闷,要学习的东西太多了
回复

使用道具 举报

11#
发表于 2009-8-5 10:35:42 | 只看该作者

回复 #11 lonelywood 的帖子

我建议你还是使用grub4dos,它跟Ubuntu自带的grub是兼容的。

至于你的xp.ima启动ramxp出了问题,你没有交待清楚出了什么问题,有什么错误提示。

既然出现了Ramxp的启动菜单,那我就要提醒你,我印象中ramxp启动时需要特殊的ntldr(扩大了内存盘限制),你确认你的xp.ima中使用的是那个特殊的ntldr吗?
回复

使用道具 举报

12#
发表于 2009-8-5 10:37:10 | 只看该作者

回复 #10 leonliao78 的帖子

解答别人的问题之前,最好想办法自己试验一下,看看你的方法能不能成功,不要想当然。

你这种方法是不行的,就算换成grub4dos也不行。
回复

使用道具 举报

13#
 楼主| 发表于 2009-8-5 11:24:25 | 只看该作者
原帖由 Climbing 于 2009-8-5 10:35 发表
我建议你还是使用grub4dos,它跟Ubuntu自带的grub是兼容的。

至于你的xp.ima启动ramxp出了问题,你没有交待清楚出了什么问题,有什么错误提示。

既然出现了Ramxp的启动菜单,那我就要提醒你,我印象中ram ...

NTLDR的问题我知道的,我也能确认没有问题,因为在WINDOWS的能启动的,现在我就在这系统在回复。

xp.ima启动时候的问题是这样的,我在boot.ini加了2个启动项,其中有一个事启动ramxp的,为了就是能够看到
NTLDR的引导画面,确定到这一步没有错误。问题是选择了ramxp启动项后,应该ramdisk驱动加载ramxp.img文件了,
就是这一步出错,画面一直停在这一步,加载不了文件,死机。根据表面我感觉是系统找不到ramxp文件,在WINDOWS下我试验过,找不到IMG文件的话也不会死机,会出现提示的。根据以上我猜想是不是ramdisk驱动没有加载起来或者说是无法正确执行。

顺便问下,grub4dos替换grub需要做哪些工作?grub4dos安装我也看过,就怕安装到MBR里面机器起不来。

看来还是要试验下grub4dos的,不能怕啊,什么都是实践出来的。

[ 本帖最后由 lonelywood 于 2009-8-5 11:32 编辑 ]
回复

使用道具 举报

14#
 楼主| 发表于 2009-8-5 13:25:16 | 只看该作者
根据leonliao78的想法,我也试验了下,是这样的。
我在grub下启动grub4dos,命令如下
kernel (hd0,7)/grub/grub.exe
boot
成功引导到grub4dos界面,再在这下面尝试启动RAMXP.IMG
chainloader (hd0,4)/ntldr
boot
没想到成功了

根据以上所得,在grub下chainloader (hd0,4)/ntldr命令无法执行,系统无法挂载NTFS分区,在grub4dos下,chainloader (hd0,4)/ntldr命令可以执行。

下一步我想把grub4dos安装到mbr去,这样应该能实现我在设想了。

在此谢谢Climbing 和leonliao78帮助~~
回复

使用道具 举报

15#
发表于 2009-8-5 16:28:55 | 只看该作者

回复 #15 lonelywood 的帖子

你自己搞错了,使用chainloader (hd0,4)/ntldr虽然可以成功出现NT的启动菜单,但boot.ini却是用的(hd0,0)上的,也就是说,你本来想用grub直接引导进入ramxp,现在还是要经过NT的启动菜单选择一下,不是用grub直接启动的ramxp。

至于xp.ima无法启动ramxp的原因,我猜想跟memdisk建立的xp.ima内存盘有关,而ramxp也是通过内存盘启动的,也就是说ramxp.img最终也会变成一个内存盘,现在有了xp.ima,内存中已经有一个内存盘了,可能导致ramxp.img对应的内存盘建立失败。

在grub4dos下可以试试这样的方式:

  1. title ramxp
  2. map /xp.ima (fd0)
  3. map --hook
  4. root (fd0)
  5. chainloader /ntldr
复制代码


这种方式没有建立内存盘,只是仿真,要求xp.ima在硬盘上连续存放。只能试试行不行了。
回复

使用道具 举报

16#
 楼主| 发表于 2009-8-5 18:13:27 | 只看该作者

回复 #16 Climbing 的帖子

你的办法是可行的,就是连续虚拟内存盘的问题导致的错误。

在折腾的过程中,学习到了不少。

再次感谢您的指导。
回复

使用道具 举报

17#
发表于 2009-8-9 14:51:07 | 只看该作者
“你本来想用grub直接引导进入ramxp,现在还是要经过NT的启动菜单选择一下,不是用grub直接启动的ramxp。”

1、这句我有不同意见。我不知道您所指的”grub直接启动的ramxp“跟楼主的预期是否一致,我只是觉得启动ramxp必须通过ntldr,而在启动动作中ntldr的任务完成后一定会把接力棒交给boot.ini,想绕过它们只由 grub 直接启动ramxp是不可能的。你的办法是把ntldr及其相关启动文件放到IMA文件里去,看起来文件少一点、清爽一些,仅此而已。
2、”还是要经过NT的启动菜单选择一下“,boot.ini菜单的选项本来只有ramxp一个,等待时间可以设为1秒,那就不用选择了。楼主故意把它设成两个选项,再人工从boot.ini菜单选项里选择启动Ramxp的目的是为了示踪(相当于插一面旗子在那里,以示启动过程已经进行到这一步了,前面的启动动作已顺利完成)。

[ 本帖最后由 leonliao78 于 2009-8-9 14:54 编辑 ]
回复

使用道具 举报

18#
发表于 2009-8-9 15:08:56 | 只看该作者
根据leonliao78的想法,我也试验了下,是这样的。
我在grub下启动grub4dos,命令如下
kernel (hd0,7)/grub/grub.exe
boot
成功引导到grub4dos界面,再在这下面尝试启动RAMXP.IMG
chainloader (hd0,4)/ntldr
boot
没想到成功了

你用了两层grub4dos,从你后面的叙述看出,你也觉得这样没必要,用具有完整功能版本的grub4dos代替你以前的那个会让启动过程更简洁更有效率。

”解答别人的问题之前,最好想办法自己试验一下,看看你的方法能不能成功,不要想当然。“
你什么意思?仗着是版主欺负人是吧?我的RamXP一直就是从 grub4dos 启动的,你咋知道我没做过?你咋知道我是想当然?
你尊重我,我也会敬重你,就像我在#18楼称呼“您”那样;若先用教训晚辈的口气对我狂吠,就不要怪我没有礼貌了。

又及:封建思想复辟?民主之路看来是越走越远了。
回复

使用道具 举报

19#
发表于 2009-8-10 08:32:21 | 只看该作者

回复 #19 leonliao78 的帖子

很抱歉,不知道我说了什么触动了您那脆弱的敏感的小神经,对我而言,我只是指出您回复中的错误,希望您在回答别人时不要将别人引向错误,同时避免让你自己犯错误,在我看来,这完全是一番好意,如果有人指出我的错误,我一定会虚心接受的,因为这样会让我进步。

而且,我的行为与是否是版主无关,更与什么封建和民主完全沾不上边儿,既然您开口闭口民主,不知道您对民主理解多少?民主是不允许别人指出您的错误吗?我看这倒真的有点儿封建独裁的意思。

另外,我想请问,您用哪只眼看到过我说了:ramxp可以直接用grub4dos启动,ramxp可以跳过ntldr和boot.ini启动。拜托您在回答别人的问题前搞清楚别人是在解决什么问题。

在我看来,目前楼主的问题已经用我给出的方法解决了。
回复

使用道具 举报

20#
发表于 2009-8-10 09:39:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

21#
发表于 2009-8-10 10:39:32 | 只看该作者

回复 #21 mazrmc 的帖子

我猜想失败的原因是:你的内存盘是由grub4dos所创建的,而xp的ramdisk.sys并不识别由grub4dos所创建的内存盘,而只识别由ntldr所创建的内存盘。

如果你用Diskless Angel的wdsys.sys,就可以识别由grub4dos所创建的内存盘了。
回复

使用道具 举报

22#
发表于 2009-8-10 12:46:27 | 只看该作者
Diskless Angel 的wdsys.sys不是免费提供的,试用版的有一些限制。
回复

使用道具 举报

23#
发表于 2009-8-10 13:01:20 | 只看该作者
我与Climbing 版主的摩擦毕竟不是第一次了(http://bbs.wuyou.net/forum.php?m ... p;page=2#pid1750415)相信仔细看完此帖和彼帖里对话内容的人多少会对我们两个人的性格有大概的了解。
回复

使用道具 举报

24#
发表于 2009-8-10 15:07:42 | 只看该作者

回复 #24 leonliao78 的帖子

那只是你自己认为的摩擦而已,在我来说,只不过从纯技术的角度进行探讨。

你上面所举出的那个帖子,已经是太老的帖子了,我不想再用一个无聊的回复将其顶起,结果只是引来一片口水。当然,或许我的小学语文老师对我的表达能力很失望,但这确实无法掩盖我对你理解能力的怀疑。大家互相怀疑,也算扯平了。

还有,不要把话题扯得太远,我来这里不是跟人打口水仗的,如果是在讨论技术的前提下,请尽量不要顾左右而言他。我欢迎你批评我观点中的错误,驳得一无是处最好,但请不要东拉西扯,把好好的技术讨论帖子变成你的对人评价专栏。我见过有喜欢意淫的人在灌水区仿照狂人日记模式写文章批判我的,虽然我不欣赏那种生活方式,但却很推荐这种批判方式,你如果有兴趣,我建议你也这样做,意淫完成之后,将帖子链接PM给我即可,我会认真拜读的(如果你写的很有趣的话)。

BTW: 我虽然曾经是这个版的版主,但那已经是N年前的事情了,虽然现在挂着一个“名誉版主”的虚名,但那仅仅是一个记号而已,除此之外,我的言行与无忧现在的管理层没有什么直接关系,请注意你的称呼,如果你不嫌麻烦,直呼名字即可。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-28 18:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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