Board logo

标题: [下载][原创]发两个做启动光盘的自制工具 [打印本页]

作者: asbai     时间: 2006-4-18 02:27    标题: [下载][原创]发两个做启动光盘的自制工具

==============================================
1. FindCD

  ■ 通过定义标签文件,在多光驱环境正确分别启动光碟所在驱动器。
  ■ 跳过未装光盘的驱动器,不会出现经典的 “Retry,Abort,Fail” 错误。
  ■ 在 MS-DOS 7.1 环境下,能够自动设置 CDROM 环境变量
  ■ 通过程序返回码判断光盘盘符
  ■ 例子:

      FindCD boot\myutil.tag  - 查找并返回存在指定文件的光盘驱动器号

==============================================
2. mkramdsk

解决创建 Win98 光盘启动盘时碰到的 1GB 问题。由于年久失修,Win98 上不能稳定运行于部分内存超过 512MB 的机器,对于物理内存超过 1GB 的机器,更是在绝大部分硬件上都无法正常运行,经常出现包含模式错误、报告内存不足、启动失败等等错误(详情可以google:windows98 memory 1GB)。

另一方面,Win98 启动通常需要使用 xmsdsk 做虚拟系统盘。mkramdisk 首先侦测当前计算机中的物理内存总量和空闲XMS总量,然后调用 xmsdsk 工具分配 ramdisk。特性包括:

  ■ 仅为 Win98 保留 256MB 物理内存,其余内存作为 ramdisk 使用
  ■ ramdisk 的最小尺寸为 36864 KB,从高地址开始分配,驱动器号为 z:
  ■ xmsdsk 必须在工作路径或 path 路径中
  ■ 由于设计时仅为了解决自己的问题,没有定义可配置的命令行参数
  ■ 由于现代机器内存普遍较大,建议把 Win98 的内存交换文件放到 ramdisk 以增强性能(等于变向帮98使用大内存,呵呵)

[ Last edited by llm on 2006-4-28 at 15:35 ]
附件 1: findcd.rar (2006-4-18 02:27, 16.04 K, 下载附件所需积分 1点 ,下载次数: 54)
附件 2: MkRamDsk.rar (2006-4-18 02:27, 11.13 K, 下载附件所需积分 1点 ,下载次数: 44)

作者: JonePeng     时间: 2006-4-20 23:52


  Quote:
Originally posted by asbai at 2006-4-18 02:27:
  ■ 仅为 Win98 保留 256MB 物理内存,其余内存作为 ramdisk 使用

Win98支持最大 768MB 物理内存,把 512M 的内存分给Win98用也不为过。
作者: fujianabc     时间: 2006-4-21 12:00
光盘版的win98,建议换一种思路。不用xmsdsk的ramdisk,而用grub的ramdisk。
先制作一个win98的硬盘镜像(此镜像可以用gzip压缩),然后用grub的的map --mem命令把这个镜像模拟成ramdisk的硬盘来启动。这样的ramdisk直接就是c:盘,原来的硬盘将变成第二硬盘。
作者: asbai     时间: 2006-4-23 05:27


  Quote:
Originally posted by JonePeng at 2006-4-20 23:52:
Win98支持最大 768MB 物理内存,把 512M 的内存分给Win98用也不为过。

这个很难说,理论可以到 1G,但在某些硬件搭配下也是不是有到512M就出问题的。加上本来就是就是做应急启动,通常不需要太多内存,所以采用最保守的方式估计。
作者: asbai     时间: 2006-4-23 05:32


  Quote:
Originally posted by fujianabc at 2006-4-21 12:00:
光盘版的win98,建议换一种思路。不用xmsdsk的ramdisk,而用grub的ramdisk。
先制作一个win98的硬盘镜像(此镜像可以用gzip压缩),然后用grub的的map --mem命䠮..

以前试过grub的光盘启动版一直就没成功过,汗。。。。

虚拟成C盘还是Z盘好像不是很严重的问题,而且gz的压缩率远远小于固实模式的RAR,DOS版的Unrar也是 free/opensource 的。

