硬碟的每個碟片都有兩個盤面(Side),即上、下盤盤面,安照順序從上至下從“0”開始依次編號。磁碟在格式化時被劃分成許多同心圓,這些同心圓軌跡叫磁軌(Track)。磁軌從外向內從0開始順序編號。所有盤面上的同一磁軌構成的一個圓柱,通常稱做柱面(Cylinder),每個柱面上的磁頭由上而下從“0”開始編號。 作業系統以扇區(Sector)形式將資訊儲存在硬碟上,每個扇區包括512個位元組的資料和一些其他資訊。
這些通常用來表示硬碟的物理地址,現在隨著硬碟容量增大我們用邏輯地址即線性地址(LBA)。因此我們需要瞭解CHS與LBA之間的轉換。 C/H/S與LBA地址的對應關係: 從CHS到LBA 假設用C表示當前柱面號,H表示當前磁頭號,Cs表示起始柱面號,Hs表示起始磁頭號,Ss表示起始扇區號,PS表示每磁軌有多少個扇區,PH表示每柱面有多少個磁軌,則有以下對應關係:
LBA=(C-Cs)*PH*PS+(H-Hs)*PS+(S-Ss)
一般情況下,CS=0、HS=0、SS=1;PS=63、PH=255
那麼以下可以根據公司計算,如下:
C/H/S=0/0/1,代入上述公式中得到LBA=0
C/H/S=0/0/63,代入上述公式中得到LBA=62
C/H/S=1/0/1,代入上述公式中得到LBA=63
C/H/S=220/156/18,代入上述公式中得到LBA=3544145 從LBA到CHS 在這裡先介紹兩種運算DIV和MOD。DIV做整除運算,即被除數除以除數所得的商的整數部分;比如5
DIV 3=1,33 DIV 6=5。
MOD是餘運算,MOD運算則取商的餘數;比如:5 MOD 3=2,33 MOD 6=5。
DIV和MOD是一對搭檔,一個取整一個取餘。各個變數按照上面的進行假設,那麼有:
C=LBA DIV (PH*PS) + Cs
H=(LBA DIV PS) MOD PH + Hs
S=LBA MOD PS + Ss 假如上述不用MOD運算,只用DIV運算可以如下:
C= LBA DIV (PH*PS) + Cs
H=LBA DIV PS –(C-Cs) * Ps + Ss
S=LBA- (C-Cs) * PH * PS - (H-Hs) * PS + Ss 那麼按照這個規律則有:
LBA=0,相應地C/H/S=0/0/1
LBA=62,相應地C/H/S=0/0/63
LBA=63,相應地C/H/S=1/0/1
LBA=62,相應地C/H/S=0/0/63
LBA=3544145,相應地C/H/S=220/156/18, 通過以上轉換,大家對CHS與LBA之間的轉換有一定的瞭解了。