不同WINDOWS平台下磁盘逻辑扇区的直接读写 关键字:VWIN32、中断、DeviceIoControl 一、概述 在DOS操作系统下,通过BIOS的INT13、DOS的INT25(绝对读)、INT26(绝对写)等功能调用实现对磁盘逻辑扇区或物理扇区的读写是很方便的,C语言中还有对应上述功能调用的函数:biosdisk、absread和abswrite等。但在WINDOWS操作系统下编写...
也就是在CreateFile的时候打开文件名指定: “\\.\Device”就可以了. 因为代码比较短, 所以我不做注释, 相信大家看代码就能明白意思了. 另外这里读写的都是软盘A盘第0扇区, 如果想读写其他的扇区, 那么可以使用API SetFilePointer. 读扇区的方法(下面的代码演示从A盘的第0扇区读出数据, 写入到文件BOOT.BIN中): #include #incl...
硬盘主引导扇区的引导程序只占139个字节(不同版本的Fdisk、不同的分区程序写入的主引导记录会不相同,但其基本功能一样),经过反汇编后的引导程序的汇编代码如下:1000:0600 FA CLI ;自举,将000...
分类:
其他好文 时间:
2015-04-23 15:11:55
阅读次数:
248
很久以前就对操作系统很好奇,用了这么多年Windows,对他的运作机理也不是很清楚,所以一直想自己动手写一个,研究一下操作系统究竟是怎么实现的。后来在网上也找到过一些教程(比如:《自己动手写操作系统》),大都是先要用汇编写活动分区的第一个扇区(MBR)。13年4月左右我也曾经跟着教程尝试过,用汇编调...
分类:
编程语言 时间:
2015-04-21 01:38:53
阅读次数:
956
申明:文中有的图片是网上的以及马哥教育的图片.内容是我自己写的,介意话,请联系博主,立刻删除。ext2管理文件的方式:将存储设备高级格式化其实就是创建文件系统。创建好文件系统之后。具体可以参考下图。BootBlock在整体的规划当中,文件系统最前面有一个启动扇区(bootsect..
分类:
其他好文 时间:
2015-04-20 19:16:38
阅读次数:
213
IDE 硬盘在linux中的文件名为:/dev/hd[a-d]。因为主板上有两个IDE电缆接口,每一条扁平电缆上有主从两个接口,所以有a-d四个设备号。 SCSI/SATA/USB 设备在linux中的文件名为:/dev/sd[a-p]。 硬盘上的单位分为:扇区和磁柱两个单位。一个扇区的大小...
分类:
其他好文 时间:
2015-04-19 22:46:48
阅读次数:
144
首先简单认识一下硬盘的物理结构,硬盘内部的物理结构很复杂,只能从大的颗粒度去看内部的结构总体来说,硬盘结构包括:盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份。所有的盘片(一般硬盘里有多个盘片,盘片之间平行)都固定在一个主轴上..
分类:
其他好文 时间:
2015-04-19 06:45:50
阅读次数:
151
文件都是储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector),也是硬盘的划分单位。每个扇区储存512字节(相当于0.5KB)。硬盘的瓶颈就是在于IO,如果一次只读一个扇区,io就特别高。所以读取的时候都是一次性连续读取8个扇区,即一次性读取一个"块"(block)。这种由多个..
分类:
其他好文 时间:
2015-04-19 06:36:19
阅读次数:
165
实验地点:主楼A2-412 一、实验室名称:主楼实验室A2-412 二、实验项目名称:磁盘存储结构与文件恢复实验三、实验学时:6学时四、实验原理:在Debug环境下利用基本汇编程序对引导扇区、文件分配表、目录表等结构进行显示,并进行分析;使用工具软件WINHEX对指定的文件(被删除文件)进行恢复。五...
分类:
其他好文 时间:
2015-04-16 01:16:50
阅读次数:
402
每次开机都自动检查磁盘,检测通过后下次还是一样,NTFS/FAT32分区都有可能有这样的情况,即使重装系统,仍可能出现同样情况解决方法:在命令行窗口中输入CHKDSK/F X:(X:是每次开机都自动检查的磁盘分区)CHKDSK/F 可以恢复文件系统错误, 并可以试图恢复坏扇区,如果无法修复就标记坏扇...
分类:
其他好文 时间:
2015-04-15 14:52:37
阅读次数:
115