中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] ... [19] »
作者:
标题: GRUB 伤脑筋的问题, 大家会诊一下 上一主题 | 下一主题
不点
银牌会员

不甘寂寞的人


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

不行的。必须放在 C: 盘根目录。

我们的 BOOTGRUB 和 GRLDR 文件,不会因为磁盘文件整理、文件移动位置而导致失效,只要它们存在,就一定管用。这是原来的 GNU GRUB 所不能做到的。【我们的 GRUB.EXE 也是如此,不受磁盘碎片整理的影响】。

GNU 原来的 GRUB,其真正的程序代码是在 stage2 文件中。只要 stage2 文件所占据的物理扇区有变化,GRUB 就不能启动了(如果 GRUB 是在 MBR 中,这将导致整个系统无法从硬盘启动)。

我们的 BOOTGRUB 和 GRLDR 文件,只要处在 C:盘根目录就行,无论怎么磁盘整理,它都不受影响,这应当说是非常理想的了。“不用任何复杂的安装,拷贝就能用”,这是我们的 GRUB for DOS 以及 GRUB for NTLDR 的巨大优越之处。

即使微软的 NTLDR 以及 BOOT.INI 等,也都必须放在 C:盘根目录。定位在 C:盘根目录,并没有任何不方便之处。NTLDR 和 BOOT.INI 在哪里,我们的 GRLDR 和 BOOTGRUB 就在哪里。






因为我们亲手创建,这个世界更加美丽。
2004-2-10 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 152 楼』:  

GRLDR必须放在启动盘的根目录下,BOOTGRUB可以放在任何地方.



QQ:366840202
http://chenall.net
2004-2-11 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
windrv
中级用户




积分 385
发帖 118
注册 2003-11-11
状态 离线
『第 153 楼』:  



  Quote:
以下是引用不点在2004-2-10 22:28:17的发言:
不行的。必须放在 C: 盘根目录。

我们的 BOOTGRUB 和 GRLDR 文件,不会因为磁盘文件整理、文件移动位置而导致失效,只要它们存在,就一定管用。这是原来的 GNU GRUB 所不能做到的。【我们的 GRUB.EXE 也是如此,不受磁盘碎片整理的影响】。

GNU 原来的 GRUB,其真正的程序代码是在 stage2 文件中。只要 stage2 文件所占据的物理扇区有变化,GRUB 就不能启动了(如果 GRUB 是在 MBR 中,这将导致整个系统无法从硬盘启动)。

我们的 BOOTGRUB 和 GRLDR 文件,只要处在 C:盘根目录就行,无论怎么磁盘整理,它都不受影响,这应当说是非常理想的了。“不用任何复杂的安装,拷贝就能用”,这是我们的 GRUB for DOS 以及 GRUB for NTLDR 的巨大优越之处。

即使微软的 NTLDR 以及 BOOT.INI 等,也都必须放在 C:盘根目录。定位在 C:盘根目录,并没有任何不方便之处。NTLDR 和 BOOT.INI 在哪里,我们的 GRLDR 和 BOOTGRUB 就在哪里。



Dear TinyBit,

If I use Grub for DOS to install its MBR to my bootable hard disk, does it still hold true
that fragmentation and change of location of Boot Grub & GRLDR [assuming still in the root directory] still works?

[em12][em12][em12]

2004-2-11 00:00
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 154 楼』:  

我试过了,在WINDOWS 2003 启动盘(c盘)为NTFS 或 FAT32 格式时,用第六版都可以正常启动.只是不支持NTFS,所以C:盘的菜单配置文件没有办法使用了.只能进入到命今行.

其实GRLDR必须放在C:盘根目录下是没错的,但是BOOTGRUB可以放在C: 任何目录下.
中要在BOOT.INI中添加
C:\XXXX\BOOTGRUB="GRUB 启动"
XXXX为BOOTGRUB的路径.

不知各位有何看法.

[此贴子已经被作者于2004-2-11 19:31:38编辑过]






QQ:366840202
http://chenall.net
2004-2-11 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
cavvie
初级用户




积分 150
发帖 18
注册 2003-10-13
状态 离线
『第 155 楼』:  

