|
本帖最后由 jianliulin 于 2014-5-2 13:59 编辑
一年多没有接触U盘启动了,前些日子偶尔看看P大提出的分区表项法使得fbinst有了新的玩法,后来经无忧网友的测试发现uefi主板对uefi启动的要求没有像在百度上说的(只要是fat分区放了efi启动文件就能启动)那没有简单,再后来udm出现了,号称是ud v2.0 ,兼顾bois和efi的新一代万能启动,分区看不到但却能efi启动,太振奋了,继续看介绍后发现,ud v2支持大于4G文件,能被grub2.0 引导,这我就有点疑惑了,因为目前ud只被grub4dos,burg能识别,其他引导器如果没有添加ud驱动(就是支持ud的代码,暂且叫驱动吧)是无法被识别的,就以为红色这两点,引起了我对udm的好奇,决定抽时间来了解它。虽然M大很努力的写了好多说明,但我还是看得糊里糊涂的,对于udm提到的功能,知其然不知其所以然,M大很少提到技术的原理,所以我决定从另外的途径解开我以下的两个疑问
1.udm与ud的关系,他们的异同
2.udm看不到分区,却能被ufi启动。
1.mbr对比,
两者都对磁盘前64个扇区写入mbr引导代码和分区表,分区表都根据扇区进行偏移,但如果对fbinst mbr有兴趣的同学会发现上图中红框的位置会随着扇区数的变化而变化的,为什么会这样呢,因为有了它不管bios第一次读的是64个扇区里面的那一个扇区fbmbr都能正确的引导fbinst的核心引导代码,而udm ,没有这功能,
2.核心启动代码,
fbinst的核心启动代码放在第65~68扇区,这是fbinst的精髓所在,它能根据ud主分区的结构顺利的算出磁盘正确CHS,在第65分区还存放了fbinst的版本号主分区,扩张分区大小等等中要信息,而udm没有这样的核心代码,所以mbr中有没有那个标示号也无所谓了,这里就又产生了一个不解,fbinst通过自适应chs达到“万能”,而udm是通过什么来实现“万能”,到目前M大的文档没有公开此技术
3.文件结构的区别,
M大说用不同的方式,不需要特定的文件系统但却用了ud的文件结构和保留了ud的主分区结构(每个扇区后面两个字节用来记录扇区的编号),没有了ud的核心引导代码,这个编号也就无用了。udm在主分区8M后默认还预留了2048个扇区的"启动预留大小" 用来存放grldr等启动文件,然后再接着是一个普通的分区MBROS。
4.支持文件文件大小
ud目前是不支持大于4G的文件的,我也两次向不点提议过让grub4dos支持大于4G文件,但都没有被采纳,从技术角度来说让ud支持大于4G的文件没有难度。udm存放大于4G的文件应该是放在“启动预留大小”空间之后的MBROS分区(猜测,因为除了这里没有地方可放)。同时udm没有ud中的扩展分区,也就没有了可以连续存放文件的功能,这一个很好的功能被埋没了,
以上是我对ud和udm的一些对比,首先他们肯定是不一样的,一样的话就没有存在的意义,这里不讨论谁比谁好,只找不同点,是先从ud的角度然后再去对比udm,原因是M大没有公开udm的技术内幕,我才盲人摸象。
剩下“udm看不到分区,却能被ufi启动”这疑问了,自己动手用MBROSTool.EXE做好udm后,用DiskGenius是看不到MBROS分区的,用MBROSTool的分区管理也看不到,但如果设置了efi启动,则分区出来了,P大的“能被efi引导的都能在分区软件中看到分区”又一次被证实,所以udm的mbrOs是隐藏的必须是在牺牲efi启动的情况下。与fbinsttool取消img映射是一样的。udm的uefi启动的本质就是P大提出的分区表项法。
结论:目前fbinst除了ud不支持大于4G的文件之外,用fbinsttool+分区表项法能实现udm的功能而且更直观、方便,以上是个人之言,欢迎拍砖,希望能催生新的技术诞生
|
评分
-
查看全部评分
|