为什么55 AA用作IBM PC上的启动签名?

Sas*_*asQ 8 boot bootstrapping signature bootloader

为什么IBM PC体系结构55 AA引导签名的最后两个字节中使用幻数来进行引导签名

我怀疑它与它们的位模式有关:01010101 10101010但是不知道是什么.

我的猜测是:

  1. BIOS正在对这些字节一些位和/或/ XOR操作来将它们一起进行比较,如果它,例如,结果0,它可以很容易地检测和跳跃的地方.
  2. 它可能是一些平价/完整性的保障,如果其中的某些位被打破,它可以检测或东西,仍然被认为是一种有效的签名,以正确引导,即使在磁盘上这个特殊的位已经被打破或东西的系统.

也许你们中的某个人可以帮助我回答这个唠叨的问题?

我记得我曾经读过一些有关这些位模式的内容,但不记得在哪里.而且它会出现在一些纸质书中,因为我在网上找不到任何关于它的东西.

sup*_*cat 5

我认为它是任意选择的,因为10101010 01010101看起来像一个很好的位模式.Apple [[重置向量]与$ A5到(10100101)xor'ed以产生一个校验值.有些机器使用更具"特定"的东西进行启动验证; 对于PET衍生机器(例如Commodore Business Machines的VIC-20和Commodore 64),位于例如地址$ 8000的可引导盒式磁带图像将PETASCII字符串"CBM80"存储在地址$ 8004(购物车起价为$ A000)会有$ A004的字符串"CBMA0"等,但我猜IBM并不认为任何其他机器的磁盘会被插入并且在第一个扇区的最后两个字节中有55AAA.

  • 是的,我知道在其他架构上这是非常随意的.但是在IBM PC上,我非常确定我已经阅读过某些地方,它与某些数据完整性检查和防止某些磁盘故障有关.但无法在任何地方找到确切的细节. (2认同)