很简单,是windows 2003 得osloader把bootgrub装载进来的,所以bootgrub放在哪儿都可以,只要osloader能找到

2004-2-11 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


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

诸位兄弟眼力不凡,在下很佩服,呵呵。

是的,bootgrub 放在哪儿都可以,甚至改成任何名字都无关紧要,只要 NTLDR 能够找到它就行。但是,也有例外:我把 BOOTGRUB 和 GRLDR 放在软盘上,在 BOOT.INI 用 A:\BOOTGRUB="......." 就不行了。好像是因为 NTLDR 找不到 A:\BOOTGRUB 文件。

-----------
回复 windrv 兄:
> If I use Grub for DOS to install its MBR to my bootable hard disk, does it still hold true that fragmentation
> and change of location of Boot Grub & GRLDR [assuming still in the root directory] still works?

当你用 GRUB for DOS 或者 GRUB for NTLDR 将 GRUB 安装到 MBR 之时,此时 MBR 上的 GRUB 就完全脱离了 GRUB for DOS 以及 GRUB for NTLDR。

MBR 上的 GRUB 实际上使用的是 (hd?,?)/boot/grub/stage2 文件,不再使用 GRUB.EXE 以及 GRLDR 了。因此,磁盘碎块整理有可能移动 stage2 文件,从而使系统引导失败。

GRUB.EXE 以及 BOOTGRUB 和 GRLDR 文件不受磁盘碎块整理的影响。无论怎么整理,它们都可以工作。前提是:对于 GRUB.EXE 来说,要能启动到 DOS 实模式;对于 BOOTGRUB 和 GRLDR 来说,要求能够启动 NTLDR。

从这一意义来说,跟其它启动方法相比,GRUB for DOS 以及 GRUB for NTLDR 是比较安全的一种启动方法。

-----------

感谢 SunSpring 兄 和 Chenall 兄对于 win xp/2003 NTFS/FAT32 启动成功的报告!我们可以放心地发布 GRUB for DOS 0.2.0 了。请朋友们再耐心一点,沉住气,再多等待一段时日,看看是否还有人报告别的 BUG。

另外 FreeDOS 2033 也能启动 GRUB.EXE,这是我自己测试的。






因为我们亲手创建,这个世界更加美丽。
2004-2-11 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 157 楼』:  

"是的,bootgrub 放在哪儿都可以,甚至改成任何名字都无关紧要,只要 NTLDR 能够找到它就行。但是,也有例外:我把 BOOTGRUB 和 GRLDR 放在软盘上,在 BOOT.INI 用 A:\BOOTGRUB="......." 就不行了。好像是因为 NTLDR 找不到 A:\BOOTGRUB 文件。"

NTLDR是不支持“A:”这个路径的。不过,据我上次的测试,其实如果NTLDR、BOOT.INI等文件都在A盘上的话,用“C:”来代替“A:”的话,NTLDR就可以成功从A盘上启动BOOT.INI中指定的相应的Boot Sector了。

FreeDOS Kernel 2033下启动GRUB for DOS确实没有问题,我昨天也已试过。只是昨天我这儿网速很慢,所以没有报告上来,sorry.


[此贴子已经被作者于2004-2-12 0:33:26编辑过]






Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-2-12 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
xiaojun
银牌会员





积分 2202
发帖 499
注册 2003-6-12
状态 离线
『第 158 楼』:  

怪不得我引导得好好的grub(mbr里放在C下的.dat)无缘无故就失效,是defrag啊...



一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— !
2004-2-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


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

采用 stage2 作为实际程序代码的 GRUB, 其死机的理由有好多种:

1. 磁盘碎块整理, 导致 stage2 文件所占据的物理扇区移动了位置.

2. stage2 文件被删去, 然后又拷贝一个 stage2 文件进来, 一般也是不行的, 因为不能保证新的 stage2 文件正好精确的处于原来的扇区位置.

3. 当你用分区软件重新调整了分区, 例如增加或者减少了分区, 各分区的号码发生变化, 从而导致 GRUB 找不到 stage2 文件, 也会死机.

所以, 有 DOS 和 WinNT 的机器, 最方便的就是采用 GRUB.exe 或者 GRLDR 了.





因为我们亲手创建,这个世界更加美丽。
2004-2-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
SunSpring
初级用户




