中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: [转帖]把 DOS 放进 BIOS 上一主题 | 下一主题
comsci
新手上路





积分 8
发帖 3
注册 2008-10-27
状态 离线
『楼 主』:  [转帖]把 DOS 放进 BIOS [已使用 LLM 解释]

以下内容转自本人未测试,仅供参考:

硬盘无法启动,无光、软驱,没关系!不死系统让你电脑维护不耽误!作者:老毛桃


  前些时候在系统维护区看到一个《清理 BIOS 垃圾,提高系统启动速度》的帖子。非常感兴趣,回去自己抽时间试验了一下,其实感觉启动速度提高并不明显。在失望之余,我又看到了 fujianabc 大侠在此帖的回复,说是在 BIOS 中加入一个 freedos。不怕各路大侠笑话,老毛桃确是第一次听说可以将 freedos 放入 BIOS 中。于是开始怕怕地想自己搞一搞。在 fujianabc 提供的链接中间接的找到了 freedos 的 rom 版下载地址 http://rayer.ic.cz/romos/romose.htm ,好在这个 E 文网站自己还大致能够看懂。于是就一不做,二不休,干起来了。

  先是将这个 romos.bin(64kb 的那个)下载下来,再准备好其他的工具,如 CBROM(老毛桃用的是 CBROM 2.19 版),WinFlash(Windows 下刷新/备份 BIOS 的工具)。具体操作步骤如下:

1.备份 BIOS,以防万一
  先运行 WinFlash,将当前的主板 BIOS 被分为一个文件,比如 I815_BAK.BIN。然后要制作 BIOS 应急恢复盘,就是在一张 Win98 启动软盘中添加上 BIOS 的自动恢复功能。具体方法:
(1)制作一张干净的 Win98 启动软盘,里面只保留 IO.SYS、MSDOS.SYS、COMMAND.COM 等着几个最基本的文件,然后将这个 I815_BAK.BIn 放到软盘的根目录下,再将 AWDFLASH.EXE(DOS 下的 AWARD BIOS 刷新工具)也放到软盘根目录,然后在软盘根目录中建立 AUTOEXEC.BAT 文件,内容如下:

AWDFLASH I815_BAK.BIN /PY /SN /SB /R

  这样,万一修改的 BIOS 出了问题,刷新后无法启动,可以找来一台软驱,放入这张软盘,重新启动机器就可以自动恢复原来的 BIOS 了,切忌 /SB 参数一定要用上,这样的话刷新 BIOS 时不会更新 BIOS 的 BootBlock 部分,至少刷坏了后,主板还能够启动软驱和 ISA 的显卡。(ISA 显卡难求,软驱应该好找吧)


2.清理 BIOS 垃圾,腾出 64KB 空间
  将 I815_BAK.BIN 做一个副本让我们来对其编辑,比如命名为 I815_DOS.BIN。先运行 CBROM219.EXE I815_DOS.BIN /D。用来查看一下当前 BIOS 的空间占用情况,发现剩余空间已经只剩 56.12k。
  由于老毛桃的 I815 主板集成了 i752 显卡,因此会看到一个 VGA 模块,另外还有一个 VRS 模块,将这两个模块去掉后就可以腾出 64kb 的空间了。
  依次运行 CBROM219.EXE I815_DOS.BIN /VGA Release 和 CBROM219.EXE I815_DOS.BIN /VRS 就可以将这两个模块去掉了,
  我们再运行一次 CBROM219.EXE I815_DOS.BIN /D。此时我们会发现剩余空间已经增大到了 85.18kb。


3.加入 freedos 到 BIOS 文件中
  既然有了足够的空间,我们就可以将这个 freedos 加进 BIOS 中了。
  运行 CBROM219.EXE I815_DOS.BIN /ISA romos.bin,
  我们就会看到新添加进去的 freedos 模块了。


4.刷新新的 BIOS 文件
  将新的 BIOS 文件刷入当前主板中。这一步同样使用 WinFlash 就可以实现。不多说了。



  让我们来看看刷新后的效果吧,重新启动后,在自检跳过的第一个画面后,会出现 Press to boot ROMOS ! 这样的提示。

  赶紧按下键盘上的 ScrollLock 键,自检会在列出设备清单以后出现 freedos 的加载画面,一行黄色的“Welcome to ROMOS ver. 1.02 by Martin Rehak (c) 2001-2006; rayer@seznam.cz”。

  很短的时间就启动完成了。

  OK 了,至此,我们在 BIOS 中加入 freedos 微型操作系统(算是操作系统吗?嘿嘿!)的操作大功告成,只要你的硬盘上存在一个 FAT32 的分区,而且上面有一些比如 FDISK.COM、FORMAT.COM、DISKGEN.EXE、GHOST.EXE 等 DOS 下能够运行的程序的话,放心的运行它吧。你可以这样运行你的 GHOST 来恢复你的系统盘数据,也可以这样来分区、格式化,甚至还能够来安装操作系统。怎么样,是不是很爽?最重要的,即使你的光驱、软驱都没有了,硬盘的启动信息丢了无法启动了,也没有关系,启动到 freedos,运行 GHOST.EXE,搞定!

  在此特地感谢 fujianabc 给了我重要的提示和 freedos for rom 的下载连接。另外还要感谢一下《清理BIOS垃圾,提高系统启动速度》这一帖的楼主——鼎元,让我产生了灵感,嘿嘿!
LLM 解释

BIOS 集成 FreeDOS 技术解析

技术背景

