基于元神操作系统实现NTFS文件操作(一)

1. 背景

本连载博文将基于元神操作系统介绍NTFS磁盘的文件操作,包括相关理论和操作的代码实现。博文中所指的磁盘限定于MBR分区的磁盘,且不涉及逻辑分区,对于较新的GPT分区磁盘和逻辑分区的处理,可以参考相关文档自行实现。

另外,若想实现其它文件系统的操作,可参考该博文及相关文档自行实现。例如,操作LINUX系统、MAC系统、安卓系统等所用的磁盘。

2. 内容

NTFS文件系统是Microsoft系统目前常用的一种磁盘文件组织结构,本连载博文将介绍NTFS磁盘分区中文件的遍历、查找、读、写、删除、修改、新建等操作。

NTFS文件操作的基本步骤包括:

(1)解析MBR

读取磁盘的第一个扇区(即0号扇区),该扇区中存放着主引导记录MBR,根据MBR可以获取磁盘的分区信息并定位到各个磁盘分区。

(2)解析DBR

根据MBR定位到目标分区,然后读取分区的第一个扇区,该扇区中存放着DBR。根据DBR可以获取该分区的信息并定位到元文件$MFT。

(3)解析元文件$Root

在元文件$MFT中定位到根目录元文件$Root,然后根据$Root元文件获得该分区根目录下的所有文件和子目录信息。对于子目录,还可以进一步递归解析,直至获得该磁盘分区下的所有文件。

(4)各种文件操作

获得文件和子目录信息后,可以根据需要进行各种文件操作。

对于文件遍历操作,可以从根目录开始递归所有子目录,同时以树型结构记录目录和文件的信息,最后将记录的信息返回给调用者进行显示。

对于文件查找操作,则是在文件遍历的过程中将当前子目录名或文件名与目标文件名进行比较,相同时认为查找完成,并将结果返回给调用者。

对于文件读取操作,则是在文件查找成功后,将该文件的内容读取到指定内存区域。

对于文件删除操作,则是在文件查找成功后,将该文件相关的元文件项和占用的簇进行修改以表示该文件已删除。

对于文件写操作,根据文件查找结果分为新建文件、修改文件。若没有查找到目标文件,则新建一个元文件项并分配簇用于存放目标文件。若发现了目标文件,根据写文件的要求,可以清空文件原有内容后将目标内容写入,或者将目标内容追加在文件原有内容的末尾。

其它的文件操作可以参考以上操作进行设计和实现,但都是在该步骤中完成。

3. 备注

本文介绍了该连载博文的定位和大概内容,该连载博文的后续部分将逐个操作进行讲解和实现,但限于内容和篇幅,部分内容的实现可能不够完善,可在博文实现的基础上自行完善。

安装元神操作系统的工具“元神操作系统安装器”可去网站www.gnxxkj.com进行下载。安装账号可去网址http://www.gnxxkj.com/app/wuziqi/register.php 进行注册。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

De-Chang Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值