用GRUB来引导软盘映象——节约软盘介质了

发表于:2007-07-04来源:作者:点击数: 标签:
更新:grub_for_dos 0.1.1 发布,增加了 iso9660 文件系统支持。但是还不能读出光盘的内容,因而也没有从光盘引导系统的能力。(在老地方下载) 另外,FreeDOS build 2030 也发布了,但是这个版本引来了 BUG,使得 GRUB.EXE 无法支持它(期待这一 BUG 早日修

  更新: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
  

原文转自:http://www.ltesting.net