BTW: GNU接手以后 GRUB 2 也开发了有一阵子了,等 2 出来了到可以试试 ^_^

[ Last edited by asbai on 2006-4-23 at 05:35 ]
作者: fujianabc     时间: 2006-4-23 11:53


  Quote:
Originally posted by asbai at 2006-4-23 05:32 AM:


以前试过grub的光盘启动版一直就没成功过,汗。。。。

虚拟成C盘还是Z盘好像不是很严重的问题,而且gz的压缩率远远小于固实模式的RAR,DOS版砮..

dos下的rar的确比gz压缩率要大,但是解压一个压缩包的时间要比gz时间长的多,rar里面要解压几百个文件,gz在grub下就解压一个img文件。

grub 2,等到它真的可以使用了不知要到何时了,它与现在的grub 0.9x相比增加的功能很多并不实用。
作者: 272922032     时间: 2006-4-23 22:28
98不成问题,关键是驱动,98是一个大型操作系统,不像DOS随便几个驱动了事,主板,显卡,声卡,网卡的驱动程序怎么安装呢?
作者: asbai     时间: 2006-4-24 00:04


  Quote:
Originally posted by 272922032 at 2006-4-23 22:28:
98不成问题,关键是驱动,98是一个大型操作系统,不像DOS随便几个驱动了事,主板,显卡,声卡,网卡的驱动程序怎么安装呢?

是这样的,一般从光盘启动的系统都是用于紧急恢复的,很多驱动只要能工作就好,不要求性能,比如显卡工作在VGA或VESA兼容的SVGA一般足够,硬盘光驱用DOS兼容模式就可以。还有些驱动根本不需要,比如声卡驱动。好像没谁从光盘启动一个完整的日常系统,呵呵
作者: asbai     时间: 2006-4-24 00:14


  Quote:
Originally posted by fujianabc at 2006-4-23 11:53:

dos下的rar的确比gz压缩率要大,但是解压一个压缩包的时间要比gz时间长的多,rar里面要解压几百个文件,gz在grub下就解压一个img文件。

grub 2,等删...

嗯,gz确实比rar快不少,但是一个MINI98本身并不大,一般解开后在30MB以内。而且对一个尺寸相当的压缩包来说,里面放1个文件还是10个文件一般对速度影响应该不大,除了极端情况,比如里面放了一千万个文件。。。。那是对文件系统的压力测试 ^_^。

而且直接从img虚拟文件系统,对98来说应该是不行的。98启动的时候必须在非只读媒体,好像没见过支持对img写入的boot loader还。Win32是到了XP以上才开始支持在只读媒体启动的(WinPE)。

兄台手上有没有用grub做光启的好文?我按照官方文档操作总是有问题,郁闷
作者: 272922032     时间: 2006-4-24 07:32
我只希望能找到一个WINDOWS系列的光盘系统,能运行普通软件的那种,是什么内核不重要,要是没驱动我还要它干什么,拿光盘系统上网聊QQ,是我的梦想
作者: fujianabc     时间: 2006-4-24 11:31


  Quote:
Originally posted by asbai at 2006-4-24 12:14 AM:


嗯,gz确实比rar快不少,但是一个MINI98本身并不大,一般解开后在30MB以内。而且对一个尺寸相当的压缩包来说,里面放1个文件还是10个文件一般对造...

我做的img启动win98是用grub的map --mem命令把img文件影射成一个ramdisk来进行的,ramdisk时可读写的,当然不存在只读的问题。

至于grub做光盘启动,没看到过什么很好的文章,很多都是靠自己平时摸索的。
作者: 272922032     时间: 2006-4-24 12:35
其实,光盘的 瘟98 要不要压缩都没关系,700M的光盘空间足够了,还可以收集好多软件和驱动,关键就是 网卡和显卡的驱动程序,而且主板驱动也是推荐安装的,如果这些驱动少了,98就没有很大的使用价值了,如果是单纯的文件管理,WINPE就足够了,,我还要98干什么?

[ Last edited by 272922032 on 2006-4-24 at 12:38 ]
作者: fujianabc     时间: 2006-4-24 20:07


  Quote:
