无忧启动论坛
标题:
请问下GRUB4DOS读扇区是用CHS还是LBA
[打印本页]
作者:
2011qf020124
时间:
2011-9-27 23:47
标题:
请问下GRUB4DOS读扇区是用CHS还是LBA
如题,把GRUB4DOS安装在MBR,在第一扇区中的代码是如何加载后面的几个扇区的程序的,是用CHS还是LBA?
又问:NT5.0系统的MBR代码载入PBR时,是用CHS还是LBA?
再问:有些U盘做成启动盘后,在某些机器上启动不成功,是不是因为在制作U启时识别的CHS参数和主板启动时识别的CHS不同造成的?
最后问:fbinst是不是不光修正扇区号错位,还修正CHS错位?
请高手指教!!
作者:
不点
时间:
2011-9-28 00:03
答复首问:CHS。
答复又问:应该也是 CHS。但假如分区ID是LBA的,则可能采用LBA。具体是什么,需要看反汇编代码。如果活动分区超出了CHS访问能力,则也采用LBA。
答复再问:这是一种可能性。启动失败还有别的可能性,例如,主板在加载 U 盘的引导扇区之前就死机,或者加载了不该加载的扇区,把它当作引导扇区,也会导致失败(跳过U盘)或死机。
答复最后问:yes。
作者:
hotdll
时间:
2011-9-28 11:47
不点 大大回复的很详细,很耐心。
作者:
2011qf020124
时间:
2011-9-29 08:26
标题:
回复 #2 不点 的帖子
那GRUB4DOS通过文件系统代码加载grldr时,文件系统代码是用CHS还是LBA?
是否是先探测能否用LBA,不行就用CHS?
nt5.0的PBR的文件系统代码加载ntldr又是用CHS还是LBA?(不会只有微软知道吧?)
作者:
不点
时间:
2011-9-29 09:12
是的,在 PBR 上的任何代码都得这样。否则无法应付当 grldr、ntldr 位于 8.4G 以后的情况。8.4G 是 CHS 模式的最大访问能力。
因此,(依我看)这个问题你就不该问。
----------------
不过顺便说,既然 CHS 模式有天然的 8.4G 屏障,无法挽救,而新的 16G 以上的 U 盘不断出现,那么,主板如果依旧不支持 LBA,那将是 “落伍” 的。
主板应该被迫支持 LBA 模式,如果不是被某商家胁迫的话。
如果主板全都支持 LBA,那么,U 盘的 MBR 上可以用 Wee 了。而 fbinst 也就用不着了,可以休息了。那些有关 CHS 的 N 多陷阱也都 “泡汤” 了。
[
本帖最后由 不点 于 2011-9-29 09:20 编辑
]
作者:
yanglin
时间:
2011-9-29 09:21
有增长知识谢谢诶啊 呵呵呵
在无忧就是好啊 呵呵。。。
作者:
2011qf020124
时间:
2011-9-29 20:29
标题:
回复 #5 不点 的帖子
又有一个疑问,这个CHS的值是怎么得来的?
比如说买了个新硬盘,挂到主板上,BIOS怎么知道CHS的参数的?是在硬盘控制器里写死了参数,BIOS通过读写端口查询到的吗?
还有U盘也有同样的问题!不过U盘没有真实的CHS结构,是仿真出来的,那BIOS又是怎么来得到仿真的CHS值的,不会是BIOS拍拍脑袋定出来的吧?
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./)
Powered by Discuz! X3.3