China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-20 20:15
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » Troublesome problems with GRUB, everyone consult together DigestI View 46,932 Replies 280
Floor 151 Posted 2004-02-10 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
No. They must be placed in the root directory of drive C:.

Our BOOTGRUB and GRLDR files will not become invalid because of disk defragmentation or file relocation. As long as they exist, they will definitely work. This is something the original GNU GRUB could not do.

In the original GNU GRUB, the real program code is in the stage2 file. As long as the physical sectors occupied by the stage2 file change, GRUB will no longer boot (if GRUB is in the MBR, this will cause the whole system to be unable to boot from the hard disk).

Our BOOTGRUB and GRLDR files only need to be in the root directory of drive C:. No matter how the disk is defragmented, they are unaffected. This should be considered very ideal. "No complicated installation needed, just copy and use"—this is a huge advantage of our GRUB for DOS and GRUB for NTLDR.

Even Microsoft's NTLDR and BOOT.INI, etc., must also be placed in the root directory of drive C:. Being located in the root directory of drive C: is not inconvenient at all. Wherever NTLDR and BOOT.INI are, our GRLDR and BOOTGRUB are there too.
因为我们亲手创建,这个世界更加美丽。
Floor 152 Posted 2004-02-11 00:00 ·  中国 福建 泉州 安溪县 电信
银牌会员
★★★
Credits 1,276
Posts 469
Joined 2002-12-23 13:00
23-year member
UID 586
Gender Male
From 福建泉州
Status Offline
GRLDR must be placed in the root directory of the boot disk, but BOOTGRUB can be placed anywhere.
QQ:366840202
http://chenall.net
Floor 153 Posted 2004-02-11 00:00 ·  中国 香港 环球全域电讯国际互联节点
中级用户
★★
Credits 385
Posts 118
Joined 2003-11-11 00:00
22-year member
UID 12678
Gender Male
Status Offline
The following is quoted from 不点 on 2004-2-10 22:28:17:
No. They must be placed in the root directory of drive C:.

Our BOOTGRUB and GRLDR files will not become invalid because of disk defragmentation or file relocation. As long as they exist, they will definitely work. This is something the original GNU GRUB could not do.

In the original GNU GRUB, the real program code is in the stage2 file. As long as the physical sectors occupied by the stage2 file change, GRUB will no longer boot (if GRUB is in the MBR, this will cause the whole system to be unable to boot from the hard disk).

Our BOOTGRUB and GRLDR files only need to be in the C: drive root directory. No matter how the disk is defragmented, they are unaffected. This should be considered very ideal. "No complicated installation needed, just copy and use"—this is a huge advantage of our GRUB for DOS and GRUB for NTLDR.

Even Microsoft's NTLDR and BOOT.INI, etc., must also be placed in the C: drive root directory. Being located in the C: drive root directory is not inconvenient at all. Wherever NTLDR and BOOT.INI are, our GRLDR and BOOTGRUB are there too.





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?

Floor 154 Posted 2004-02-11 00:00 ·  中国 福建 泉州 安溪县 电信
银牌会员
★★★
Credits 1,276
Posts 469
Joined 2002-12-23 13:00
23-year member
UID 586
Gender Male
From 福建泉州
Status Offline
I tried it. When the WINDOWS 2003 boot disk (drive C) is in NTFS or FAT32 format, the sixth version can boot normally in both cases. It just doesn't support NTFS, so there is no way to use the menu config file on drive C:. It can only enter the command line.

Actually, it is true that GRLDR must be placed in the root directory of drive C:, but BOOTGRUB can be placed in any directory on C:.
You only need to add this in BOOT.INI:
C:\XXXX\BOOTGRUB="GRUB boot"
XXXX is the path to BOOTGRUB.

I wonder what everyone thinks.
QQ:366840202
http://chenall.net
Floor 155 Posted 2004-02-11 00:00 ·  中国 广东 深圳 教育网
初级用户
Credits 150
Posts 18
Joined 2003-10-13 00:00
22-year member
UID 11178
Gender Male
Status Offline
Very simple: windows 2003's osloader loads bootgrub, so bootgrub can be placed anywhere, as long as osloader can find it.
Floor 156 Posted 2004-02-11 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
You brothers have sharp eyes indeed; I really admire it, hehe.

Yes, bootgrub can be placed anywhere, and it doesn't matter even if it is renamed to anything, as long as NTLDR can find it. However, there is also an exception: I put BOOTGRUB and GRLDR on a floppy disk, and using A:\BOOTGRUB="......." in BOOT.INI did not work. It seems NTLDR could not find the A:\BOOTGRUB file.

-----------
Reply to brother 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?

When you use GRUB for DOS or GRUB for NTLDR to install GRUB into the MBR, the GRUB in the MBR is then completely separate from GRUB for DOS and GRUB for NTLDR.

The GRUB in the MBR actually uses the (hd?,?)/boot/grub/stage2 file, and no longer uses GRUB.EXE and GRLDR. Therefore, disk defragmentation may move the stage2 file, causing system boot failure.

GRUB.EXE and the BOOTGRUB and GRLDR files are not affected by disk defragmentation. No matter how they are defragmented, they can work. The precondition is: for GRUB.EXE, it must be able to boot into DOS real mode; for BOOTGRUB and GRLDR, it requires that NTLDR can be started.

In this sense, compared with other boot methods, GRUB for DOS and GRUB for NTLDR are a relatively safe boot method.

-----------

Thanks to brother SunSpring and brother Chenall for the reports of successful booting under win xp/2003 NTFS/FAT32! We can now safely release GRUB for DOS 0.2.0. Please be patient a little longer, keep calm, and wait a bit more to see whether anyone reports any other BUGs.

Also, FreeDOS 2033 can boot GRUB.EXE too; I tested this myself.
因为我们亲手创建,这个世界更加美丽。
Floor 157 Posted 2004-02-12 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
"Yes, bootgrub can be placed anywhere, and it doesn't matter even if it is renamed to anything, as long as NTLDR can find it. However, there is also an exception: I put BOOTGRUB and GRLDR on a floppy disk, and using A:\BOOTGRUB="......." in BOOT.INI did not work. It seems NTLDR could not find the A:\BOOTGRUB file."

NTLDR does not support the "A:" path. However, according to my last test, if files like NTLDR and BOOT.INI are all on drive A, then if you use "C:" in place of "A:", NTLDR can successfully start the corresponding Boot Sector specified in BOOT.INI from drive A.

There is indeed no problem starting GRUB for DOS under FreeDOS Kernel 2033; I also tried it yesterday. It's just that my connection speed here was very slow yesterday, so I didn't report it here, sorry.


Wengier - 新DOS时代

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

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

Floor 158 Posted 2004-02-12 00:00 ·  中国 重庆 电信
银牌会员
★★★
Credits 2,202
Posts 499
Joined 2003-06-12 00:00
23-year member
UID 4876
Gender Male
Status Offline
No wonder my grub boot that had been working fine (with the .dat in the MBR stored under C) suddenly became invalid for no reason—so it was defrag...
一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— !
Floor 159 Posted 2004-02-12 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
For GRUB that uses stage2 as the actual program code, there are many reasons why it can fail:

1. Disk defragmentation causes the physical sectors occupied by the stage2 file to move.

2. If the stage2 file is deleted and then another stage2 file is copied back in, it generally also won't work, because there is no guarantee that the new stage2 file will happen to be placed exactly in the original sector positions.

3. When you use partitioning software to readjust partitions, for example adding or removing partitions, the partition numbers change, causing GRUB to be unable to find the stage2 file, and it will also fail.

Therefore, on machines with DOS and WinNT, the most convenient thing is to use GRUB.exe or GRLDR.
因为我们亲手创建,这个世界更加美丽。
Floor 160 Posted 2004-02-12 00:00 ·  中国 广东 深圳 南山区 电信
初级用户
Credits 166
Posts 20
Joined 2004-01-02 00:00
22-year member
UID 14773
Gender Male
Status Offline
The following is quoted from 不点 on 2004-2-10 22:28:17:
No. They must be placed in the root directory of drive C:.

Our BOOTGRUB and GRLDR files will not become invalid because of disk defragmentation or file relocation. As long as they exist, they will definitely work. This is something the original GNU GRUB could not do.

In the original GNU GRUB, the real program code is in the stage2 file. As long as the physical sectors occupied by the stage2 file change, GRUB will no longer boot (if GRUB is in the MBR, this will cause the whole system to be unable to boot from the hard disk).

Our BOOTGRUB and GRLDR files only need to be in the C: drive root directory. No matter how the disk is defragmented, they are unaffected. This should be considered very ideal. "No complicated installation needed, just copy and use"—this is a huge advantage of our GRUB for DOS and GRUB for NTLDR.

Even Microsoft's NTLDR and BOOT.INI, etc., must also be placed in the C: drive root directory. Being located in the C: drive root directory is not inconvenient at all. Wherever NTLDR and BOOT.INI are, our GRLDR and BOOTGRUB are there too.




Why is it that after installation, when Grub boots from the MBR, it uses stage2 rather than GRLDR? If it used GRLDR, would it then no longer be affected by defragmentation?
Floor 161 Posted 2004-02-13 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
The installer is a built-in function of GNU GRUB. It only uses those stage files under the boot/grub/ directory. There is no way for us to change that.

Since our GRUB for DOS/NTLDR requires the system to be able to boot into a certain state , our GRUB for DOS/NTLDR cannot be installed directly into the MBR. But you can also try this as an experiment:

Put the program code of BOOTGRUB into the MBR, but keep the partition table at the end of the MBR , and do not damage the partition table . In this way, our GRUB for NTLDR can be started from the MBR instead of from the NTLDR menu. Since we still use GRLDR, doing it this way is not affected by disk defragmentation.

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

