如何制作一个通用的多系统安装U盘二(前期知识)
MBR
专业从事网站制作、成都网站设计,高端网站制作设计,成都小程序开发,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用成都h5网站建设+CSS3前端渲染技术,响应式网站,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。
主引导记录,是硬盘的0柱面0磁道第一个扇区的446字节。包含了440字节的引导代码,4个磁盘标志(磁盘签名,用于在操作系统上标识磁盘为基本或可移动))和2字节的空值。其后就是磁盘分区表,每个分区占用16字节,一共64字节,每个分区的第一个字节为80h(活动分区)或者00h(非活动分区)。最后2各字节为MBR的有效标志,固定为55AAh。引导代码不依赖任何的操作系统,主要的作用是检查分区表并在自检完成后移交控制权给硬盘上的其它引导程序。
U盘启动原理
因为BIOS的种类和实现方式的差异,对U盘的支持也不尽相同。在BIOS决定是以软盘还是以硬盘设备来映射U盘时,它首先要通过INT13中断读取U盘的第一个扇区(512字节)到内存地址07C0:0000h,检测最后的55AAh并跳转到内存里的这段引导程序,然后通过BIOS预设的CPU DL寄存器检测到正确的设备(00h或80h)。通常,00h或01h代表第一个和第二个软驱。80h或81h代表第一块和第二块硬盘。之后启动代码通过DL寄存器获取到U盘的映射方式,读取其它的扇区内容并继续引导。
根据U盘控制器的不同,会有两种类型的U盘:
Fixed(固定)
Removable(可移动)
U盘通常有三种启动模式
USB-FDD
BIOS映射设备为软盘格式(INT13DL=00h)。通常这种格式没有分区表和MBR。启动后U盘的盘符是A:,通常格式化为FAT16。
USB-ZIP
模拟一个大容量的软盘设备:ZIP。适用于一些较老的电脑。BIOS通常映射设备为软盘(INT13DL=0)。并包含分区表且只有一个分区。BIOS启动时不会加载第一个扇区的MBR代码,而是会通过仅有的一个分区记录找到并加载第一个分区的卷启动记录代码。USB 驱动器在此模式下将被模拟成一个每磁道 32 扇区的驱动器
USB-HDD
BIOS映射设备为硬盘格式(INT13DL=80h)。如果U盘的控制器识别为固定的(fixed),大部分的BIOS都会识别为一个硬盘设备。当只有一个分区的时候有可能会被BIOS识别为ZIP格式。
其它模式和工具:
USB-CDROM
USB-CDROM顾名思义,就是将U盘量产成CDROM形式,具有只读特性。一般需要针对主控芯片和FLASH的类型通过量产工具制作。兼容性好,但是制作复杂。
Fbinst
作者为开源社区的bean(同时也是grub4dos和grub2开源项目在我国的开发/维护者)。Fbinst旨在解决BIOS对U盘CHS/LBA参数处理结果不同的问题。通过预留8M的隐藏区,在每个扇区固定位置都写入该扇区在WIN下的LBA值,并在1-63扇区都写入bootcode。BIOS启动时,通过bootcode读取预先写入的LBA值,并与BIOS识别的LBA值进行比较,找出差距,倒推出当前BIOS对U盘的识别和访问情况,根据这个情况来调整纠正对U盘的访问。
参考资料:http://baike.baidu.com/view/2820577.htm?fr=aladdin
网站栏目:如何制作一个通用的多系统安装U盘二(前期知识)
URL链接:http://scjbc.cn/article/jsdssi.html