通过传递BIOS在OS /引导加载程序

问题描述:

我真的不编程任何操作系统或引导加载程序,但我阅读有关操作系统和我很好奇BYT为自举程序没有BIOS的系统调用的工作,更重要的是,如果我的理解能力在没有UEFI的系统中正确启动大磁盘启动时,您可以访问所有磁盘,并从那里启动所有分区或支持GPT。通过传递BIOS在OS /引导加载程序

所以,任何人都可以说我怎样才能绕过int 13h并直接访问磁盘控制器(使用LBA并自己解析正确的分区) 谁能告诉我谁将B8000地址映射到视频卡,仍然在保护模式下工作?保护模式是否仍然存在?这些天他们到底需要向后兼容? 我如何绕过INT 16H(说不上,如果我真的想,但是如果你知道,WTH :-)为什么不...),并直接与键盘控制器工作?

1)的BIOS现在支持LBA存取(AH = 42H AH = 43H Extended_Read_Sectors_From_Drive,扩展写入扇区到驱动器)。您可以直接绕过BIOS,因为所有现代操作系统都可以直接对IDE控制器进行编程。您可以参考Boch BIOS源代码http://bochs.sourceforge.net/cgi-bin/lxr/source/bios/rombios.c。与Linux内核相比,它应该更简单,抽象程度更低。例如,编写扇区的代码在6512行左右。您对outb调用感兴趣。

2)B8000也许是通过显卡BIOS的模式设置代码映射,但是这是你不必在乎实现细节。它在保护模式下工作,因为它不是由处理器(使用虚拟内存)映射的,而是由IO子系统映射的。当然保护模式依然存在。

3)谁需要向后兼容?如果它没用,它将被英特尔切断,以节省芯片空间。

+0

感谢#1和#2,但我不觉得你是对的关于向后兼容性,它是在486和386使用,因为仍有XT的286左右,这几天有没有指向它和我有预感英特尔只是坚持他们的架构构建块,因为他们成为标准,所以是AMD .... – codeScriber