阅读:2027回复:8
windows nt,2000,xp,2003从MBR开始到系统启动这个过程中,是怎么读写磁盘的呀?
windows nt,2000,xp,2003从MBR开始到系统启动这个过程中,是怎么读写磁盘的呀?
|
|
驱动老牛
|
沙发#
发布于:2005-07-18 12:45
下面是引用dengzg于2005-07-15 13:14发表的windows nt,2000,xp,2003从MBR开始到系统启动这个过程中,是怎么读写磁盘的呀?: 那要看是什么文件系统了 如果是NTFS就是MFT操作 主要是列目录 下面就是列一个文件的过程。 1读取分区表信息,找到磁盘C的起始扇区。 2读取C盘的第一个扇区(分区的BOOTSETOR)取得分区的每簇大小,MFT表 起始簇号,每簇大小等信息。 3.读取MFT表的第五个记录(根目录)找到目录索引所在簇号。 4.读取索引,查找WINNT目录所在的MFT记录号 5.读取WINNT目录的MFT记录,找到目录索引所在簇号。 6.读取索引,查找SYTEM32目录所在MFT记录号 7. 读取SYTEM32目录的MFT记录,找到目录索引所在簇号。 8. 读取索引,查找ANSI . SYS所在MFT记录号 9. 读取ANSI .SYS文件的MFT记录,找到它的DATA属性。 |
|
板凳#
发布于:2005-07-22 09:53
这些读写是通过int 13来实现的吗?听说windows nt/2000/xp已经不是通过int 13来读写磁盘了,那它是用什么方式呢?
|
|
驱动老牛
|
地板#
发布于:2005-07-22 13:41
下面是引用dengzg于2005-07-22 09:53发表的: 我上面好像没有说用INT 13实现吧 直接设备IO |
|
地下室#
发布于:2005-07-23 10:38
下面是引用dengzg于2005-07-22 09:53发表的: 在硬盘驱动未加载前,windows nt/2000/xp确实还是得靠BIOS的int 13来读写磁盘的 |
|
|
5楼#
发布于:2005-07-23 15:37
用int 13读写的..即使系统启动后,读写磁盘也是调用int 13来完成的...
|
|
|
6楼#
发布于:2005-07-24 11:22
下面是引用fengmm于2005-07-23 15:37发表的: 但是硬盘驱动被加载后就不是int 13,BIOS整体都被移走了 |
|
|
7楼#
发布于:2005-07-24 18:32
系统被加载后,在NT下不是用int 13来读写磁盘的
|
|
8楼#
发布于:2005-07-24 21:39
|
|
|