Windows 是否使用程序集代码访问硬驱动文件?
因此,我尝试制作一个小的可引导汇编程序,让用户删除文件并将其添加到指定的驱动器。唯一的问题是,我不知道如何使用汇编访问驱动器。有人能告诉我在哪里可以找到这些信息吗?这些信息也可能是针对c编程语言的Windows 是否使用程序集代码访问硬驱动文件?,windows,assembly,ntfs,drives,Windows,Assembly,Ntfs,Drives,因此,我尝试制作一个小的可引导汇编程序,让用户删除文件并将其添加到指定的驱动器。唯一的问题是,我不知道如何使用汇编访问驱动器。有人能告诉我在哪里可以找到这些信息吗?这些信息也可能是针对c编程语言的 我将尝试从一些可引导的汇编代码类型访问默认的Windows7硬盘。这是NTFS。要在x86 PC上以某些可引导代码访问磁盘,最简单、最自然的方法是使用。这将允许您读取和写入各个磁盘扇区 硬盘驱动器通常分为多个分区,还有(MBR)描述每个分区的位置、大小和类型。MBR是硬盘的第一个扇区 每个分区中都有一
我将尝试从一些可引导的汇编代码类型访问默认的Windows7硬盘。这是NTFS。要在x86 PC上以某些可引导代码访问磁盘,最简单、最自然的方法是使用。这将允许您读取和写入各个磁盘扇区 硬盘驱动器通常分为多个分区,还有(
MBR
)描述每个分区的位置、大小和类型。MBR是硬盘的第一个扇区
每个分区中都有一些文件系统。您需要实现一个NTFS驱动程序,以便能够读取和写入NTFS中的文件
AFAIK尚未打开,但存在基于反向工程的NTFS驱动程序(例如,在Linux中)。NTFS驱动程序通常是用C++编写的,而不是汇编,因为NTFS很大而且很复杂,而且C在开发、维护和可移植性方面比汇编更实用。我不建议在汇编中编写FS代码
在系统方面,情况有些不同。这里没有MBR,您可以使用EFI工具来访问磁盘,而不是BIOS int 13h
p.p.S.我已经在C和一点汇编中完成了您想要的,但是使用FAT1x/32而不是NTFS。这是可行的。NTFS更难。对于一个人来说可能是不可能的,特别是如果他们没有足够的知识和技能。什么文件系统?每个文件系统都有不同的文件信息存储方式。除了文件系统之外,我们还需要了解您编写的操作系统。Windows 7和默认文件系统ext3我认为Win7默认文件系统肯定不是ext3,如果没有第三方内核组件,甚至不支持ext3。天哪,这就像是问“我怎么说中文,我星期三要做一个演讲”好答案!还请注意,在某些情况下(例如,使用“PC BIOS”从硬盘引导时,您希望访问存储在CD或USB闪存上的文件),您可能必须实现自己的低级驱动程序。@Brendan:可以,但当您启动CD/USB时,您可以使用相同的BIOS功能访问它们,BIOS使它们看起来像FDD/HDD。