![]() |
China DOS Union-- Unite DOS · Advance DOS · Grow DOS --Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum |
| Guest | Log in | Register | Members | Search | China DOS Union |
|
中国DOS联盟论坛 The time now is 2026-08-12 03:17 |
47,811 topics / 349,897 posts / today 0 new / 48,256 members |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » [Download] Memory emulated disk for grub4dos, please test |
| Printable Version 30,501 / 254 |
| Floor1 不点 | Posted 2005-01-12 00:00 |
| 银牌会员 Posts 1,115 Credits 2,491 | |
|
One major drawback of emulating a disk using a disk file is that the disk file must be contiguous. This requirement for continuity is quite strict; for example, the ext2/ext3 partitions in Linux cannot do this. Emulating by copying the disk image to the top of extended memory avoids this drawback.
Advantages of emulating with disk media: It can partially support operating systems like Win98 in protected mode, while the new memdrive does not. The old method of emulating with disk media can support image files of any size (up to 2000GB), while the new memdrive is limited by the amount of physical memory available in the system. Advantages of memdrive: It can support non-contiguous image files and supports gzip-compressed images. To utilize the new memdrive emulation function, the following restrictions need to be met. 1. The motherboard BIOS supports the int15/EAX=e820h function call. Motherboards that do not support this function cannot use memdrive. Some old laptops may be affected. 2. The system physical memory must exceed 64M. memdrive does not use memory within 64M to emulate the disk; it only uses memory above 64M. So, if there is only 64M of memory, memdrive cannot be used. Emulating a disk with RAM memory: memdrive download the binary build(2005-01-12, test only) here: ftp://ftp.linuxeden.com/tinybit/grub.exe ftp://ftp.linuxeden.com/tinybit/grldr ftp://ftp.linuxeden.com/tinybit/grub4lin or here: http://grub.linuxeden.com/wakka.php?wakka=UploadFile/files.xml&action=download&file=grub_test.tar.gz Example: map --mem (...)/.../floppy.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) boot memdrive is more powerful than memdisk in syslinux. memdisk in syslinux can only emulate one disk and must boot from that emulated disk. Our memdrive supports emulating multiple disks, and even can mix the old non-mem way of emulating with disk media, and the emulated disks do not necessarily have to be boot disks, which is very flexible. |
|
| Floor2 blue777 | Posted 2005-01-12 00:00 |
| 中级用户 Posts 134 Credits 452 | |
|
Great! By the way, ask Brother Buodian: Wengier's Super MS-DOS 7.10 BootDisk is bootstrapped by GRUB 0.595, with the kind of stage1 and stage2. How to make such a bootable startup disk? Or is there a way to use GRUB 0.95 on a floppy disk? I have been trying to contact Wengier to consult, but I can't always get in touch. I hope the forum experts can give an answer!
|
|
| Floor3 不点 | Posted 2005-01-12 00:00 |
| 银牌会员 Posts 1,115 Credits 2,491 | |
|
Wengier uses the very old version 0.5.95 mainly because this version is small in size and suitable for placing on a floppy disk. If your floppy disk space is not very tight, it is recommended to use the latest version 0.95.
First, copy the boot/grub directory to the corresponding directory on the floppy disk (that is, there is a /boot/grub directory on the floppy disk). Then, if space is tight, delete the stage1.5 files that are not related to FAT. Enter grub, and at the grub> prompt, type root (fd0) setup (fd0) This is done, and this floppy disk can boot grub. However, in the future, if the stage2 file is deleted, even if a new one is copied later, it may not be able to start. The above steps must be repeated to make a bootable disk again. --------------------------- In addition, a simpler way is that you directly download ftp://ftp.linuxeden.com/tinybit/qlinux_setup.img and make it into a floppy disk. This image is in FAT12 format. You only need to copy any GRLDR file to its root directory, and you can boot GRUB. Except for GRLDR, all other files and subdirectories can be deleted completely. That is to say, the entire floppy disk only needs to have a GRLDR in the root directory. The first sector of the floppy disk is not the DOS boot program code, but the boot code of GRLDR. When executed, this boot program does not look for the IO.SYS file, but looks for the GRLDR file. |
|
| Floor4 blue777 | Posted 2005-01-13 00:00 |
| 中级用户 Posts 134 Credits 452 | |
|
Thanks to Brother Budian for the serious and detailed explanation. Wish Brother Budian's GRUB research project to make further progress! Also wish the China DOS Union to become a professional union in the worldwide scope!
|
|
| Floor5 pierrexqw | Posted 2005-01-16 00:00 |
| 初级用户 Posts 10 Credits 121 | |
|
Hehe, this function has already been done~ : )
|
|
| Floor6 coooooolee | Posted 2005-02-06 00:00 |
| 初级用户 Posts 7 Credits 126 | |
|
Bu di Lao Di: Recently, I've been researching Ghost 8.0 and want to use the network mapping function in Ghost 8.0 to complete network backups. Since I have many machines here with various configurations and all kinds of network cards, I thought about integrating all the DOS network card drivers included in Ghost 8.0 into a single bootable disk and then burning it to a CD. Now there's a problem I can't solve: after the network card automatic detection function of Ghost 8.0 finishes running, it needs to write to the disk, but the CD is read-only. At first, I thought of using ramdisk to solve this, but there were still some technical issues I couldn't solve. Later, I found on the internet that I can use grub + memdisk to achieve this function. But I'm getting a bit old and my brain isn't very sharp. I've been working on it for a long time and still haven't fully understood it. Now my question is: How to use Easyboot to call grub and then call memdisk? Which file needs to be called to start grub through Easyboot? Does this file have to be placed in the root directory of the CD? When Easyboot calls grub, is it in non-emulation mode? I hope Lao Di can give some hints. Thanks a lot.
|
|
| Floor7 不点 | Posted 2005-02-07 00:00 |
| 银牌会员 Posts 1,115 Credits 2,491 | |
|
Dude, still working during the New Year, that's admirable. First, I wish you a happy new year.
Let me make it clear. I didn't know about the easyboot tool before. I just searched and found out it's a CD - making tool. I think you probably want a method to boot GRUB from a CD. The first method is to use the specification of bootable cdrom no - emulation mode to make a bootable disk, and the stage2_eltorito file that comes with GRUB is needed. This method is described in detail in GRUB's online manual and info help manual, but I haven't studied it, so I can't explain it in detail here. The second method is to use the floppy image in the CD. First, boot into a DOS, and add grub.exe to autoexec.bat to start GRUB. The floppy image can directly use the Windows 98 boot floppy (delete some redundant files to save space). You can also download this file ftp://ftp.linuxeden.com/tinybit/qlinux_setup.img This is a floppy image. Delete all the files in it, and then copy the latest grldr file into it, and it becomes a floppy that can directly boot GRUB. It's recommended that you use the latter. I just made a new grub for dos, here: ftp://ftp.linuxeden.com/tinybit/grub_for_dos-0.4.0pre.tar.gz This version 0.4 supports the memdrive function you need. Look at the readme file in it, and there are examples explained. In addition, the problem you raised is how to call memdisk in GRUB. Regarding this, there are also articles on the network. The following is an example I found by searching: kernel /boot/grub/memdisk c=32 h=8 s=36 floppy initr /boot/grub/7200.zip boot Executing the above three commands in GRUB can start from this floppy image. Here, c represents the number of cylinders, h represents the number of heads, s represents the number of sectors 7200.zip is the floppy image file itself. memdisk is a file in syslinux, which can be searched on the network and downloaded for use. Hope these can help solve your problem. |
|
| Floor8 windrv | Posted 2005-02-08 00:00 |
| 中级用户 Posts 118 Credits 385 | |
|
亲爱的 Tinybit,
我已经测试了你的内存盘功能。它可以从内存盘软盘启动,但不能从内存盘硬盘启动。你是否成功地将可引导的分区镜像文件映射到(hd0)并从它启动过?如果成功了,你能给出一个关于如何做到的示例吗? Dear Tinybit, I have tested your memdrive feature. It can boot from memdrive floppy but not from a memdrive harddisk. Have you been successful in mapping a bootable partition image file into (hd0) and boot from it? If yes, could you give an example about how it is to be done? |
|
| Floor9 windrv | Posted 2005-02-08 00:00 |
| 中级用户 Posts 118 Credits 385 | |
|
亲爱的 Tinybit,
还有一件事。你能在你新构建的grldr/grub.exe/grub4lin中加入ntfs支持吗? 请给我们一个下载链接。 非常感谢! |
|
| Floor10 windrv | Posted 2005-02-08 00:00 |
| 中级用户 Posts 118 Credits 385 | |
|
亲爱的Tinybit,
似乎NTFS支持是内置的。但似乎与--mem选项有关。 它通过QEMU运行,在NTFS分区设置了(hd0,0)并带有grldr。 在grldr命令行上,显示: map .... (fd0) 成功 但 map --mem .... (fd0) 出现错误消息:error 1: filename must be an absolute name or blocklist. 发生了什么? Dear Tinybit, It seems that ntfs support is built in. But it seems to relate to the option --mem It runs it from QEMU with a (hd0,0) in NTFS partition setup with grldr. On grldr command line, it shows: map .... (fd0) as successful but map --mem .... (fd0) with an error message: error 1: filename must be an absolute name or blocklist. What happens? |
|
| Floor11 不点 | Posted 2005-02-08 00:00 |
| 银牌会员 Posts 1,115 Credits 2,491 | |
|
> Have you been successful in mapping a bootable partition image file into (hd0) and boot from it?
No, a partition image file cannot be mapped; only a whole drive image can be mapped. map --mem (...)/hda.img.gz (hd0) map --hook chainloader (hd0)+1 boot The example file hda.img.gz can be downloaded from ftp://ftp.linuxeden.com/tinybit/. This hda.img.gz has been successfully tested. Please also download the newly updated grub.exe, grldr, and grub4lin files (at the same FTP URL mentioned above, with the file date being February 8), to test the NTFS issue you mentioned. These files contain debugging information. When testing, please post the output result of the map --mem command. Also, how many GRLDRs are there on your hard drive? Could it be that you are calling an old GRLDR? Please delete all GRLDR files on all hard drives, then copy the latest GRLDR in, and then test. |
|
| Floor12 windrv | Posted 2005-02-12 00:00 |
| 中级用户 Posts 118 Credits 385 | |
|
Dear Tinybit,
Happy Chinese New Year! There isn't much issue with your new pre04 version. Finally, I managed to boot correctly from a USB flash drive . It boots from an NTFS partition of the bootable USB flash drive with grldr set up on (hd0,0). With some adjustments, I could load a 400M FAT32 bootable disk with the --mem option. It seems I have to first write out IO.SYS, MSDOS.SYS & COMMAND.COM onto the disk image file before the memdrive can read the disk image file; otherwise, a disk read error occurs. I haven't thoroughly tested this. But you can give it a try. Regarding how to build the disk image file, one can download the trial version of WINDRV at windrv.net. It includes a WINDRV Client Configurator. Help documentation has been loaded on the website. Briefly, you need to build a partition image file with your content and the above bootable system files. Then use MBR/BS Manager to add a valid boot sector to your partition image file. And then use Build Disk Manager to add the partition image file to a disk image file. You can simply use the default settings. Then use the MBR/BS Manager to add a valid MBR to the disk image file. And you can use it with your --mem option or with syslinux's memdisk. However, your --mem option can't be used to load Win9x as it seems to directly interact with the BIOS hard disk interrupt, which Win9x doesn't like and refuses to load; while memdisk works perfectly with Win9x. Memdisk can also allow people to use more than 1G of memory. Suppose you have 2G of memory, you can use 1G for memdisk and leave 1G for Win9x. I haven't tested it with more memory, and I can tell you later when I find more memory. Memdisk also works well with our WINDRV as Memdisk uses Int15 that doesn't use HIMEM.SYS to handle memory while our WINDRV uses HIMEM.SYS to handle memory. If one wants to use more memory drives with memdisk, one can use WINDRV's Build Disk Manager to add more partition image files to the disk image file, and memdisk can recognize the disk with more drives as there are partition image files within the disk image file. One inconvenience with memdisk is that it disables the use of internal hard disk(s) after loading. To make Win9x run perfectly entirely in RAM, you can either use memdisk/our WINDRV or both working together. To run Win9x stably entirely in RAM for all purposes, you need to use our WINDRV's virtual disk manager to add a virtual disk drive for storing the Windows Swap file; otherwise, some critical applications or hardware may fail, such as USB drives, USB CDROM, E4M, etc. |
|
| Floor13 gmy | Posted 2005-02-12 00:00 |
| 版主 Posts 392 Credits 1,113 | |
|
Thanks but no thanks. Personally, I think version 0.2.0 pre9 is more user-friendly. My one-key GHOST is based on this version. I always feel that the new version is somewhat deviating from the original flavor. For example, the boot from CD function doesn't work, and the new memdisk has relatively high requirements for the system... Also, there is another question: Can the Chinese - localized versions of GRLDR and GRUB.exe from the old version (probably pre9) start the new version 0.4.0? Can we graft c:\boot\grub\*.*?
|
|
| Floor14 不点 | Posted 2005-02-12 00:00 |
| 银牌会员 Posts 1,115 Credits 2,491 | |
|
Thanks, and I really appreciate everyone's great assistance. This simulation code for memdrive was completely written by myself, without referring to memdisk in syslinux, so some aspects are not as good as memdisk. However, since someone found a problem, I need to consider solving it. The requirement that gmy mentioned for a relatively high system is something I don't plan to address. Because I think it's not worth specifically taking care of old machines (if my old Pentium II PII 128M RAM is very smooth, I really can't imagine there are lower-end machines now). If you really want to use an old machine, then memdisk is a very good choice.
The scdrom was not compiled in because I don't have the energy to maintain this module, and I can't eliminate the bugs that appear. And gandalf's Chinese version includes this module, so if you need this module, just wait for gandalf's Chinese version. If possible, it is recommended to directly boot sbm.bin in GRUB, which is also a way to boot the CDROM. Using any old version of GRUB (even including the original unmodified GNU GRUB), you can boot the new version of GRUB for DOS. The method is very simple, like this: kernel (...)/.../grub4lin boot With this method, you can freely use the new version of GRUB without installing it. Those boot/grub/*.* files are not very useful and can be deleted. |
|
| Floor15 不点 | Posted 2005-02-12 00:00 |
| 银牌会员 Posts 1,115 Credits 2,491 | |
|
Version 0.2 is an unmaintained version. It is recommended to switch to version 0.4.
Version 0.4 includes some new command parameters map --floppies=2 Set the number of floppy disks in the BIOS data area to 2 map --harddrives=3 Set the number of hard drives in the BIOS data area to 3 Suppose you have two real hard drives. Now, if you want to disable (hd1), you can do this: map --harddrives=1 Originally you had two hard drives, and now the number becomes 1. Then, you can try whether the number of hard drives has decreased after booting into DOS or win98. This is another way to disable access to (hd1). Previously, it was done by using map --disable-chs-mode --disable-lba-mode to disable. This time, it can be disabled without emulation. |
|
| 1 2 3 4 … 17 Next |
|
[ Contact the Union admin team -
中国DOS联盟 -
Standard version ] Sponsored by ifanr Inc | © 2001–2023 |