BIOS如何准确读取第一个扇区

艾哈迈德·扎克洛塔(Ahmad Zaklouta)

我需要知道ATA命令“读取扇区”是否仍在使用。我在《 SATA存储技术》一书中读到,该命令和一般的PIO读入命令仅在引导过程中使用。因此,我开始研究启动过程,对此有些困惑。

我知道BIOS作为引导过程的一部分读取了第一个扇区或MBR。我还阅读到BIOS使用INT 13来做到这一点。

SATA设备通过HBA通信。因此,必须在SATA和HBA之间的初始化过程完成之后才能读取第一个扇区。

BIOS如何读取第一个扇区...

HBA是否将INT 13转换为ATA命令?如果是,这
是否不需要AHCI驱动程序?
何时加载驱动程序?

或者

BIOS是否直接与硬盘驱动器通信?我认为这是不可能的。

艾哈迈德·扎克洛塔(Ahmad Zaklouta)

在使用SATA分析器进行了一些测试之后,事实证明BIOS或UEFI足够聪明,可以在引导过程中不使用慢速ATA命令(例如READ SECTOR(S))相反,它使用ATA命令READ DMA EXT

为了完整起见,顺序为:

在驱动器发送其签名之后,HBA发送ATA命令IDENTIFY DEVICE,然后发送LBA = 0的READ DMA EXT

我不确定操作系统在正常工作期间是否使用READ SECTOR(S)WRITE SECTOR(S)我希望不要因为在FPGA中实现PIO IN / OUT协议不是一件令人愉快的工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

记住从Java文件读取的第一个值

来自分类Dev

scanf()仅读取第一个输入(数字)

来自分类Dev

JSON数组读取第一个元素?

来自分类Dev

读取数组中的第一个元素

来自分类Dev

Getline仅读取第一个单词

来自分类Dev

如何让 Python 使用 csv 读取一行中的第一个单词而不是第一个字符?

来自分类Dev

如何只读取文本文件中的第一个值

来自分类Dev

如何在C ++中从文件中读取第一个数字

来自分类Dev

出现第一个空白时如何读取文件

来自分类Dev

如何读取“ apt search”返回的输出的第一个字段?

来自分类Dev

如何在第一个孩子中选择第一个孩子

来自分类Dev

在Laravel中读取数组的第一个记录而不是第一个字符

来自分类Dev

可以恢复第一个扇区并替换为备用扇区吗?如果发生这种情况,MBR 会损坏吗?

来自分类Dev

如何在cmd中读取多个文件的2个第一个字符

来自分类Dev

如何从文本文件中读取最后一行的第一个单词?

来自分类Dev

如何仅读取文件的第一个表达式并移至另一行

来自分类Dev

如何使第一个元素与第一个元素的右侧对齐,以及其他元素在第一个元素的左侧对齐?

来自分类Dev

如何在c中读取前导空格的第一个字符串?

来自分类Dev

C++如何通过忽略每行的第一个字符来读取unicode文件

来自分类Dev

如何按数组的第一个元素分组?

来自分类Dev

如何获得第一个标头孩子?

来自分类Dev

如何检测第一个“ /”路由呼叫?

来自分类Dev

如何匹配模式的第一个实例?

来自分类Dev

如何跳过“ for”循环中的第一个元素?

来自分类Dev

如何设置控件的第一个lookAt /目标

来自分类Dev

如何使用jQuery定位第一个div?

来自分类Dev

如何获取SimpleXML对象的第一个元素?

来自分类Dev

如何删除函数的第一个参数?

来自分类Dev

如何摆脱第一个串联符号

Related 相关文章

  1. 1

    记住从Java文件读取的第一个值

  2. 2

    scanf()仅读取第一个输入(数字)

  3. 3

    JSON数组读取第一个元素?

  4. 4

    读取数组中的第一个元素

  5. 5

    Getline仅读取第一个单词

  6. 6

    如何让 Python 使用 csv 读取一行中的第一个单词而不是第一个字符?

  7. 7

    如何只读取文本文件中的第一个值

  8. 8

    如何在C ++中从文件中读取第一个数字

  9. 9

    出现第一个空白时如何读取文件

  10. 10

    如何读取“ apt search”返回的输出的第一个字段?

  11. 11

    如何在第一个孩子中选择第一个孩子

  12. 12

    在Laravel中读取数组的第一个记录而不是第一个字符

  13. 13

    可以恢复第一个扇区并替换为备用扇区吗?如果发生这种情况,MBR 会损坏吗?

  14. 14

    如何在cmd中读取多个文件的2个第一个字符

  15. 15

    如何从文本文件中读取最后一行的第一个单词?

  16. 16

    如何仅读取文件的第一个表达式并移至另一行

  17. 17

    如何使第一个元素与第一个元素的右侧对齐,以及其他元素在第一个元素的左侧对齐?

  18. 18

    如何在c中读取前导空格的第一个字符串?

  19. 19

    C++如何通过忽略每行的第一个字符来读取unicode文件

  20. 20

    如何按数组的第一个元素分组?

  21. 21

    如何获得第一个标头孩子?

  22. 22

    如何检测第一个“ /”路由呼叫?

  23. 23

    如何匹配模式的第一个实例?

  24. 24

    如何跳过“ for”循环中的第一个元素?

  25. 25

    如何设置控件的第一个lookAt /目标

  26. 26

    如何使用jQuery定位第一个div?

  27. 27

    如何获取SimpleXML对象的第一个元素?

  28. 28

    如何删除函数的第一个参数?

  29. 29

    如何摆脱第一个串联符号

热门标签

归档