|
本帖最后由 wuwuzz 于 2024-3-29 16:41 编辑
偶然路过这里,有感而发,LZ问题虽解决,但后续没完,我还是想延申一下。
一、问题本身是Ultraiso自定义格式(也就是所谓的U+)引起的(参见11、17、41楼信息),出现这种结果我不感到意外。我困惑的是,UD、U+..是在早期不清楚BIOS USB启动机制时产生的。时至今日,由于多个版本的UEFI/BIOS源码流出,我们对UEFI/BIOS内部情况的认识早已今非昔比,为什么还要用UD、U+..这些(图增复杂性)的东西。
早在200X年左右,我就放弃使用“通过在MBR/PBR上做文章,试图影响BIOS启动行为”的软件,原因很简单,通过学习知道,BIOS最关心的是U盘固件参数(少了它们,BIOS无法驱动、无法正确引导U盘),而不是MBR/PBR这些。只要把U盘固件参数搞好,啥复杂引导格式都不用,就用最原始的MBR(DOS)就可以了。
二、我极其反对DG、UltraISO等启动盘制作软件“滥用”USB-HDD、USB-ZIP、USB-FDD这些名词,因为它严重误导使用者。
USB启动规范本身,只有粗线条的规定,要么磁盘(DISK)启动,要么光驱(CD/DVD)启动。USB-HDD、USB-ZIP、USB-FDD是BIOS对DISK扩展细化出来的“非标准”内容。不同的BIOS厂家判定算法各不相同,U盘被BIOS判定为USB-HDD还是USB-ZIP、USB-FDD等,核心决定因素还是U盘固件参数---比如,U盘固件报告的“总扇区数(最大LBA)”就是重要参数之一。
“Diskgen 将启动模式转换为 HDD 模式”----DG这种说法严重扯淡,不是它想转就能转的,只有BIOS算法才能决定USB-HDD、USB-ZIP、USB-FDD。当然,我们通过调整U盘固件参数,就能欺骗、利用BIOS算法,达到我们想要的HDD或ZIP或FDD--这才是顺应BIOS的正确解法。
三、不点关于LBA/CHS/BPB的许多观点是正确的,我补充的内容是:
U盘物理上没有CHS,内部固件也只使用LBA(其他USB存储设备也都这样)。但是,由于历史的原因,UEFI CSM或BIOS,需要CHS这种访问方式。U盘没有CHS,UEFI CSM或BIOS也要为它伪造(计算)一个。不同的UEFI CSM/BIOS厂家,计算方法不同。在PC上电、U盘枚举(也就是UEFI/BIOS驱动U盘)时,这个CHS计算过程就开始了。换句话说,不管G4d、wee等引导软件将来用不用CHS,UEFI CSM或BIOS都要为U盘计算设定CHS,这个过程不以用户意志转移,不以g4d、wee的意志为转移。
|
|