Originally posted by 272922032 at 2006-4-24 12:35 PM:
其实,光盘的 瘟98 要不要压缩都没关系,700M的光盘空间足够了,还可以收集好多软件和驱动,关键就是 网卡和显卡的驱动程序,而且主板驱动也是推荐安装 ...

压缩之后,启动可以快一点。
就实用性而言,光盘版win98是在winpe出现之前的热门话题,有了winpe之后,光盘版的98的确没有太大的意义了。
作者: 272922032     时间: 2006-4-24 21:06
瘟酒吧 比 瘟PE好用,这个是事实!
作者: fujianabc     时间: 2006-4-24 21:32


  Quote:
Originally posted by 272922032 at 2006-4-24 09:06 PM:
瘟酒吧 比 瘟PE好用,这个是事实!

何以见得?具体体现在什么方面?
作者: asbai     时间: 2006-4-27 01:27


  Quote:
Originally posted by 272922032 at 2006-4-24 12:35:
其实,光盘的 瘟98 要不要压缩都没关系,700M的光盘空间足够了,还可以收集好多软件和驱动,关键就是 网卡和显卡的驱动程序,而且主板驱动也是推荐安装 ...

问题在于安装上述各种驱动以后,启动光盘就被绑定到某种(或某些)硬件驱动上了,无法做成所有硬件环境下通用的启动光盘
作者: asbai     时间: 2006-4-27 01:55


  Quote:
Originally posted by fujianabc at 2006-4-24 21:32:

何以见得?具体体现在什么方面?

PE环境和Win98光启各有长处,PE环境最大的问题我觉得有4个:

  1. 尺寸相对大很多
  2. 启动速度很慢,尤其是光启版pe,更尤其在比较烂的光驱上,呵呵
  3. 也是最致命的,光启PE的硬件兼容性不如98好。因为不能工作在DOS/BIOS兼容模式。据个例子,很多BIOS INT13支持SATA RAID甚至SCSI RAID访问,这时光启98因为可以直接通过BIOS读盘,所以无需任何驱动就能够正常访问盘阵,光启PE在很多时候就不行,必须在building它的时候加入了正确芯片组的驱动。像网卡、光驱等设备98虽然不能直接支持,但是只要事先在DOS加载了这类驱动,98里一样可以在DOS兼容模式访问。DOS下加载驱动毕竟比重新building WinPE环境方便多了。
  4. 想要定制WinPE环境的API太困难,这也限制了能够在该环境下运行的应用。定制光驱98的API是十分方便的。不过一些比较新的API,即使是完整版98里也是没有的,而且Unicode版本的应用需要 MSLU 以及编译时支持。

除了以上几点外,貌似PE完全超越98
作者: fujianabc     时间: 2006-4-28 10:36
回楼上的:
1、对pe和98做些精简之后,pe和98都在100M左右,尺寸相差不大;
2、若是纯光盘启动,98也不快,现在98和pe都可以用ramdisk启动,速度比纯光盘启动快很多;
3、dos下加载驱动再启动98会影响98的性能的,98最好还是用32位的驱动,如果把pe控制在100多MB,则可以包含很多的磁盘驱动以及网卡驱动,大部分其况下并不要在手动添加驱动了。另外,pe在启动前按F6,也是可以添加驱动的。

个人唯一感到98优于pe的就是能自由地在win和dos之间切换。
作者: asbai     时间: 2006-4-29 16:18
98加上中文字体精简到20MB很容易吧?中文98最小可以精简到12MB,呵呵
作者: fujianabc     时间: 2006-5-1 15:46
20兆以下的98就没多大用了,一般还没有故障恢复控制台有用,或者直接做一个光盘版的win3.2
作者: asbai     时间: 2006-5-1 19:44
非也,20M的已经包含完整的Win32API,甚至包括ddraw API,再加上常用的MFC和VC runtime lib也就25M左右。这个环境在做故障诊断的时候非常有用,由于工作在DOS兼容模式,可以同时跑Win32和DOS里的各种工具,比如磁盘修复、数据抢救等等。