- 博客(5)
- 资源 (9)
- 收藏
- 关注
原创 MBR完整架构
上一篇文章描述了如何使用LBA模式读取MBR。 但好像并不是所有的BIOS都支持LBA模式,所以最原始的CHS模式(NOMAL模式)也是有必要的。 换句话来说,如果PBR在528MB以内,就没有必要使用LBA模式。 大概流程是判断CHS是否有效,有效(528MB以内)则使用CHS模式。 那么如何知道CHS是有效的呢? 我自己用虚拟机实践了一下,一个20G的硬盘,分成两个10G的主分区,并
2012-07-14 00:35:52 1637
原创 MBR初步架构
MBR的功能就是读取PBR到0x7C00然后转移控制权,说到底就是对于磁盘的操作,如何读扇区。 根据资料得知,硬盘目前有三种工作模式: 1.NOMAL模式(支持最大容量为528MB) 2.LBA模式=Logical Block Addressing Mode(线性表示扇区,支持最大容量为137.4GB) 3.LARGE模式 PBR在什么位置决定了读取方式,而不是仅由硬盘容量判断。
2012-07-13 12:51:14 1229
原创 使用BOCHS调试MBR
基于上一篇文章,所有操作完成之后运行“WinXP.bxrc”,不出意外的话会提示“NTLDR is missing”这就可以了。 新建一个BAT,内容如下: ..\bochsdbg.exe -q -f WinXP.bxrc执行BAT就进入了调试模式,两个窗口全部停住,界面如下: 现在的CPU应该是停在了F000:FFF0地址,是一个JMP指令,用于跳转到BIOS的ROM中。 之后的
2012-07-13 12:12:26 2922
原创 调试MBR的预备工作
目的:写一个能够兼容windows引导的MBR(好像所有的MBR都是差不多的?) 下载一个bochs模拟器,我现在下载到最新的版本是2.5.1,安装。 执行“开始->程序->bochs->Disk Image Creation Tool”创建一个IMG 我这里创建一个hd类型的10MB磁盘,创建完成后程序会提示你一个IMG的配置信息,如下: ata0-master: type=disk
2012-07-12 01:00:13 2144
原创 <<自己动手写操作系统>>学习笔记(一)---后记
比划着书,反汇编着NTLDR,大概写一个MBR出来了,但貌似进入了死循环??? 我把编译出来的文件写入磁盘MBR中,重启,没反应,各种调试输出没错 很大可能是:MBR读取了MBR再次加载到0x7C00转移控制权? 我明明读取的是分区表的PBR呀?贴代码吧。 bios.inc include 'macro/struct.inc' ;BIOS服务中断定义 ;从下一设备启动 BIOS_BOO
2012-07-02 21:46:15 2561 3
RSA加解密实现,修改自RSAEuro
2014-09-06
Linux中CodeBlocks开发环境全套RPM包
2011-12-05
IOCP封装类,用VC6.0封装的
2011-02-08
自己实现的IOCP封装类
2011-02-04
VC助手1738破解版
2010-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人