将 DOS 系统嵌入 BIOS 是早期硬件维护的创新方案,主要利用 Award/Phoenix BIOS 的模块化结构,通过替换或添加 ISA 兼容模块实现。文中提到的 romos.bin 是 Martin Rehak 开发的 ROMOS 项目,本质是压缩版 FreeDOS 内核,体积控制在 64KB 以内以适应传统 BIOS 容量限制。

关键技术步骤详解

  1. BIOS 备份与恢复机制

    • 备份工具选择:WinFlash 适用于 Windows 环境,DOS 下建议使用厂商原生工具(如 AWDFLASH、AMIFLASH)
    • 应急盘原理:/SB 参数保留 BootBlock(BIOS 引导块),该区域通常存储在不可擦除区域,确保刷坏后仍可从软驱启动恢复
    • 风险提示:现代主板多无软驱接口,建议提前制作 USB 启动盘或使用主板自带的 BIOS 恢复功能(如双 BIOS、Flash BIOS Button)
  2. BIOS 空间清理技术

    • 模块分析:通过 CBROM /D 可查看的典型模块包括:
      • VGA ROM(集成显卡固件)
      • ACPI 表(电源管理)
      • LAN ROM(网络启动模块)
      • Logo 位图(开机画面)
    • 安全移除策略:优先移除非必要模块(如厂商 Logo、VRS 校验模块),保留 BootBlock、ACPI 等核心组件
    • 兼容性问题:I815 主板移除 VGA 模块后需使用独立显卡,现代主板集成显卡模块不可移除
  3. FreeDOS 嵌入技术

    • ROMOS 结构:采用 LZSS 压缩算法,包含最小化 FreeDOS 内核、COMMAND.COM 及基本设备驱动
    • 加载机制:通过 ISA 扩展模块接口嵌入,系统自检时检测到 ScrollLock 按键触发加载
    • 文件系统支持:原生支持 FAT12/FAT16,部分版本扩展支持 FAT32,不支持 NTFS/EXT 等文件系统

现代实现方案对比

| 方案 | 优势 | 局限性 | 适用场景 | |------|------|--------|----------| | BIOS 集成 FreeDOS | 无需外部存储,启动可靠 | 容量限制严格,功能简陋 | 老旧主板维护 | | UEFI Shell | 支持现代硬件,脚本功能强 | 需要 UEFI 支持 | 新型主板诊断 | | 主板自带恢复系统 | 厂商优化,安全性高 | 功能固化,不可扩展 | 品牌机原厂恢复 | | USB 启动盘 | 灵活定制,容量无限制 | 需要 USB 接口支持 | 通用维护场景 |

风险与注意事项

  1. 硬件损坏风险:错误操作可能导致 BIOS 损坏("变砖"),需确保:
    • 刷新过程中无断电
    • 使用主板型号匹配的 BIOS 文件
    • 模块替换时不超过 BIOS 芯片容量
  2. 兼容性限制
    • 仅支持 Award/Phoenix BIOS(AMI BIOS 需使用 AMIBCP 工具)
    • 64KB 限制导致无法运行大型工具(如新版 Ghost)
    • SATA 硬盘需额外驱动支持(传统 DOS 无原生 SATA 驱动)
  3. 现代替代方案:建议优先使用 Ventoy + PE 镜像主板厂商提供的诊断工具,既保留便携性又避免 BIOS 刷写风险

技术演进

该方案在 2000 年代初期有实用价值,但随着 UEFI BIOS、USB 启动普及及硬件性能提升,已逐渐被更安全灵活的维护方案取代。目前仅在特定嵌入式系统或复古计算机维护中仍有应用价值。



2008-10-27 16:03
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
linyong11
初级用户





积分 69
发帖 38
注册 2005-10-20
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

不敢动手,非常支持。


2008-11-3 16:58
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
powerofufo
新手上路





积分 4
发帖 2
注册 2009-2-5
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

好贴呀,我已经在一台810主板的老机上试验成功


2009-2-17 21:40
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
Qtwdftxvt
初级用户




积分 190
发帖 101
注册 2008-11-23
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

非常牛,但在搞到第一台 BIOS 编程器之前不敢尝试。


2009-2-20 16:47
查看资料  发短消息  网志   编辑帖子  回复  引用回复
zlgs
初级用户





积分 88
发帖 45
注册 2005-9-7
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

等卖了新机器
在保质期内一定要尝试
搞坏了换主板O(∩_∩)O哈哈~




我的E盘↘君子之苑√㊣
2009-2-21 22:27
查看资料  发短消息  网志   编辑帖子  回复  引用回复
flamey
初级用户





积分 152
发帖 74
注册 2005-12-1
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

早就知道 作用不大 不想试


2009-4-30 06:00
查看资料  发短消息  网志   编辑帖子  回复  引用回复
wbluse
初级用户





积分 20
发帖 8
注册 2009-4-18
状态 离线
『第 7 楼』:   使用 LLM 解释/回答一下

不太敢试,好象也没这个必要啊.


2009-5-3 09:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
microdust
新手上路





积分 10
发帖 5
注册 2006-5-15
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

真的是很不错..有试一下的冲动


2009-9-20 11:22
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
qianlixunyin
初级用户





积分 32
发帖 18
注册 2008-11-26
状态 离线
『第 9 楼』:   使用 LLM 解释/回答一下

这样看好像很复杂很危险的哦!




你我相识是一种缘分!
2009-10-6 23:08
查看资料  发短消息  网志   编辑帖子  回复  引用回复
qianlixunyin
初级用户





积分 32
发帖 18
注册 2008-11-26
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

不太明白!还是学会以后再做打算!




你我相识是一种缘分!
2009-10-8 19:43
查看资料  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: