小米nfc0扇区厂商信息修改_修改硬盘MBR代码,用1024字节实现一个操作系统启动管理器...

这篇2007年的博客介绍了如何修改硬盘MBR,以实现在开机时选择不同分区上的操作系统。通过一个安装程序获取分区信息,将自定义启动代码写入MBR的2-3扇区,读取用户输入,加载选定操作系统的启动扇区。此方法适用于避免在Linux中破坏MBR的情况。
摘要由CSDN通过智能技术生成

  这是写于2007年的日志,现发布出来,供有需要的参考。

  目的:通过修改MBR代码,实现在电脑开机的时候,选择不同硬盘分区上的操作系统。

  实现方法:需要一个安装程序,该安装程序实现提取硬盘分区信息,并将操作系统信息写入到启动代码里,然后将修改后的代码写入到硬盘的0磁头0磁道2到3扇区内。

  对MBR的修改(下面代码不包含对MBR的修改):探测到Ctrl或alt或shit按下时,将自定义选择与启动代码从0磁头0磁道2到3扇区里读出,加载到内存0000:7C00处执行。

  以下为自定义的启动代码(0磁头0磁道2到3扇区):加载之后,将自身从0000:7C00处搬到0000:0600处运行,根据选择的启动分区的参数,将启动分区的第一扇区读取到0000:7C00处,然后跳转到0000:7C00处启动相应的操作系统。

  如果是linux操作系统的话,需要将linux操作系统的启动管理器安装到某个分区上,而不能安装到MBR(该启动管理器安装后,会破坏原始的MBR,会导致linux启动不了)。

  [780]启动条数(1-N)(通过安装程序,将启动分区信息与提示信息写入到这里。)

  [781]当前显示行

  [782]当前所选择的行

  [783]字串显示颜色

  [900]欢迎信息起始地址

  [940]操作说明起始地址

  [990]读盘错误提示起始地址

  :7C00 FC CLD

  :7C01 BE007C MOV SI,7C00

  :7C04 BF0006 MOV DI,0600

  :7C07

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值