更新:grub_for_dos 0.1.1 发布,增加了 iso9660 文件系统支持。但是还不能读出光盘的内容,因而也没有从光盘引导系统的能力。(在老地方下载)
另外,FreeDOS build 2030 也发布了,但是这个版本引来了 BUG,使得 GRUB.EXE 无法支持它(期待这一 BUG 早日修复)。请继续使用 FreeDOS build 2029。
--------------------------------------------------------------------------------
最新的 grub_for_dos 0.1.0 是一个开发版的系列,实现了引导 1.44M floppy.img 的功能。从这里得到这个软件:
ftp://ftp.cosoft.org.cn/incoming/grub_for_dos-0.1.0.tar.gz
ftp://ftp.gnuchina.org/incoming/grub_for_dos/grub_for_dos-0.1.0.tar.gz
也可进入目录查看:
ftp://ftp.cosoft.org.cn/incoming/
ftp://ftp.gnuchina.org/incoming/grub_for_dos/
下载解压后,在 DOS 下运行 grub.exe 文件即可。当然你也可以在 Linux 下正常编译生成通常的 grub 引导管理器文件。
有关用法和注意事项,请看里面的 README 和 ChangeLog 文件。这里摘录其主要部分:
# 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
软盘映象的大小必须是 1440KB, 即 1474560 字节。映象文件必须是连续的磁盘块,不能有碎片。
如果你用 ext2 之类的分区,恐怕无法生成连续的 1.44M 的文件。解决的办法是用 FAT32 分区。
在 FAT32 分区中将一个文件拷贝成 10 个或 20 个文件,看看哪个文件是连续的,就采用哪个。
在 grub 的提示符下敲入
grub> blocklist (hd0,0)/hd.img
可以看到该 hd.img 文件是由几个不连续的块组成。如果没有逗号,表示是连续的(只有一块)。逗号越多,表示碎片越多。
--------------------------------------------------------------------------------
如果你的机器没有软驱,而你又需要运行某个 floppy.img 上的安装程序(或者引导程序),那么这个软件正是你所需要的。
如果你有软驱,但想节约软盘介质(软盘容易坏掉啊!),也可以试试。
--------------------------------------------------------------------------------
更新:
一个很有用的链接地址:
1.7M 的急救软盘映象倒是容易找到,但 GRUB_for_DOS 目前还没有支持 非1.44M 的软盘映象。所以,找一个 1.44M 的急救盘映像,是很必要的。太好了!下面的 ramf-120.img.bin 软盘映象适用于任意 Linux 系统(不仅仅是某一个发行版的),相关网页在这里:
http://www.linux.org/docs/ldp/howto/Bootdisk-HOWTO/premade.html
http://www.tux.org/pub/people/kent-robotti/looplinux/rip/index.html
以下链接地址就是这个 1.44M 的文件, 可以直接用 dd 命令写入一张空软盘上,也可以用 grub.exe 直接从硬盘启动该软盘映像文件上的 LINUX 急救系统:
http://www.tux.org/pub/people/kent-robotti/looplinux/rip/ramf-120.img.bin
http://www.ibiblio.org/pub/Linux/system/recovery/ramf-120.img.bin
--------------------------------------------------------------------------------
不点提供的其它文章:
DOS下用GRUB.EXE修复启动故障及用ISO文件从硬盘直接安装Linux的方法
数百种 Windows 软件的免费替代品列表
--------------------------------------------------------------------------------
同时启用三个 iso 文件,不解包方便安装 Mandrake
同时启用三个 ISO 文件,不解包安装 mandrake,无须切换控制台(不再用手工输入命令)。
在这里下载:
ftp://ftp.cosoft.org.cn/incoming/MandrakeISOinstall-9.2beta2.tar(在此说明,解包后有很多文件,但你可以不用那些多余的文件,而只用里面的 hd.img 文件。这个 hd.img 文件已经是打过补丁的了。用它制作软盘,引导机器就行,别的一概都不需要了。)
或者进入目录看看在不在(该目录下将来会有其它 Mandrake 版本的 ISO 安装补丁):
ftp://ftp.cosoft.org.cn/incoming/
解压后,用 hd.img 文件即可。这个 hd.img 适合于 9.2beta2 版。你可以用 grub_for_dos 直接启动硬盘上的 hd.img 文件;也可以用 vmlinuz 和 hd.rdz 来启动安装程序(注意看 hd.img 里面的 syslinux.cfg 文件)。这两种办法都是不用软盘的纯硬盘安装。
如果想在以后的发行版中使用,也有办法:把 sh 和 mix_ISOs 这两个文件拷贝到 hd.rdz 里面的 /tmp 目录就可以了。需要等待发行版出来之后才能生成新的 hd.rdz 文件。
但要强调:改动不多,仅仅增加上述两个程序文件(sh 和 mix_ISOs)而已,别的都不改动。而且这两个程序文件是固定的,不随 mandrake 版本的变化而变化。
--------------------------------------------------------------------------------
还要注意有两点限制:
1。三个 iso 文件必须处在某个分区的“根目录”下,不能处在其它子目录下,而且根目录下不要有多余的 ISO 文件,例如,不要有以前其它版本的 Mandrake iso 文件。
2。文件名必须是 mandrake 提供的 iso 文件的原始名字,不应当改变文件名(大小写也不要改动)。
好了,尽情玩耍吧 :-) 程序经过多日调试,应当不会出现失败的。
安装程序照旧会询问你第一张 ISO 的分区位置和文件名,你仍然需要敲入 CD1 的 ISO 名字全称。在这之后,程序自动在那个分区的根目录下找到其他几个 ISO 文件,并自动 mount 上。这你都不用管,继续安装你会发现,所有三张 ISO 的软件包都在。
--------------------------------------------------------------------------------
补充:解开 hd.rdz 的命令:
gunzip -c hd.rdz > hd.rd
或者等价地:
gzip -cd hd.rdz > hd.rd
压缩 hd.rd 的命令是:
gzip -9 -c hd.rd > hd.rdz