网页功能: 加入收藏 设为首页 网站搜索  
BIOS中的分区工具
发表日期:2003-08-13作者:[] 出处:  

其实这只是一个广告 :)

下面是广告时间:

  你是否为ms的丑陋的FDISK感到头痛?或者在为没有一款可心的多OS引导工具发愁?别急,下面就让我来帮助你把分区工具集成到BIOS中,以后你不用引导系统就可以对硬盘分区了,hoho~~

1、介绍:

  以前一直对BIOS感到神秘莫测,因为他掌管了computer的启动大权,各种设备要听他调度,后来捷波主板提供了一个恢复精灵,据说对删除文件、format/fdisk系统都能恢复,中文版本的,还听说是一大卖点。于是一激动就给人家写了个mail,结果人家说商业技术机密,就不理俺了。

  本打算反汇编看看,但偶用的OS都是WIN32下的,居然无法反汇编,而且也找不到DOS下的反汇编工具了,另外这个从BIOS中分离出来的.dat文件反汇编也不会正常。(谁有好办法不防告知一声)后来看到有人在bios中居然集成了分区工具,才知道写能运行在BIOS中的软件的格式和正常的略有不同,为了能让大家体会一下这个工具的方便之处和使用方法,我简单说明如下:

  bfdisk (Bios Fdisk) 是一个多系统的分区工具,他可以支持划分15个分区安装15个操作系统,可以设置在每个系统启动的后能看到哪些分区。软件集成分区、多系统引导的功能,这个以ISAROM格式编写的软件还支持高分辩率的LOGO,强!还有,这是全中文的界面。

 

 下载:http://nfans.net/tmp/bfdisk.rar

    

 

  下载完成后,可以看到压缩包中包括bfdisk.rom、bfdisk.com两个文件,我们需要将bfdisk.rom这个文件写入BIOS中。BFDISK.com是BFDISK.rom的实模式下的版本,他们的功能是一样的。通常我们利用bfdisk.com来检测一下显卡,看看是否支持VESA1.0。如果能看到出现的画面就可以确定显卡测试通过。

  在测试完成后利用AWARD的工具进行BIOS的修改,首先把主板上的BIOS读出来:

  推荐用winflash.exe来读取,这个软件上手比较快,而且能运行在win9x上。执行后点保存的按钮,在出来的对话框中起个名字,点保存后出现save bios窗口,点击backup按钮即可。(我这里把BIOS保存为815ep.BIN)

  然后用cbrom.exe来进行修改,用下面的指令将bfdisk.rom加入到bios文件中:

  CBROM 815ep.bin /ISA BFDISK.ROM

  最后在用winflash.exe 来将BIOS文件写回主板。

  方法是点击工具栏上面保存后面的按钮(第三个),在出来的对话框中找到刚才修改后的BIOS文件。点击打开按钮后会出现新的对话框update bios,点UPDATE按钮即可。(通常所谓的BIOS升级就是如此简单的,我们通过此方法可以集成你想集成的其他的BIOS模块)

  然后重新开机,在硬件检测完成后就会看到一个漂亮的LOGO,在这个时候按CTRL+F键,就会进入程序的主界面。

  需要注意的是该软件只能运行award bios主板,显卡支持VESA1.0,主板支持8.4G以上硬盘的配置,还有利用ISAROM来使用的工具只能加载一个,就是说如果你的机子中有恢复精灵的话,在使用本软件后恢复精灵将会失效。

另外,如果用该软件对硬盘进行分区并进行多系统引导了,不要用PQMAGIC之类的软件来重新移动硬盘分区,很简单这会造成引导程序出错。

  have fun ~

  如果你不小心改坏了导致无法开机,别怪我。。。

  可以通过这个方法修复回来,利用sys a:作一张引导软盘。然后拷贝awdflash.exe 和没有修改的815ep.bin到软盘上,在软盘的autoexec.bat写上awdflash 815ep.bin,软盘启动成功后会两次车,然后按“Y”键,就会将没修改的815ep.bin写回主板。

2、原理:

  上面已经说出,该工具是通过ISAROM格式编写的,只要遵守ISAROM的规范,就可以写出能在BIOS中使用的工具,下面是一个hello world !写回主板后开机会显示hello world !提示。

有如下代码:

=============================================================

;FILENAME BHW.ASM

;MAMS6.0 BHW

;LINK/T BHW

.Model Tiny,C

.486

.code

InitCode PROTO

printf  PROTO :WORD,:WORD

GetKey  PROTO

org 0h

start:

    DW 0AA55h              ;扩展BIOS标志

    DB 40h                 ;本程序大于32K值为80H,否则为40H

    invoke InitCode        ;入口标志

    retf                   ;远程返回

Message db 0dh,0ah,'hello world!',0dh,0ah,0

InitCode proc

    invoke printf,cs,addr Message

    invoke GetKey

    ret

InitCode endp

printf proc uses ds MemSeg:WORD,address:WORD

  push MemSeg

  pop ds

    lea si,address

    xor bx,bx

    mov ah,0Eh

    cld

    lodsb

    .while al != 0

        int 10h

        lodsb

    .endw

    ret

printf endp

GetKey proc

@@:

    mov ah,1

    int 16h

    jz @B

    xor ax,ax

    int 16h

    ret

GetKey endp

end start

=============================================================

利用本文提供的方法,你可以写出能在BIOS中运行的程序,如果具体想编写的话,最好要参考PNPBios的资料来编写。

本文资料和技术均来自周锐光,偶不过学习了一下。感谢周兄的资料和奉献!

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 BIOS中的分区工具
本类热点文章
  入侵检测工具Watcher
  入侵检测工具Watcher
  Sniffit 0.3.7 FOR NT的安装和示例
  Sniffit 0.3.7 FOR NT的安装和示例
  2006年100款最佳安全工具谱
  Narrow安全扫描器
  Narrow安全扫描器
  NetXray使用说明总汇
  NetXray使用说明总汇
  来自Bell实验室的Plan9操作系统
  bugscam分析
  NetXray使用说明总汇
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2024 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00371