Background images are now supported; please download and test:
ftp://211.100.7.71/incoming/grub_for_dos-0.2.0pre2.tar.gz

This time support for splash image backgrounds has been added. After extracting, you can find the program files with splashimage functionality in the splash directory.

This test is mainly to see whether the splashimage background works properly. Note: you should use the files in the splash directory for testing.
因为我们亲手创建,这个世界更加美丽。
Floor 162 Posted 2004-02-13 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
I just downloaded it and tested it a bit (note: all on a real machine), and found that both the GRLDR file with splashimage support and the one without splashimage support still seem to have some problems. Specifically:

When BOOTGRUB is used to call GRLDR on that large hard disk from last time, the system goes to a black screen, and the cursor blinks in the upper-left corner of the screen with no response;

When BOOTGRUB is used to call GRLDR on that small hard disk from last time, the menu does appear, but no matter which item is selected, the following error message always appears:

Selected Partition does not exist.

But if GRLDR is replaced with the first version (the GRLDR from 2004-1-23), then everything works normally.

I also tested GRLDR (on the small hard disk) and GRUB.EXE in the splashimage directory, but when I entered the splashimage command, it showed "Unrecognized command". I don't know why.

Also, I suggest including an XPM test image in the splashimage directory for everyone to test with. How about that?
Wengier - 新DOS时代

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

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

Floor 163 Posted 2004-02-13 00:00 ·  中国 香港
管理员
★★★★
專業島民
Credits 4,869
Posts 1,633
Joined 2002-12-10 00:00
23-year member
UID 465
Gender Male
Status Offline
The following is quoted from 不点 on 2004-2-13 1:26:32:
The installer is a built-in function of GNU GRUB. It only uses those stage files under the boot/grub/ directory. There is no way for us to change that.

Since our GRUB for DOS/NTLDR requires the system to be able to boot into a certain state , our GRUB for DOS/NTLDR cannot be installed directly into the MBR. But you can also try this as an experiment:

Put the program code of BOOTGRUB into the MBR, but keep the partition table at the end of the MBR , and do not damage the partition table . In this way, our GRUB for NTLDR can be started from the MBR instead of from the NTLDR menu. Since we still use GRLDR, doing it this way is not affected by disk defragmentation.

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

Background images are now supported; please download and test:
ftp://211.100.7.71/incoming/grub_for_dos-0.2.0pre2.tar.gz

This time support for splash image backgrounds has been added. After extracting, you can find the program files with splashimage functionality in the splash directory.

This test is mainly to see whether the splashimage background works properly. Note: you should use the files in the splash directory for testing.

Actually, it is possible to modify GNU GRUB's install command... but that part would have to be rewritten.....
我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
Floor 164 Posted 2004-02-13 00:00 ·  中国 香港 环球全域电讯国际互联节点
中级用户
★★
Credits 385
Posts 118
Joined 2003-11-11 00:00
22-year member
UID 12678
Gender Male
Status Offline
The following is quoted from Roy on 2004-2-13 7:11:36:
The following is quoted from 不点 on 2004-2-13 1:26:32:
The installer is a built-in function of GNU GRUB. It only uses those stage files under the boot/grub/ directory. There is no way for us to change that.

 Since our GRUB for DOS/NTLDR requires the system to be able to boot into a certain state , our GRUB for DOS/NTLDR cannot be installed directly into the MBR. But you can also try this as an experiment:

 Put the program code of BOOTGRUB into the MBR, but keep the partition table at the end of the MBR , and do not damage the partition table . In this way, our GRUB for NTLDR can be started from the MBR instead of from the NTLDR menu. Since we still use GRLDR, doing it this way is not affected by disk defragmentation.

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

 Background images are now supported; please download and test:
 ftp://211.100.7.71/incoming/grub_for_dos-0.2.0pre2.tar.gz

 This time support for splash image backgrounds has been added. After extracting, you can find the program files with splashimage functionality in the splash directory.

 This test is mainly to see whether the splashimage background works properly. Note: you should use the files in the splash directory for testing.
 
Actually, it is possible to modify GNU GRUB's install command... but that part would have to be rewritten.....


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?

Floor 165 Posted 2004-02-13 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
I had wanted to wrap this up earlier, but I didn't expect several things to pop up all at once.

1。 What brother SunSpring said brought up the topic of calling GRLDR from the MBR. Brother Roy said that by modifying the GNU GRUB program, this goal could be achieved.

2。 Brother windrv even hopes to break away completely from intermediaries like DOS and NTLDR, and run our GRUB code directly from the MBR, rather than stage2.

These really are issues I had not thought of. Brothers, I truly admire you, have been inspired, and also thank you for the discussion.

3。 wengier still has problems when using FAT16. But those using FAT32 and NTFS all passed.

4。 splash still left out some things, so it doesn't work.
因为我们亲手创建,这个世界更加美丽。
‹ Prev 1 9 10 11 12 13 19 Next ›
Forum Jump: