磁盤知識

磁盤接口
IDE(Integrated Drive Electronics),即電子集成驅動器,是曾經主流的磁盤接口(同時也作爲光驅的接口)。IDE又稱ATA(Advanced Technology Attachment),即“高級技術附件”,在SATA(Serial ATA)出現後改名爲PATA(Parallel ATA)。

SCSI(Small Computer System Interface),即小型計算機系統接口,可以連接硬盤、軟驅、光驅、打印機等設備。SCSI出現的原因主要是因爲IDE接口的硬盤轉速太慢,傳輸速率太低。從原理層面看,SCSI與IDE一樣使用的是並行技術,因此在SAS(Serial Attached SCSI)出現後SCSI就通常被稱爲並行SCSI了。

此後又出現了SATA(Serial Advanced Technology Attachment,串行高級技術附件)、SAS(Serial Attached SCSI)即串行連接SCSI 等接口,使用了串行技術,提高了數據傳輸速率。

我們可以將,SCSI和SAS劃歸爲另一個系列,SCSI和SAS價格較高,在各自的年代都是用在高級的服務器上的,私人電腦上較少使用。而將IDE和SATA劃歸爲一個系列,它們用於一般電腦或PC上,SATA在當下非常普遍。

命名
在Linux上,IDE硬盤會被標識爲hd,例如,在一個IDE接口上接着的兩塊硬盤會被分別標識爲hda與hdb;出現SCSI硬盤後,Linux將其標識爲sd,如sda、sdb。此後所有除IDE接口外的硬盤全部沿用SCSI硬盤的標識標準,即sd,沒有再做改動。

機械硬盤組成與容量
機械硬盤由盤片、磁頭及其它輔助機構組成。盤片(Disk)是硬盤中承載數據存儲的介質,其上附着着磁粉,磁粉的S/N極將分別代表着二進制中的0和1,從而表示二進制數據。利用磁頭(Head)的磁力控制指定的一些磁粉的方向,就存儲了特定的信息。

盤片被分爲很多條磁道(Track),即表面上的一些同心圓,磁道是從盤片外圈往內圈編號0磁道,1磁道…。每一個磁道又按512個字節爲單位劃分爲等分,叫做扇區(Sector)

磁盤是由多個盤片疊加在一起,互相之間由墊圈隔開。盤片上下兩面各有一個磁頭,每張盤片同一位置的磁道,組成了柱面(Cylinder )。顯然,磁道數=柱面數。

知道CHS(Cylinders、Heads、Sectors)的數量後,就可以確定磁盤的容量:

磁盤容量 = 柱面數(磁道數)× 磁頭數 × 扇區數 × 扇區大小(512 Bytes)

固態硬盤
固態硬盤沒有采用磁性介質作爲存儲介質,而是使用半導體材料來存儲數據,但“磁盤”這個詞還是沿用在了固態硬盤上。

固態硬盤的內部構造十分簡單,固態硬盤內主體其實就是一塊PCB板,而這塊PCB板上最基本的配件就是控制芯片,緩存芯片(部分低端硬盤無緩存芯片)和用於存儲數據的閃存芯片

固態硬盤也有扇區(Sector)的概念,與機械硬盤一致。

分區表(初始分區)
之所以介紹一下磁盤的基礎知識,是爲了讓大家更好地理解這一部分對硬盤初始分區的介紹。一塊全新的硬盤,必須進行初始分區。初始分區可以分爲MBR分區和GPT分區兩種形式,對應MBR分區表和GPT分區表。

MBR分區形式下,硬盤的第一個扇區是主引導扇區,由三個部分組成:主引導記錄(Master Boot Record,MBR)、硬盤分區表(Disk Partition Table,DPT)和硬盤有效標誌。

MBR佔446個字節,負責從活動分區(活動分區是即啓動分區,安裝有系統)中裝載並運行系統引導程序。

DPT佔64個字節,記錄着硬盤中分區的數量以及每一分區的大小,每個分區的信息用16個字節表示,因此限制了分區的數量:不能超過4個主分區或者3主分區+1擴展分區,而擴展分區可以劃分爲任意數量的邏輯分區(擴展分區不可直接使用,需要轉化爲邏輯分區方可使用)【注1:邏輯分區數量受系統層級的限制,在Linux中,IDE硬盤最多有59個邏輯分區(5-63),SATA硬盤則有11個邏輯分區(5-15)】。 這16字節的具體內容是:啓動標誌、起止磁頭號、起止扇區號、起止柱面號、隱含扇區數目(4個字節)、分區總扇區數目(4個字節)。這裏又暴露了MBR分區的一個缺陷:用4個字節表示分區總扇區數, 最大能表示2的32次方的扇區個數,按每扇區512字節計算,每個分區最大不能超過2.2TB。

硬盤有效標誌佔2個字節,又被稱爲幻數(Magic Number),固定爲55AA。如果該標誌錯誤系統就不能啓動。

GPT分區形式
GPT是GUID(Globally Unique Identifier Partition Table) Partition Table的縮寫,意即全局唯一標識符分區表。
GPT分區的LBA0是保護性MBR【注2:LBA意爲邏輯塊地址(Logical Bolck Address),每個邏輯塊的大小是512字節,這是與扇區不同的定位方式 】,爲了實現有限的兼容性,GPT仍然爲MBR保留了這一扇區,用來阻止基於MBR的磁盤工具識別錯誤,從而覆蓋GPT磁盤。 LBA1是GPT頭(Primary GPT Header),LBA-1是備份GPT頭(Secondary GPT Header),這兩部分內容是一樣的。GPT頭的具體內容在此不做詳細說明了。 LBA2-LBA33是分區表項,LBA-33 - LBA-2是備份分區表項,兩部分內容也是一樣的。GPT就是爲了避免MBR的兩大缺點:在GPT中,分區表項的數量有MBR的4項增多到128項,因此允許劃分128個主分區;同時每項由MBR的16字節擴大到128字節,描述每個分區的開始扇區和結束扇區都用8個字節,因而最多支持2的64次方的扇區數,即支持最大約9.4ZB大小的分區。

MBR VS. GPT MBR的缺點之一是不支持大於2.2T的分區,而GPT可以支持18EB的硬盤; MBR還有一個缺點是限制磁盤不能超過4個主分區或者3主分區+1擴展分區(包含隨意數目的邏輯分區),而GPT則沒有此限制。 GPT也有缺點,GPT分區硬盤在修復磁盤壞軌、做資料恢復、系統還原等任務時都會遇到麻煩,MBR則較爲方便。 GPT 定義是 Intel提出的用以替代BIOS以實現對更多硬件的支持的規範:EFI( Extensible Firmware Interface ) 的一部分。例如,使用EFI/UEFI就可以引導GPT分區下的系統,可以將系統安裝到2T容量以上的硬盤中。 考慮到兼容性,在EFI/UEFI中可以設置Legacy(傳統)模式,從而引導MBR分區下的系統了。 而BIOS只可以引導MBR分區下的系統,不可以引導GPT分區下的系統(但支持GPT分區的硬盤做數據盤)。 查看分區類型 Windows系統下 在“此電腦–管理–磁盤管理”中右鍵查看“磁盤0”或“磁盤1”屬性,在“卷”選項卡下的“磁盤分區形式”即是該磁盤分區類型。

Linux系統下

使用命令查詢:

作爲數據盤 GPT或是MBR都可以被在EFI/UEFI引導的系統下使用,沒有差別。如果需要大於2.2T的分區或是更高的主分區數要求,則選擇GPT。 總的來說,

作爲系統盤,如果需要在2.2T容量以上的分區安裝系統,或者對主分區數有更高要求,就必須使用GPT+EFI/UEFI,否則選擇GPT+EFI/UEFI、MBR+BIOS或者MBR+EFI/UEFI(Legacy)都是可以的;而作爲數據盤,選擇的隨意性更大,不需要考慮EFI/UEFI的影響。 我的建議是分區方式最好不要轉換,可能會造成文件的丟失,如果確有必要,可以通過傲梅分區助手、DiskGenius來輔助,切不可使用Windows系統磁盤管理中的轉換或是Linux安裝系統的轉換功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章