1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
|
2011-12-05 Issue 53: add new command 'iftitle' for menu.(thanks @Steve6375).
2011-11-17 (tinybit)supported utf8 and unicode char printing.
2011-11-04 (tinybit)added new argument of max_width for putchar; various fixes.
2011-10-29 (tinybit)add new command 'font' for vesa fonts.(Not yet complete).
2011-10-22 (tinybit)bug fix on failed loading multi-boot kernel(issue 44).
2011-10-20 (tinybit)increased SYSTEM_RESERVED_MEMORY upto 0x2000000(i.e., 32M).
2011-10-19 (tinybit)merged console/graphics setcolor functions.
2011-10-18 (tinybit)rearranged memory usage and preparing for vbe support. merged console/graphics setcolor functions.
2011-10-03 (tinybit)changed buf_addr from 0x20000 to 0x100000 to avoid possible conflict between dd_func and get_diskinfo.
2011-10-01 (tinybit)resolved conflicts between gfxmenu and configfile.
2011-09-28 (chenall)fixed partition enumeration problem(important!)(disk_io.c).
2011-09-16 (tinybit)disabled ELCR code for ASUS eee PC 1215B.
2011-09-06 (tinybit)fixed pxe_detect to handle long bootfile name.
2011-08-05 (tinybit)added a map option --e820cycles for Dell Laptop N4030.
2011-07-27 (tinybit)fixed a careless mistake in clean_entry().
2011-07-21 (tinybit)added a map option --int15nolow. Some changes on handler.
2011-07-10 (tinybit)re-enabled int13/ah=16h floppy detection in int13_handler.
2011-07-27 (tinybit)fixed a careless mistake in clean_entry().
2011-07-21 (tinybit)added a map option --int15nolow. Some changes on handler.
2011-07-10 (tinybit)re-enabled int13/ah=16h floppy detection in int13_handler.
2011-06-28 (tinybit)fixed a careless mistake in probe_mbr(missing evaluation on C/H/S). fixed a bug in clean_entry() which return the address of a local variable.
2011-06-27 (tinybit)added wee_skip_to as a replacement for skip_to.
2011-06-22 (tinybit)better probe_mbr handling abnormal partition tables.
2011-06-19 (karyonix)int15 fix. (tinybit)remove code to save handler room.
2011-06-10 (tinybit)trust CHS in floppy BPB for GRUB.EXE to run under DOS.
2011-06-09 (tinybit)trust CHS in floppy BPB for GRUB.EXE to boot via NTLDR.
2011-06-04 (namiltd)added exFAT filesystem accessibility.
2011-06-02 (tinybit)better handling loading grub.exe from NTLDR in floppy
2011-05-31 (tinybit)fix chainloading grub.exe from Grub4DOS
2011-05-31 (tinybit)make grub.exe loadable by NTLDR
2011-05-24 (tinybit)make grub.exe chainloadable
2011-05-19 applied Roy's patch(Issue 27: adding PC-DOS/MS-DOS chainloading support).
2011-05-14 (tinybit)use HLT command in key detection
2011-05-09 applied steve6375's patch( Issue 23: Improve grub4dos menu item numbering).
2011-05-07 applied Roy's patch(Issue 25: Add chainloading DELL DRMK DELLBIO.BIN support).
2011-05-06 applied Roy's patch(issue 24: Add ReactOS freeldr chainloading support).
2011-04-29 (tinybit)exclude ntfs short filename.allow space in fb_filename.
2011-03-22 fixed a bug on case sensitivity in filename completion. added a new parameter "case_insensitive" to print_a_completion().
2011-03-19 fixed a bug on NTFS unicode filename handling. let unicode_to_utf8() return string length after convertion.
2011-03-05 fixed a bug on "cdrom --add-io-ports=...".
2011-03-04 setup a byte at offset 0x1F0 of GRUB.EXE to indicate number of
sectors used by the DOSSTART.S; change boot_drive to -1 so that
external programs can set it up before transfer control to grub4dos;
when grub.exe is loaded as a kernel, the default boot device of
grub.exe will be set to the current root device of current grub4dos.
2011-02-20 prevent IO.SYS from wiping out int32-3F.
2011-02-17 fixed a bug of "0xEA not properly restored" in realmode_run(asm.S).
2011-02-16 fixed a bug on stack checking in realmode_run(asm.S).
2011-02-16 changed real_to_prot(asm.S) and related calls according to WEE.
2011-01-22 fixed "map (hd1) (0xFF)" issue of failed cdrom emulation.
2011-01-18 set "APM BIOS call" as default halt method(see http://reboot.pro/13632/).
2011-01-16 clear preset_menu before enter_cmdline. uncomment the required "default entry number" resolving code(stage2.c).
2011-01-15 trying to fix ELF executable loading problem(issue 14). (confirmed by the reporter).
2011-01-07 applied karyonix's patch (issue 9: fix geometry_tune function)
2011-01-07 applied Roy's patch(supported packed DR-DOS).
2010-12-29 applied Roy's patch(fixed build issue).
2010-12-25 applied Roy's patch(issue 13: fix autoconf and gcc issues in Linux).
2010-12-11 (r73)applied karyonix's patch(issue 11: Wrong data read USB)
2010-11-30 (r69)applied karyonix's patch(support lzma decompression).
2010-12-07 (r68)applied karyonix's patch(issue 9).
2010-11-15 improved ACPI halt code(patched by zw2312914,Thanks for MR.rockrock99 and MR.xianglang reports their different and special hardware response mechanism ).
2010-11-04 finally fixed the ACPI halt failure on AMI netbook(by commenting out ACPI-enable code).
2010-11-03 partially go back to ACPI halt code of 2010-10-29.
2010-11-02 deleted a duplicate code snip which could cause halt failure.
2010-10-31 fixed the find issue. changed ACPI halt code(based on zw2312914).
2010-10-29 improved ACPI halt code(patched by zw2312914).
2010-10-22 fixed AMI netbook gray-screen-of-death problem on halt.
2010-10-19 allow BSD primary partitions to be made active.
2010-10-12 fixed grub.exe issues when booting off Linux/kexec. Only comments added compared to 2010-10-11.
2010-10-11 try to fix grub.exe issues when booting off Linux/kexec(enabled system timer 0 init).
2010-10-09 try to fix grub.exe issues when booting off Linux/kexec(enabled writing ELCR port 4D0/4D1).
2010-10-08 try to fix grub.exe issues when booting off Linux/kexec(enabled coprocessor init by writing port F0/F1).
2010-10-07 try to fix grub.exe issues when booting off Linux/kexec(disabled writing ELCR port 4D0/4D1).
2010-10-04 improved halt with ACPI. try to fix grub.exe issues when booting off Linux/kexec(by sending 100 EOIs to PICs).
2010-09-22 let chainloader recognize isolinux.bin 4.02.
2010-09-19 added support for 800x600 graphics mode(SVGA mode 6A).
2010-08-09 improved CHS probing code of map command on ISO9660 images.
2010-08-04 finally find out the missing-extended-partition problem is caused by a gcc bug, and workarounds are created.
2010-07-25 re-enabled the extended partition with logical partitions in disorder.
2010-07-24 patch by chenall: cat --length=0 will return the size of the compressed file if it is gzipped; fix memory-not-enough problem when mapping a gzipped memory-file with a high compression ratio.
2010-07-23 improved next_pc_slice() to cope with the partition-loop problem.
2010-07-22 try to solve the problem of missing Linux extended partitions in Tab-completion.
2010-07-21 improved next_pc_slice() to cope with the partition-loop problem.
2010-07-20 changed code about pxe_basemem to solve the problem that pxe_unload fail to release memory.
2010-07-12 fixed a bug in guess_dos_versions(for DOS executable grub.exe).
2010-06-21 applied bean's patch(supported new (ud) device created with fbinst1.6).
2010-06-09 applied karyonix's patch(fixes on grub_read and blocklist).
2010-06-07 adjusted probe_int(dosstart.S) to deal with HP DV3-2309TX on its garbage int76 vector.
2010-06-03 adjusted restore_BDA_EBDA(dosstart.S) to deal with HP on its garbage EBDA size byte.
2010-05-31 unhook int13 before hooking it in load_initrd() to avoid duplicate hooking.
2010-05-29 resolved conflict between drives_addr and mmap_addr for multiboot kernels.
2010-05-27 adjusted probe_int(dosstart.S) to deal with DELL on its garbage int05 vector.
2010-05-23 change /main.lst back to /menu.lst, and the original /menu.lst dir to /menu for pxe booting.
2010-05-21 changed initial config filename from /menu.lst to /main.lst for pxe booting.
2010-05-19 fixed problem of mapping small file(<512B) to (rd).
2010-05-15 added --keep-pxe option for grub.exe running under DOS.
2010-05-14 (chenall)fixed ntfs small file(<4KB) access problem.
2010-05-13 added --off option for hiddenmenu. added nokeep subcommand for pxe. let halt return on failure.
2010-05-03 hopefully non-linux kernels could get loaded now. version number changed to 0.4.5b.
2010-03-14 fixed problems in set_bootdev and others.
2010-03-13 fixed a (possible)bug in init_pic(affect grub.exe as a linux kernel format). applied Icecube's patch(curr_part_start).
2010-01-22 applied karyonix's patch(PAE).
2010-01-07 fixed problem of "command-line length limited to 15" on external executables.
2010-01-03 applied karyonix's patch(PAE paging).
2010-01-02 applied karyonix's patch(map improvements).
2009-12-30 fixed the failed find. note that the kernel command could hang while loading non-linux kernels, which is a known bug on newish 0.4.5 versions.
2009-12-28 initial implementation of program execution. fixed a bug causing FAT16 search hang(grldrstart.S). version number changed to 0.4.5a.
2009-12-12 moved up 32-bit grub kernel code at above physical addess 3M. moved down buffer for dd and geometry-tune at 0x20000. moved down raw disk buffer at 0x30000. version number changed to 0.4.5.
2009-12-02 (chenall)fixed a bug in color_func(builtins.c).
2009-12-01 (chenall)fixed a bug which caused dd/write to write onto the wrong sector of the disk(fsys_ntfs.c).
2009-11-29 (chenall)fixed a bug when using (md) to access memory at 2G and above(bios.c). improved memmove64 to support overlap(asm.S).
2009-11-25 Caution! Reports say build 2009-11-08 and later will write wrong data onto disk when using dd and/or write commands.
2009-11-13 (chenall)added --replace option for cat. This will write to file. Caution!
2009-11-11 let PXE_BUF use BUFFERADDR. cancelled (hd+) support. added (hd) and (hd-N) support.
2009-11-09 moved FSYS_BUF and some other buffers up at 0x3E0000. (chenall)added (hd+) support for map.
2009-11-08 map memdrive images at memory address above 4GB(only for 64-bit CPU). deleted SETUP, INSTALL and EMBED commands.
2009-10-16 Turned off int13/AX=4B01/DL=7F cdrom query which may hang on some machines. Commented out DMA code related to running via KEXEC. Implemented 64-bit int13 memdrive block moving code.
2009-06-20(r68) add (ud) device to access space created with fbinst.
2009-06-11 fixed a bug of missing assignment of ES and BX registers in int13_handler(asm.S).
2009-05-13 fixed size-wrap-to-0 infinite loop issue in grub_read()(disk_io.c).
2009-05-07(r67) resolved conflict between int10 stack and BIOS Data Area(grldrstart.S).
2009-05-03 fixed a bug in geometry_tune(grldrstart.S, asm.S). zw2312914 report.
2009-04-30 triple mbr without bpb also bootable as a floppy(grldrstart.S).
2009-04-26 added ending CHS calculation for partition entry in mbr of the triple mbr(bootlace.inc).
2009-04-25 bug fix in dd about device length calculation(builtins.c).
2009-04-24 save and restore GDTR in int13_handler(asm.S).
2009-04-06 accept partitions starting in the mbr track(probe_mbr, builtins.c).
2009-04-05 triple mbr floppy partition (fdX,Y) support for some USB BIOSes(disk_io.c).
2009-04-04 fixed partition table entries in the 2nd and 3rd mbr of the triple mbr(bootlace.inc).
2009-03-31(r66) 0.4.4 official release.
2009-03-28 removed the problematic global variable "i"; reduced one open-file step for configfile on cdrom.
2009-03-27 fixed memory overlap issue on "map --rehook".
2009-03-25 disabled the search for DEFAULT file on cdrom(in cmain, stage2.c).
2009-03-24 fixed problem of WRITE/DD on modifying internal variables. added dd options for user-defined buffer.
2009-03-21 bug fix: turned errorcheck on in run_script and enter_cmdline.
2009-03-20(r65) fixed `configfile not working in menu init command group'.
2009-03-19 trying to fix problem of `configfile running slowly'.
2009-03-18 fixed problem of `geometry-tune too slow' on vmware.
2009-03-17 fixed endless loop problem while running "configfile (md)4+8".
2009-03-15 added new option --sync for geometry command.
2009-03-14 added new option --tune for geometry command.
2009-03-12 rearranged preset-menu items.
2009-03-11 changed geometry-tune code(aim to solve problem on vmware).
2009-03-07 fixed a bug(in grldrstart.S) brought in since 2009-02-05.
2009-03-03 fixed memory overflow issue with (rd). canceled restrictions on some disk write commands.
2009-02-26 fixed geometry-tune issue(reportedly with Virtual PC).
2009-02-21 changes made according to Simon's hiddenmenu patches.
2009-02-20 documented the command line needed for chainloading stage2 of grub legacy.
2009-02-19 now a range of drives can be unmapped.
2009-02-18 possibility to run another menu.lst after gfxmenu.
2009-02-17 fix graphics display issue generated last time.
2009-02-15 improved color command to set color for help text and heading line.
2009-02-13 fix problems booting Linux when there are mappings.
2009-02-11 added ext4 support(in fsys_ext2fs.c).
2009-02-09 isolinux.bin(version 3.73) gets chainloaded again.
2009-02-08 Move some variables to a known address. The read command returns value at addess.
2009-02-03 New initrd syntax loading multiple cpio files for Linux 2.6 kernels.
2009-01-30 Supported per-menu-item help text.
2009-01-28 Fixed printf issue. Allowed non-block files to be written with dd and write.
2009-01-24 New syntax of WRITE support writing string to file.
2009-01-16(r64) Added gfxmenu support
2009-01-09 New commands dd and uuid. fixed a bug in disk emulation.
2008-12-30 Work around for BIOSes lacking INT15/E820 support.
2008-12-29(r63) Now the preset menu holds the highest priority. MSYS/MinGW support.
2008-12-24 Added "detect" sub-command for the "pxe" command.
2008-12-21 Fixed several bootlace bugs when running under DOS.
2008-12-20 bootlace is now able to create triple MBR.
2008-12-19 fixed problem of Disk Read Error on the last track.
2008-12-16 under DOS bootlace can use a parameter file for its command-line arguments.
2008-12-12 added a new option --chs-no-tune for bootlace.com.
2008-12-07 workaround for buggy no-emulation-mode cdrom BIOSes.
2008-12-04 fixed ext3 inode size issue on bootlace. fixed partition table check issue on bootlace.
2008-12-03 cut off the MENU_BUF. removed the TESTLOAD command. added TITLES array.
2008-12-01 added new program badgrub.exe. changed syntax of the find command.
2008-11-19(r62) enable interrupt when DELAY. avoid disabling CPU cache in a20_test(a20.inc).
2008-11-18p added STIs to better respond hardware interrupt(a20.inc, asm.S).
2008-11-18 changed DELAY code(a20.inc). added JMPs in unreal mode for RAM disk emulation(asm.S).
2008-11-15 loosened the check of the first FAT entry(fsys_fat.c). avoid using OUT instruction in DELAY(a20.inc).
2008-11-11(r61) added --ignore-cd option for the find command.
2008-11-08 read the boot file to determin the pxe block size. avoid running pxe_detect for non-pxe booting.
2008-11-02 added a new option --mbr-no-bpb for bootlace.com.
2008-11-01 changed PXE_MIN_BLKSIZE and PXE_MAX_BLKSIZE. allowed FAT cluster size larger than 32K.
2008-10-26 fixed pxe block size issue.
2008-10-21 fixed cylinder issue in int13/ah=8. Fixed stack conflict in bootlace.
2008-10-17 added command line options --serial-number=SN and --restore-mbr to bootlace.
2008-10-12 fixed a bug in fsys_fat.c causing FAT32 mount failure.
2008-10-03 cancelled unnecessary initialisations for the root device.
2008-10-02 improved int15 probing in probe_int.
2008-10-01 before booting GRLDR, give the user a chance to boot previous mbr.
2008-09-30 fixed a big bug in set_bootdev causing extra rawread executed and the geometry messed up.
2008-09-29 fixed a big bug in get_diskinfo causing duplicate geometry calculation for each IO request on floppy.
2008-09-27 fixed a new bug intrduced recently in get_diskinfo.
2008-09-25 fixed an issue of uninitialised current_term in boot.c, causing the failure of the kernel command in graphics mode.
2008-09-24 fixed the issue of "$BITMAP should be non-resident when in attribute list" in fsys_ntfs.c.
2008-09-23 fixed virtual cdrom sector read issue(64K at a time) for a non-mem mapping.
2008-09-21 added a new command "tpm --init".
2008-09-21 fixed memory conflicts between graphics mode and linux kernel.
2008-09-20 fixed a serious problem in grldrstart causing boot failure on FAT.
2008-09-19 fixed a new bug intrduced last in get_diskinfo.
2008-09-15 fixed a problem when different action occurs on a drive between chs and lba.
2008-09-13 fixed a problem of reentering int13 handler from a virtual device on a real cdrom device driven by the builtin cdrom driver.
2008-09-12 fixed an issue of whole cdrom mapping.
2008-09-09 fixed virtual cdrom sector read issue when it is not a mem-mapping.
2008-09-07 title delimitors(or comments) can be used in menu now.
2008-08-27 save stack space occupation by the int13_handler.
2008-08-26 fixed a bug relevant to iso emulation, causing disk read error.
2008-08-24 save stack space occupation by the int13_handler.
2008-08-14 enlarged stage2 stack space.
2008-08-13 fixed again the bug on the root command.
2008-08-12 fixed int5 in probe_int.
2008-08-10 added a new command checkrange; fixed a bug on the root command.
2008-08-08 added builtin stack for int13_handler to avoid stack overflow.
2008-08-06 fixed a suspicious problem on the SCRATCH buffer in get_diskinfo.
2008-08-04 fixed again error handling problem about operator && and ||; added STIs to better respond hardware interrupt.
2008-08-03 fixed error handling problem about operator && and ||; grldr.mbr structure change; other small alterations.
2008-07-28 added STIs to better respond hardware interrupt or to feed watchdog.
2008-07-10(r60) let KEY_UP(KEY_DOWN) loop to the last(first) menu entry.
2008-07-06 added backup_int13 and restore_int13 for a buggy usb bios f24a ver 1.00parttbl on compaq v5235tu(reporter: uleak). turn a20 debug on for memdrives.
2008-06-28 fixed ext3-inode-size issue in grldr boot sector and bootlace.inc.
2008-06-26 fixed int4C-4F in probe_int for Lenovo A6900.
2008-06-24 fixed "256-byte ext3 inode size" issue in fsys_ext2fs.c.
2008-06-23 added command ls.
2008-06-22 disabled safe_int13 code for a buggy usb bios f24a ver 1.00parttbl on compaq v5235tu(reporter: uleak).
2008-06-21 add A20 debug code to help locate a20 failure.
2008-06-18 A20 test begins. Update version number to 0.4.4.
2008-06-12 Let HIDE and UNHIDE respond with a message.
2008-06-10 Let ROOT show correct filesystem info.
2008-06-07 Let MAKEACTIVE and GEOMETRY show active partitions.
2008-06-01 commented out the terminal-switching code in run_menu.
2008-05-31 changed asm.S to avoid clearing out bss for the configfile command.
2008-05-27 initialize saved_videomode/font8x16 for working across configfile.
2008-05-25 fixed int76 in probe_int for a Tongfang.
2008-05-22 fixed an issue of CPU cache wrongly disabled in GRUB.EXE for long.
2008-05-21 fixed an issue of stack-overflow in real_get_cmdline.
2008-05-17 enable the geometry_tune code for test only.
2008-05-14 fix int5 and int8 in probe_int.
2008-05-06 adjustment on probe_int for "pxe keep".
2008-05-03 fixed problem on the commands setup and install.
2008-05-02(r59) add new command checktime.
2008-05-01 fixes on int vector probing, A20 control, configfile, find, etc.
2008-03-14(r58) commented out the geometry-tune code. other fixes.
2008-01-01(r57): mini build support
2007-12-25(r56): created the test branch
2007-12-25(r55) removed commands uppermem, ioprobe, impsprobe and displayapm.
2007-12-14 test 3 of the geometry-tune.
2007-12-10 cleanups on chainloader and errorcheck.
2007-12-05 fixed a bug in ntfs file system module.
2007-12-04 fixes on gzipped (rd) image support.
2007-12-02 int13 emulation workaround for buggy BIOSes('Disk read error').
2007-11-23 implemented cdrom emulation.
2007-10-15(r54) version 0.4.3
2007-10-08 implemented chainloading isolinux.
2007-10-04 changed drive number of (md) to 0xffff.
2007-10-02 reduced output messages for "debug off".
2007-09-27 added a new map option of --a20-keep-on.
2007-09-26 a workaround for buggy USB floppy BIOSes(hang at INT13/AH=48h).
2007-08-27(r53) new notation () standing for the current root device.
2007-08-26 new feature of root prefix for support of relative path.
2007-08-25 fixed one more possible issue on A20.
2007-08-24 fixed another possible issue on A20 for memdrives.
2007-08-23 fixed a possible issue on A20 for memdrives.
2007-08-21 expand memdrive size according to the probed CHS.
2007-08-17 test A20 control for memory mapped disks.
Updated code for hmload.
Fixed a major problem of endless loop on enumeration of partitions.
Fixed an issue in probe_mbr.
Fixed a bug on compressed NTFS volume.
Fixed a problem in probe_int by capturing int10.
2007-07-25 version 0.4.3pre2
Added a new command OUTLINE, and a new option --duce for GRUB.EXE.
Changed PARTNEW syntax. Fixed a problem of OPEN_PARTITION.
The arguments of PARTTYPE have changed to be optional.
A Fault-Recovery-Handler was imposed on probe_int to fight against
some very serious BIOS bugs(reportedly of DELL machines).
The DEBUG command syntax was changed for verbosity control.
2007-06-22 version 0.4.3pre1
Fixed two problems on GRUB.EXE: preset_menu and FreeDOS related.
Added a new command `hiddenflag'; Added BPB in GRLDR.MBR; Ignored the
partition-ID check in filesystem modules; other fixes.
PXE and NTFS fixes.
Fixed a bug in probe_int for GRUB.EXE running in VM86 mode.
Rewrite fsys_ntfs.c
Fixed probe_int and init_pic in GRUB.EXE. Reduced warnings in bios.c.
Added PXE support.
NTFS code update for bootlace. Fixed timing functions.
fix a bug in get_diskinfo; protect the MBR of an in-situ-mapped drive.
Insert-key to debug on startup; polish graphics. NTFS boot record fix.
Bugfixes on STAGE2_SIZE, arrow keys, and handling `&&'/`||' in menu.
Move preset menu to the end/tail of pre_stage2.
Numeric keys to select menu entry; fixed a bug of int13 harddrives.
Code clean-ups on build script and keycode translation.
F11/F12 hotkey handling.
Added builtin NTFS boot sectors into GRLDR.
Added 3 commands is64bit, errnum and errorcheck.
Applied Robert Millan's patch of check_64bit.
Implemented two syntactic operators `&&' and `||'.
Added a new option --in-situ for the map command.
Fixed an auto-probe-int problem of GRUB.EXE under "EMM386 noems".
Workaround for buggy VirtualPC on a issue of floppy-emulation-mode
bootable CDROM.
2006-12-28 version 0.4.2
Fixed a bug hidden deeply in memcheck.
Fixed a bug hidden deeply in get_diskinfo.
Fixed a bug in load_image.
GRLDR(as a no-emulation-mode bootable CDROM image) was adapted to
cope with some buggy BIOSes(e.g., VirtualPC).
Added LBA-to-CHS geometry translation(in int13_handler) to simulate
LBA(EBIOS)-enabled drives on CHS-only drives.
Added a new feature of Unconditional Command-line Entrance.
Applied Beverly Brown's patch to load_initrd.
Added two new options to the map command to better serve Win9x.
The default config file search path for GRUB.EXE was changed to
(DOS file) .\menu.lst and then (DOS file) \menu.lst and then
(GRUB file) /menu.lst.
Other bug fixes.
2006-10-24 version 0.4.2pre11
Made a workaround for buggy USB-bootable board QDI 848E.
Made a workaround for buggy 965 board with SATA CDROM connected.
2006-10-07 version 0.4.2pre10
Fixed a problem in GRUB shell which causes failure in grub-install.
Enabled GRUB.EXE to run under FreeDOS with memdrives in use.
Implemented an auto-probe mechanism to support all kinds of DOSes.
2006-09-19 version 0.4.2pre9
Resolved several problems:
1. (about kexec)Dropped the problematic kexec-tools-1.101-patch.
2. (about stack)Adjusted code in C files to use less stack.
3. (about cdrom)Fixed a few bugs in the cdrom driver.
2006-08-29 version 0.4.2pre8
Added a new command `setvbe'.
Dropped the obsolete EZ-BIOS(with signature `AERMH') support.
Fixed a bug in parsing Rock-Ridge extension.
No-emulation-mode Bootable CD can be chainloaded now.
Some work was done to improve remote/diskless boot.
Fixed one more USB/Floppy EBIOS problem(in get_diskinfo).
Merged protected mode stack into real mode stack at 0x2000.
Code clean-up.
2006-07-31 version 0.4.2pre7
Imported ATAPI CDROM driver from Smart Boot Manager.
Dropped the previous implementation of SCDROM/BIOSCDROM.
Fixed a USB/Floppy EBIOS problem that could cause media access failure
or even hang the machine when using USB storage devices.
Fixed a bug in BOOTLACE.COM that had improperly set the LBA indicator
byte(which is at offset 0x02 of the boot sector).
Fixed a bug in GRLDR that caused failure in finding the associated
MENU.LST config-file(which should be in the same directory as GRLDR).
2006-06-18 version 0.4.2pre6
Dropped the obsolete EZD disk map support.
Fixed several bugs that may hang or slow the qemu virtual machine.
Fixed a bug that causes the pause command not to respond any key-press.
Fixed a bug that causes a command to accidentally fail if in a menu.
Fixed a bug that causes the menu not to work once a cdrom had booted.
2006-06-05 version 0.4.2pre5
Added a static-linked binary executable file GRUB(a Linux utility).
Fixed a gateA20 problem related to memdrive emulation.
Boot GRUB.EXE directly off Windows9x/Me(experimental; might hang).
2006-04-03 version 0.4.2pre4
Made GRUB.EXE run under EMM386.
Fixed a bug in splashimage_func().
Made `ignore error' constant and removed the `--ignore-error' option,
and renamed the option `--seconds=T' to `--wait=T' for savedefault.
The sample menu.lst was modified accordingly.
2006-03-28 version 0.4.2pre3
New syntax for the `default' and `savedefault' commands was
implemented.
Changed `int' to `unsigned long' for filemax, filepos and fsmax, and
modified all fsys_*.c files in order to open large files(2GB or
longer).
2006-03-09 version 0.4.2pre2
The directory `boot/grub/' was removed from the release tree(GRUB4DOS
does not use the stage files at boot time). The default config file for
GRUB.EXE was changed to (hd0,0)/menu.lst(but preset_menu still locates
(hd0,0)/boot/grub/menu.lst when (hd0,0)/menu.lst does not exist).
Added DOS command-line options --bypass, --time-out=T and --hot-key=K
for GRUB.EXE.
2006-02-24 version 0.4.2pre1
gcc-4 support by VirusCamp.
Limited support for returning to DOS from GRUB.EXE.
Implemented a new feature that GRUB.EXE can be used as a DOS device
driver and be started in CONFIG.SYS with a DEVICE line.
Better IODELAY was made for initialization of PIC to fix the
keyboard-not-responding problem when running through KEXEC.
Better A20 gate control was made to help fix various problems on the
boot of grub.
2005-12-14 version 0.4.1
Fixed a partition enumeration bug(in disk_io.c). Fixed a bug of mapping
partitions to harddrives(in builtins.c). Fixed a bug that causes
failure when `find --set-root' on a CD-ROM device(in builtins.c). Added
a new feature of directly chainloading ntldr and some dos kernels.
2005-11-14 version 0.4.1pre32
Fixed more bugs.
2005-11-02 version 0.4.1pre31
A few bugs were fixed.
2005-10-23 version 0.4.1pre30
A bug about "bootlace.com --floppy" was fixed.
2005-10-18 version 0.4.1pre29
Added ram disk device (rd) to access, typically, the initrd image.
Added many new command-line options for bootlace.com to install GRLDR
boot record onto the boot sector of a floppy. A few bugs about
"map --mem" were fixed. Another bug about finding grldr in NTFS was
also fixed. It may cause the machine to hang up when there is no ntfs
boot record in the boot area of the NTFS partition.
2005-09-25 version 0.4.1pre28
Commandline option --config-file="FILENAME_OR_RAW_COMMANDS" was added
for GRUB.EXE where GRUB.EXE is treated as a Linux kernel.
Fixed a bug which causes installation failure when BOOTLACE.COM is
used for large disks.
2005-09-21 version 0.4.1pre27
Added a patch to the kexec-tools-1.101. Kexec might fail to load
grub.exe without this patch.
2005-09-14 version 0.4.1pre26
Fixed a bug for the DOS part of BOOTLACE.COM
2005-09-11 version 0.4.1pre25
GRUB4LIN has merged into GRUB.EXE; A new command-line option
--read-only was added for BOOTLACE.COM; A few bug fixes.
2005-09-01 version 0.4.1pre24
BOOTLACE.COM runs under both DOS and Linux.
2005-08-27 version 0.4.1pre23
Added a utility BOOTLACE.COM for installing grldr bootstrap code to MBR
2005-07-30 version 0.4.1pre22
Added bootstrap file GRLDR.MBR for launching grldr from MBR.
2005-07-24 version 0.4.1pre21
Added Windows NT 4.0 support(actually fixed a bug reported by Stefan
Baur). For other new features, see README.txt.
2005-07-20 version 0.4.1pre20
Added ext2/ext3 boot record code for loading grldr from the beginning
sector of a floppy or a partition.
2005-05-25 version 0.4.1pre5
GRUB commands can be embedded into the command line of GRUB.EXE
2005-05-20 version 0.4.1pre4
Bug fixes: When the system has no floppies, some operations,
e.g., the find command, will hang the machine.
2005-05-17 version 0.4.1pre3
Search for cdrom_drive from drive 0x88 to drive 0xff
2005-05-11 version 0.4.1pre2
Our base is now upgraded to GNU GRUB 0.97.
2005-04-25 version 0.4.1pre
Fixed a bug reported by Gilles van Ruymbeke
<gvr_no_spam_123@ruymbeke.com> <gvr_grub4dos123@ruymbeke.ch>:
The map_func improperly opened the emulation image for 3 times, that
might slow down the load speed heavily, especially for gzipped files.
2005-04-15 version 0.4.0
Add /boot/grub/menu.lst in preset menu. This is final.
2005-04-07 version 0.4.0pre7
config_file takes precedence over preset_menu.
2005-04-06 version 0.4.0pre6
GRLDR can be used with no-emulation-mode bootable CD-ROM.
2005-03-09 version 0.4.0pre4
Now preset menu find /menu.lst, no longer support /boot/grub/menu.lst
Partition images can emulate a partition (hd?,0) with --mem option.
2005-03-02 version 0.4.0pre3
GRLDR startup code search all partitions in all harddrives for GRLDR.
chainloader can boot images larger than 512 bytes, and can load image
to a different location than 0000:7C00.
2005-02-06 version 0.4.0pre
Switched to GNU GRUB 0.96
The --mem option of MAP command was added for memdrive emulation.
Also announced 0.2.0 final.
2004-10-23 version 0.2.0pre13
GRUB.EXE runs in DOSBOX.
GRUB4LIN is introduced to boot off LINUX.
Fixed a bug reported by windrv: NTFS check contiguity failure
Rearranged the patches.
2004-08-31 version 0.2.0pre12
Fixed a bug reported by szwp: cannot load GRLDR on partition that is
not CHS-accessible.
Fixed a bug reported by windrv: take too much time to check contiguity
2004-08-15 version 0.2.0pre11
Mark the scdrom module as experimental.
2004-07-13 version 0.2.0pre9
Merged GNU GRUB 0.95
BOOTGRUB removed. Use BOOT.INI line C:\GRLDR="Start GRUB" instead.
Patches from Gandalf: NTFS and ATAPI CDROM support(also thanks to
Tobias Svensson <tobiassvensson@home.se>)
Patches from Chris Semler <csemler@mail.com>: findroot
2004-04-12 version 0.2.0pre6
Now GRUB.EXE can be used in CONFIG.SYS this way:
shell=C:\some\where\grub.exe --config-file=(hd0,0)/boot/grub/menu.lst
or
shell=C:\some\where\grub.exe
No other changes.
2004-04-09 version 0.2.0pre5
Now BOOTGRUB contains 4 sectors, i.e., 2048 bytes. Optionally, you may
copy the 2nd, 3rd and 4th sectors of BOOTGRUB to the three sectors that
immediately follow the MBR. Also Optionally, you may copy 446 bytes
from the very beginning of BOOTGRUB to the very beginning of MBR. In
this way, the GRLDR can be started out of MBR, without the presence of
NTLDR.
CAUTION: Don't copy 512 bytes to MBR. The partition table should not
be overwritten. The partition table is in the end of MBR. If you make
a mistake, you will lose your whole system!!
2004-02-18 version 0.2.0pre4
Arbitrary-size floppy and hard disk emulation finally implemented.
GRUB for NTLDR is included. See README file.
Splash image version is available in the SPLASH directory.
2003-09-23 version 0.1.4 -- development unstable release
Unfortunately 0.1.3 has an ugly bug. Fixed.
2003-09-01 version 0.1.3 -- development unstable release
Rewrite the code for guessing FreeDOS int vectors. Hopefully it works
for all the future versions of FreeDOS :-)
2003-08-25 version 0.1.2 -- development unstable release
Fixed a small bug that affects the read of the emulated floppy sectors.
Added some files (including the menu.lst file) for installing GRUB to
MBR from DOS. Usage:
Copy the boot directory to C:\ ; You must do this on Windows, NOT dos,
because DOS cannot deal with the long filenames.
Run grub to access the menu.lst file in C:\boot\grub ; Of cause on DOS.
When menu occurs, select a proper menu item for installing GRUB to MBR.
If the menu does not appear, you should get the "grub>" prompt. At the
prompt, type the following commands:
grub> configfile (hd0,1)/boot/grub/menu.lst
grub> configfile (hd0,2)/boot/grub/menu.lst
grub> configfile (hd0,3)/boot/grub/menu.lst
Then, the menu should occur.
2003-06-29 version 0.1.0.1 -- development unstable release
Do some cleanups on 0.1.0, no important changes.
BTW, it seems that the 0.1.0 is quite stable :-)
2003-06-29 version 0.0.8
Restore mapped int13 to the unmapped state while grub is invoked
after a previously performed drive map operation.
2003-05-29 version 0.1.0 -- development unstable release
Floppy 1.44M drive emulation are OK. GOOD!!!! Usage:
# boot Windows 98 SE
map (hd1,0)/dos98se.img (fd0)
chainloader (hd1,0)/dos98se.img
rootnoverify (fd0)
boot
Another example:
# boot Mandrake hard disk installer
map (hd0,0)/hd.img (fd0)
chainloader (hd0,0)/hd.img
rootnoverify (fd0)
boot
Note that the floppy image file must size 1440KB, i.e., 1474560 bytes.
_AND_ also, the file must consist of one contiguous disk area, no
holes, no fragments. Use GRUB's blocklist command to determine whether
or not an image file is contiguous. It is known that a 1440KB-file is
always non-contiguous if it resides in an ext2 filesystem. But you may
get a 1440KB contiguous file with an FAT32 partition(vfat filesystem).
Floppy(and hard disk) with arbitrary sizes will be emulated in the
future.
2003-05-06 version 0.0.7
Fixed a huge bug!! Read the following carefully!
Using the drive map command(just as many distributions currently do)
map TO_DRIVE FROM_DRIVE
to boot your system could seriously _damage_ your hard disk data,
totally and thoroughly!! This bug has just been fixed in 0.0.7 :-)
This bug is not specific to grub_for_dos, but caused by the original
grub-0.93 release. So do _NOT_ use map command any more until my fix is
accepted by GRUB maintainers or a similar fix is made by other
people. For now, do _NOT_ use map command in any kind of Linux
distributions such as Red Hat or Mandrake or any others.
Because GRUB_FOR_DOS-0.0.7 already applied the fix, so it
should be safe to use the map command.
Another small bug was also fixed in grub_for_dos-0.0.7 :-)
2003-04-29 version 0.0.6
Runs also on MS-DOS 3.30. No other changes.
2003-04-26 version 0.0.5
Runs on MS-DOS 4.0, 5.0, 6.0, 6.20, 6.21, 6.22, 7.0, 7.10, 8.0 and
FreeDOS(build 2029). GOOD!!
2003-04-20 version 0.0.4
Running on FreeDOS(build 2029), GOOD!! (But currently GRUB.EXE only
has limited FreeDOS support, maybe unstable.)
Add a "Guess DOS Version" feature. The program now exit to DOS when
guess failed. The previous versions of GRUB.EXE always hang when
running on an unsupported DOS version.
2003-04-13 version 0.0.3
The option "--config-file=FILE" was added.
2003-04-11 version 0.0.2
Also runs on MS-DOS 8.0 (i.e., the DOS with WinMe/2000/XP), GOOD!!
The GRUB.PIF file included, so GRUB.EXE can be started from Windows 9x
2003-04-10 version 0.0.1
Runs on MS-DOS 7.10(Win98)
|