![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 05:03 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » GRUB 伤脑筋的问题, 大家会诊一下 |
| 可打印版本 50,118 / 280 |
| 第151楼 不点 | 发表于 2004-02-10 00:00 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
不行的。必须放在 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 就在哪里。 |
|
| 第152楼 chenall | 发表于 2004-02-11 00:00 |
| 银牌会员 发帖 469 积分 1,276 来自 福建泉州 | |
|
GRLDR必须放在启动盘的根目录下,BOOTGRUB可以放在任何地方.
|
|
| 第153楼 windrv | 发表于 2004-02-11 00:00 |
| 中级用户 发帖 118 积分 385 | |
以下是引用不点在2004-2-10 22:28:17的发言: 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 still works? |
|
| 第154楼 chenall | 发表于 2004-02-11 00:00 |
| 银牌会员 发帖 469 积分 1,276 来自 福建泉州 | |
|
我试过了,在WINDOWS 2003 启动盘(c盘)为NTFS 或 FAT32 格式时,用第六版都可以正常启动.只是不支持NTFS,所以C:盘的菜单配置文件没有办法使用了.只能进入到命今行.
其实GRLDR必须放在C:盘根目录下是没错的,但是BOOTGRUB可以放在C: 任何目录下. 中要在BOOT.INI中添加 C:\XXXX\BOOTGRUB="GRUB 启动" XXXX为BOOTGRUB的路径. 不知各位有何看法. |
|
| 第155楼 cavvie | 发表于 2004-02-11 00:00 |
| 初级用户 发帖 18 积分 150 | |
|
很简单,是windows 2003 得osloader把bootgrub装载进来的,所以bootgrub放在哪儿都可以,只要osloader能找到
|
|
| 第156楼 不点 | 发表于 2004-02-11 00:00 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
诸位兄弟眼力不凡,在下很佩服,呵呵。
是的,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 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,这是我自己测试的。 |
|
| 第157楼 Wengier | 发表于 2004-02-12 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
"是的,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. |
|
| 第158楼 xiaojun | 发表于 2004-02-12 00:00 |
| 银牌会员 发帖 499 积分 2,202 | |
|
怪不得我引导得好好的grub(mbr里放在C下的.dat)无缘无故就失效,是defrag啊...
|
|
| 第159楼 不点 | 发表于 2004-02-12 00:00 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
采用 stage2 作为实际程序代码的 GRUB, 其死机的理由有好多种:
1. 磁盘碎块整理, 导致 stage2 文件所占据的物理扇区移动了位置. 2. stage2 文件被删去, 然后又拷贝一个 stage2 文件进来, 一般也是不行的, 因为不能保证新的 stage2 文件正好精确的处于原来的扇区位置. 3. 当你用分区软件重新调整了分区, 例如增加或者减少了分区, 各分区的号码发生变化, 从而导致 GRUB 找不到 stage2 文件, 也会死机. 所以, 有 DOS 和 WinNT 的机器, 最方便的就是采用 GRUB.exe 或者 GRLDR 了. |
|
| 第160楼 SunSpring | 发表于 2004-02-12 00:00 |
| 初级用户 发帖 20 积分 166 | |
以下是引用不点在2004-2-10 22:28:17的发言: 为什么安装后的Grub从MBR引导后用得不是GRLDR而是stage2,如果是GRLDR的话是不是就不再受碎片整理的影响? |
|
| 第161楼 不点 | 发表于 2004-02-13 00:00 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
安装程序是 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 目录中的文件来进行测试。 |
|
| 第162楼 Wengier | 发表于 2004-02-13 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
我刚才将它下载测试了一下(注:均为真实机中),结果发现,无论是有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测试图片,如何? |
|
| 第163楼 Roy | 发表于 2004-02-13 00:00 |
| 管理员 发帖 1,633 积分 4,869 | |
以下是引用不点在2004-2-13 1:26:32的发言:實際上可以改gnu grub 的install指令的.....可是那個部份得重寫..... |
|
| 第164楼 windrv | 发表于 2004-02-13 00:00 |
| 中级用户 发帖 118 积分 385 | |
以下是引用Roy在2004-2-13 7:11:36的发言: 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? |
|
| 第165楼 不点 | 发表于 2004-02-13 00:00 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
我本想早点结束这事,不曾想到,竟然一下子出来了好几个事情。
1。 SunSpring 兄的话引出了从 MBR 调用 GRLDR 的话题。Roy 兄说修改 GNU GRUB 的程序可以达到目的。 2。 windrv 兄甚至希望完全脱离 DOS 和 NTLDR 这类中介机构,直接从 MBR 运行我们的 GRUB 代码, 而非 stage2。 这些确实是我不曾想到的问题。诸位兄弟,我很佩服,受到启发,也很感谢您们的讨论。 3。wengier 使用 FAT16 仍然存在故障。而使用 FAT32 和 NTFS 的都通过了。 4。splash 还漏掉了一些东西,所以失效。 |
|
| 上一页 1 … 8 9 10 11 12 13 14 … 19 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |