如何使用Int13H Ext读写硬盘每个分区上的所有扇区(>8GB)
我使用 C 标准和标准库编写一个程序来读取非操作系统上硬盘上的扇区
请告诉我更多详细信息如何指定和读取硬盘分区上扇区的所有部分?
例如:如何读取所有MBR、DBR、FAT、根和数据部分并获取所有信息值?
I use C- standard with standard lib to write a program to read sectors on harddisk on non-OS
Please tell me more details how can I specify and read all part of sectors on partition of harddisk?
E.g : how can I read all MBR, DBR, FAT, Root and Data part and get all information value?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用扩展的 int 13h 例程,这应该受到不太古老的 BIOS 的支持。你从 int 13h, AH = 41h 开始。如果支持扩展,则返回时应清除进位。假设返回正数,则使用 ah=48h 获取扇区总数,使用 ah=42h 进行读取,使用 ah=43h 进行写入。
您可以从 Ralf Brown 的中断列表中获取更多详细信息,该列表可以在很多地方下载(尽管可能不像以前那么多!),或者在 HTML 在线。
Use the extended int 13h routines, which should be supported by BIOS that isn't positively ancient. You start with int 13h, AH = 41h. This should return with the carry clear if the extensions are supported. Assuming that comes back positive, you use ah=48h to get the total number of sectors, ah=42h to read and ah=43h to write.
You can get more details from Ralf Brown's interrupt list, available for download in multitudes of places (though probably not as many as it once was!), or in HTML online.