积分 166
发帖 20
注册 2004-1-2
状态 离线
『第 160 楼』:  



  Quote:
以下是引用不点在2004-2-10 22:28:17的发言:
不行的。必须放在 C: 盘根目录。

我们的 BOOTGRUB 和 GRLDR 文件,不会因为磁盘文件整理、文件移动位置而导致失效,只要它们存在,就一定管用。这是原来的 GNU GRUB 所不能做到的。【我们的 GRUB.EXE 也是如此,不受磁盘碎片整理的影响】。

GNU 原来的 GRUB,其真正的程序代码是在 stage2 文件中。只要 stage2 文件所占据的物理扇区有变化,GRUB 就不能启动了(如果 GRUB 是在 MBR 中,这将导致整个系统无法从硬盘启动)。

我们的 BOOTGRUB 和 GRLDR 文件,只要处在 C:盘根目录就行,无论怎么磁盘整理,它都不受影响,这应当说是非常理想的了。“不用任何复杂的安装,拷贝就能用”,这是我们的 GRUB for DOS 以及 GRUB for NTLDR 的巨大优越之处。

即使微软的 NTLDR 以及 BOOT.INI 等,也都必须放在 C:盘根目录。定位在 C:盘根目录,并没有任何不方便之处。NTLDR 和 BOOT.INI 在哪里,我们的 GRLDR 和 BOOTGRUB 就在哪里。



为什么安装后的Grub从MBR引导后用得不是GRLDR而是stage2,如果是GRLDR的话是不是就不再受碎片整理的影响?

2004-2-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


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

安装程序是 GNU GRUB 内建的功能。它只使用 boot/grub/ 目录下的那些 stage 文件。这个我们没办法改动。

由于我们的 GRUB for DOS/NTLDR 需要系统能够引导到一种状态【DOS或者NTLDR】,所以,我们的 GRUB for DOS/NTLDR 不能直接安装到 MBR。但也可以这么试验试验:

把 BOOTGRUB 的程序代码放在 MBR 中,但要保留 MBR 尾部的分区表【66个字节】,不要毁坏分区表【危险!分区表毁坏之后的严重性,不用在此多说了吧,最好事先把分区表备份到软盘。】。如此一来,我们的 GRUB for NTLDR 就可以从 MBR 而不是 NTLDR 菜单来启动了。【GRUB.EXE 无法用这种办法,因为它需要一个 DOS 操作系统】。由于我们仍然要使用 GRLDR,所以,这样做不受磁盘碎片整理的影响。

==============

背景画面可以支持了,请下载测试:
ftp://211.100.7.71/incoming/grub_for_dos-0.2.0pre2.tar.gz

本次增加了对 splash image 背景画面支持。解压后,在 splash 目录下可以找到具有 splashimage 功能的程序文件。

本次主要测试 splashimage 背景画面是否工作正常。注意:应当使用 splash 目录中的文件来进行测试。




因为我们亲手创建,这个世界更加美丽。
2004-2-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 162 楼』:  

我刚才将它下载测试了一下(注:均为真实机中),结果发现,无论是有splashimage支持还是无splashimage支持的GRLDR文件好像还是有些问题,具体如下:

在上次那个大硬盘中用BOOTGRUB调用GRLDR时,系统黑屏,光标在屏幕左上方闪烁并无任何反应;

在上次那个小硬盘中用BOOTGRUB调用GRLDR后可以出现菜单,但无论选哪项总是出现以下错误信息:

Selected Partition does not exist.

但如果将GRLDR更换为第一版(2004-1-23)的那个GRLDR的话,就一切正常了。

测试了一下splashimage目录中的GRLDR(小硬盘中)和GRUB.EXE,但输入splashimage命令时却出现“Unrecognized command”,不知为何?

另外,建议在splashimage目录中包含一个让大家测试用的XPM测试图片,如何?



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-2-13 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
Roy
管理员

專業島民



积分 4869
发帖 1633
注册 2002-12-10
状态 离线
『第 163 楼』:  



  Quote:
以下是引用不点在2004-2-13 1:26:32的发言:
安装程序是 GNU GRUB 内建的功能。它只使用 boot/grub/ 目录下的那些 stage 文件。这个我们没办法改动。

由于我们的 GRUB for DOS/NTLDR 需要系统能够引导到一种状态【DOS或者NTLDR】,所以,我们的 GRUB for DOS/NTLDR 不能直接安装到 MBR。但也可以这么试验试验:

把 BOOTGRUB 的程序代码放在 MBR 中,但要保留 MBR 尾部的分区表【66个字节】,不要毁坏分区表【危险!分区表毁坏之后的严重性,不用在此多说了吧,最好事先把分区表备份到软盘。】。如此一来,我们的 GRUB for NTLDR 就可以从 MBR 而不是 NTLDR 菜单来启动了。【GRUB.EXE 无法用这种办法,因为它需要一个 DOS 操作系统】。由于我们仍然要使用 GRLDR,所以,这样做不受磁盘碎片整理的影响。

==============

背景画面可以支持了,请下载测试:
ftp://211.100.7.71/incoming/grub_for_dos-0.2.0pre2.tar.gz

本次增加了对 splash image 背景画面支持。解压后,在 splash 目录下可以找到具有 splashimage 功能的程序文件。

本次主要测试 splashimage 背景画面是否工作正常。注意:应当使用 splash 目录中的文件来进行测试。

實際上可以改gnu grub 的install指令的.....可是那個部份得重寫.....



我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
2004-2-13 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
windrv
中级用户




积分 385
发帖 118
注册 2003-11-11
状态 离线
『第 164 楼』:  



  Quote:
以下是引用Roy在2004-2-13 7:11:36的发言:

  Quote:
以下是引用不点在2004-2-13 1:26:32的发言:
安装程序是 GNU GRUB 内建的功能。它只使用 boot/grub/ 目录下的那些 stage 文件。这个我们没办法改动。

 由于我们的 GRUB for DOS/NTLDR 需要系统能够引导到一种状态【DOS或者NTLDR】,所以,我们的 GRUB for DOS/NTLDR 不能直接安装到 MBR。但也可以这么试验试验:

 把 BOOTGRUB 的程序代码放在 MBR 中,但要保留 MBR 尾部的分区表【66个字节】,不要毁坏分区表【危险!分区表毁坏之后的严重性,不用在此多说了吧,最好事先把分区表备份到软盘。】。如此一来,我们的 GRUB for NTLDR 就可以从 MBR 而不是 NTLDR 菜单来启动了。【GRUB.EXE 无法用这种办法,因为它需要一个 DOS 操作系统】。由于我们仍然要使用 GRLDR,所以,这样做不受磁盘碎片整理的影响。

 ==============

 背景画面可以支持了,请下载测试:
 ftp://211.100.7.71/incoming/grub_for_dos-0.2.0pre2.tar.gz

 本次增加了对 splash image 背景画面支持。解压后,在 splash 目录下可以找到具有 splashimage 功能的程序文件。

 本次主要测试 splashimage 背景画面是否工作正常。注意:应当使用 splash 目录中的文件来进行测试。
 

實際上可以改gnu grub 的install指令的.....可是那個部份得重寫.....

Dear TinyBit & Roy,

Such modification is an essential item as it can free us from depending on the use of another intermediate agent, i.e. DOS or NTLDR, for booting up an image file containing a bootable disk image.

Could TinyBit do us a favour to give higher priority to this item?

[em12][em12][em12]

2004-2-13 00:00
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


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

我本想早点结束这事,不曾想到,竟然一下子出来了好几个事情。

1。 SunSpring 兄的话引出了从 MBR 调用 GRLDR 的话题。Roy 兄说修改 GNU GRUB 的程序可以达到目的。

2。 windrv 兄甚至希望完全脱离 DOS 和 NTLDR 这类中介机构,直接从 MBR 运行我们的 GRUB 代码, 而非 stage2。

这些确实是我不曾想到的问题。诸位兄弟,我很佩服,受到启发,也很感谢您们的讨论。

3。wengier 使用 FAT16 仍然存在故障。而使用 FAT32 和 NTFS 的都通过了。

4。splash 还漏掉了一些东西,所以失效。




因为我们亲手创建,这个世界更加美丽。
2004-2-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] ... [19] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: