SAVEPART 硬碟分割表 備份程式

Home Home
引用 | 編輯 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
引用 | 編輯 upside
2006-12-16 10:46
2樓
  
原來如此 自從開始玩windows 後就沒研究這部份了
不過如此說來 如果使用DOS 來開機 那此軟體仍然可使用囉
因為如果分割表損毀 也只能從 DOS 來恢復

獻花 x0