gpt4 book ai didi

assembly - 引导加载程序如何读取 DVD(cd)?

转载 作者:行者123 更新时间:2023-12-02 08:02:45 25 4
gpt4 key购买 nike

我有一个用汇编语言编写的第一阶段引导加载程序。我需要它从 DVD(或 CD)加载第二阶段引导加载程序。我只找到了从软盘或硬盘读取的示例。那里使用的中断是13h。在中断描述中,它说它可以读取软盘和硬盘。我尝试使用 13h 来读取 CD,就好像它是软盘一样,但它不起作用。

问题:软盘和 DVD 之间有区别(在访问它们的意义上)吗?我可以使用 CHS(磁头、磁头、扇区)吗?扇区大小是多少?我可以使用 13h 指令来正确读取磁盘吗? DVD。也许一些例子。我查看了 LILO 的源代码,发现只有 13 小时,所以它一定可以工作。谢谢。

最佳答案

您可以使用mkisofs工具将可启动软盘镜像文件制作为可启动CD。以下是我在 Windows 下的操作方法:

  1. 创建一个子目录 CdFiles,其中包含可启动软盘镜像文件,floppy.img(1474560 字节长),以及我发现的任何其他文件想要在 CD 上。
  2. mkisofs.exe -b floppy.img -v -r -l -o cd.iso CdFiles

它将创建一个 CD ISO 镜像文件 cd.iso,您可以将其刻录到 CD 上并从磁盘启动,也可以在任何 PC 模拟器中使用并直接从镜像启动。

BIOS将使用floppy.img的内容模拟CD上的软盘驱动器,并且它将能够使用驱动器号0通过int 13h正常访问自身。为了访问整个CD via int 13h 您将需要创建一个硬盘驱动器镜像(可引导)并指定不同的模拟方法(不知道如何使用 mkisofs 执行此操作,从未尝试过硬盘镜像)。同样的情况也会发生,但现在将在 CD 顶部模拟一个硬盘驱动器,并且驱动器号为 80h(对于 int 13h)。

关于assembly - 引导加载程序如何读取 DVD(cd)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7776450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com