引用 | 編輯
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 |