|
INT13/42h Read error (AX=0162,DL=EF) Block=00004862
这条消息不是 grub4dos 发出的。
是谁发出的,就是谁的 bug(看接下来的详细解释)。你需要找出究竟是哪个软件发出了这条消息。
这条消息的意思是,该软件不能成功读取盘号为 DL=EF 的光盘扇区(扇区号码为 4862)的内容。出错代码是 AX=0162。
如果是 grub4dos,则不可能发出这条出错信息。在光盘上,有些 BIOS 不遵守 int13 规范(无论虚拟机还是真实机都可能有这种情况),它们虽然成功读取光盘扇区,但仍然返回出错代码在 AX 中。此时只要简单地忽略掉返回的出错代码即可(grub4dos就是这么处理光盘扇区访问的)。而那些严格遵守 BIOS 规范的启动软件,反而无法应付这类突发事件了。
正如已经解释的那样,这本质上属于 BIOS 的 bug,正是因为它不严格遵守已有的规范,才导致启动软件出现此类错误。只是由于某些启动软件被陷进去了,或者说被套住了,所以,这才说成是这些启动软件的 bug(实际上是 BIOS 的 bug)。而那些成功逃过此劫的其他启动软件,都被认为是 “优秀” 的,因为他们知道在什么时候应该 “适时地” 不遵守 int13 规范,即使在 “糟糕的” BIOS 之下,也能让软件顺利运行。适者生存,不适者被淘汰。 |
|