引用 | 编辑
upside
2006-12-15 20:17 |
楼主
▼ |
||
x0
SAVEPART 硬碟分割表 备份程式这是早年在 DOS 下的备份程式 但是现在已经无法再使用了 所以想求 现在XP 系统分割表的位置 小弟就能设计出新版的 SAVEPART 硬碟分割表 备份程式 MAIN: ; PUSH DS ; POP ES ; MOV AX,201H ; AH= 02H , AL=要读取的特定磁区数 MOV CX,1 ; CH= 磁轨 CL= 磁区 MOV DX,80H ; DH= 磁头号码 DL= 磁碟机号码 MOV BX,OFFSET .. 访客只能看到部份内容,免费 加入会员 x0
|
引用 | 编辑
cmovies
2006-12-16 02:26 |
1楼
▲ ▼ |
MBR(磁碟分割表)放的位置跟 XP 无关. 还是在 Cyl 0 Head 0 Sector 1 的位置.
但是在XP的DOS Box下无法使用INT13H来读取硬碟资料. 必须利用 Win32 API 的方式来读取, 在 NT/2K/XP 硬碟就像是一个特殊的档案. hPhysicalDrive = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0 ); // Offset 0 = Cylinder 0, Head 0, Sector 1 = MBR fResult = ReadFile(hPhysicalDrive, Buffer, 512, &BytesReturned, NULL); CloseHandle(hPhysicalDrive); x1 |