可是,2009年你想把舊硬盤換成2.5T硬盤或者更大的硬盤?
且慢!!
首先,先來看看下圖——計算機管理功能中的磁盤管理——出現(xiàn)未指派空間!
下面我們來回顧下過去并對硬盤容量限制情況做下技術分析:
其實,硬盤容量限制問題很早就出現(xiàn)了,最初是528MB、2.1GB,后來是3.2GB、4.2GB,但引起人們注意當屬8.4GB容量的硬盤。雖然LBA(Ligical Block Address)邏輯塊尋址模式突破了DOS系統(tǒng)下8.4GB容量的限制,但由于自身的限制,柱面的最大數(shù)是65536(216),磁頭的最大數(shù)是16(24),扇區(qū)的最大數(shù)是255(28-1),因此能尋址的最大扇區(qū)數(shù)是267,386,880 (65536×16×255),一扇區(qū)是512字節(jié),也就是說如果以CHS尋址方式,IDE硬盤的最大容量為136.9GB,這就是137GB容量限制的由來。
超過137GB容量的硬盤,可能會在一些主板上遭遇所謂的28bit LBA限制,當然主要是指一些推出時間較早的主板,但NVIDIA nForce2卻仍然在使用28bit LBA IDE控制器。在這樣的主板上雖然可以使用大容量的硬盤,但超出137GB以外的空間將無法識別,換句話說也就是被浪費了。
Technical Committee T13組織為了解決28bit LBA尋址模式的限制,對于ATA/ATAPI-6標準進行了一些修改,通過48bit LBA來支持更多的扇區(qū),從而突破這一限制,其實后來Compaq、Microsoft、Maxtor聯(lián)合推出的Big Drives規(guī)范就是T13組織提出的48bit方案為基礎的,這種規(guī)范的中心思想就是增加CHS的位數(shù),而柱面寄存器不變,這樣就將原來LBA尋址中可用的寄存器空間從24bit提高到了48bit,可以尋址的扇區(qū)數(shù)就為281,474,976,710,655(65536×65535×65536),這樣可支持的硬盤容量就達到了281,474,976,710,655×512=144,115,188,075,855,872字節(jié),大致相當于144PB(1PB=1000,000,000,000,000字節(jié)),在一定時間內應該是足夠使用了。
從這里來說,支持2T,應該不成問題才對的?。康珵槭裁从謺霈F(xiàn)這個限制的呢,這個要從MBR說起。
MBR,主引導記錄(Master Boot Record),也就是現(xiàn)有的硬盤分區(qū)模式。MBR分區(qū)的標準決定了MBR只支持在2TB以下的硬盤,超過2TB的硬盤只能管理2TB(參見后文MBR介紹)!為解決這個大問題,微軟和英特爾在EFI方案中開發(fā)了GPT分區(qū)模式。
GPT,全局唯一標識分區(qū)表(GUID Partition Table),GUID,全局唯一標識符 (Globally Unique Identifier) 。GPT是EFI方案的一部分,但并不依賴于EFI主板,在BIOS主板的PC中也可使用GPT分區(qū)。與MBR最大4個分區(qū)表項的限制相比,GPT對分區(qū)數(shù)量沒有限制,但Windows最大僅支持128個GPT分區(qū)。GPT可管理硬盤大小達到了18EB(1EB=1024PB=1,048,576TB),不過NTFS格式最大僅支持256TB。
對于使用2T以上硬盤的要求
由于MBR分區(qū)模式最大只能支持2TB硬盤,2.5T硬盤必須使用GPT分區(qū)模式!我們先未雨綢繆,看看Windows對GPT分區(qū)的支持情況:
1. Windows 95/98/ME、Windows NT 4、Windows 2000、Windows XP 32 位版本不支持GPT分區(qū),只能查看GPT的保護分區(qū),GPT不會被裝載或公開給應用軟件;
2. Windows XP x64 版本只能使用GPT磁盤進行數(shù)據(jù)操作,只有基于安騰處理器 (Itanium)的 Windows系統(tǒng)才能從 GPT 分區(qū)上啟動;
3. Windows Server 2003 32bit Server Pack 1 以后的所有Windows 2003版本都能使用GPT分區(qū)磁盤進行數(shù)據(jù)操作,只有基于安騰處理器(Itanium)的Windows系統(tǒng)才能從 GPT 分區(qū)上啟動;
4. Windows Vista 和 Windows Server 2008的所有版本都能使用GPT分區(qū)磁盤進行數(shù)據(jù)操作;但只有基于EFI主板的系統(tǒng)支持從GPT啟動。
看到這里,我們知道了要想用2.5T硬盤:
1、首先,你得放棄2K和XP 32位版,改成人見人不愛的Vista或是人見人愛的Win7;
2、你還得把基于BIOS的主板給扔了,換成EFI主板,否則即使換成Vista了,也只能把2.5T硬盤當從盤用。
否則,我們就只能對2.5T硬盤干瞪眼,嘩嘩地流口水。。。
MBR介紹
在傳統(tǒng)硬盤分區(qū)模式中,引導扇區(qū)是每個分區(qū)(Partition)的第一扇區(qū),而主引導扇區(qū)是硬盤的第一扇區(qū)。它由三個部分組成,主引導記錄MBR、硬盤分區(qū)表DPT和硬盤有效標志。在總共512字節(jié)的主引導扇區(qū)里MBR占446個字節(jié),第二部分是Partition table區(qū)(分區(qū)表),即DPT,占64個字節(jié),硬盤中分區(qū)有多少以及每一分區(qū)的大小都記在其中。第三部分是magic number,占2個字節(jié),固定為55AA。
MBR是不屬于任何一個操作系統(tǒng),也不能用操作系統(tǒng)提供的磁盤操作命令來讀取它,但可以通過命令來修改和重寫,如在minix3里面,可以用命令:installboot -m /dev/c0d0 /usr/mdec/masterboot來把masterboot這個小程序寫到mbr里面,masterboot通常用匯編語言來編寫。我們也可以用ROM-BIOS中提供的INT13H的2號功能來讀出該扇區(qū)的內容,也可用軟件工具Norton8.0中的DISKEDIT.EXE來讀取。
用INT13H的讀磁盤扇區(qū)功能的調用參數(shù)如下:
入口參數(shù):AH=2 (指定功能號)
AL=要讀取的扇區(qū)數(shù)
DL=磁盤號(0、1-軟盤;80、81-硬盤)
DH=磁頭號
CL高2位+CH=柱面號
CL低6位=扇區(qū)號
CS:BX=存放讀取數(shù)據(jù)的內存緩沖地址
出口參數(shù):CS:BX=讀取數(shù)據(jù)存放地址
錯誤信息:如果出錯CF=1 AH=錯誤代碼
用DEBUG讀取位于硬盤0柱面、0磁頭、1扇區(qū)的操作如下:
A>DEBUG
-A 100
XXXX:XXXX MOV AX,0201 (用功能號2讀1個扇區(qū))
XXXX:XXXX MOV BX,1000 (把讀出的數(shù)據(jù)放入緩沖區(qū)的地址為CS:1000)
XXXX:XXXX MOV CX,0001 (讀0柱面,1扇區(qū))
XXXX:XXXX MOV DX,0080 (指定第一物理盤的0磁頭)
XXXX:XXXX INT 13
XXXX:XXXX INT 3
XXXX:XXXX (按回車鍵)
-G=100 (執(zhí)行以上程序段)
-D 1000 11FF (顯示512字節(jié)的MBR內容)
在windows操作系統(tǒng)下,例如xp,2003,Vista,windows7,有微軟提供的接口直接讀寫mbr;
FILE * fd=fopen("\\\\.\\PHYSICALDRIVE0","rb+");
char buffer[512];
fread(buffer,512,1,fd);
//then you can edit buffer[512] as your wish......
fseek(fd,0,SEEK_SET); //很重要
fwrite(buffer,512,1,fd); //把修改后的MBR寫入到你的機器
fclose(fd); //大功告成
MBR組成
一個扇區(qū)的硬盤主引導記錄MBR由如圖6-15所示的4個部分組成。
• 主引導程序(偏移地址0000H--0088H),它負責從活動分區(qū)中裝載,并運行系統(tǒng)引導程序。
• 出錯信息數(shù)據(jù)區(qū),偏移地址0089H--00E1H為出錯信息,00E2H--01BDH全為0字節(jié)。
• 分區(qū)表(DPT,Disk Partition Table)含4個分區(qū)項,偏移地址01BEH--01FDH,每個分區(qū)表項長16個字節(jié),共64字節(jié)為分區(qū)項1、分區(qū)項2、分區(qū)項3、分區(qū)項4。
• 結束標志字,偏移地址01FE--01FF的2個字節(jié)值為結束標志55AA,如果該標志錯誤系統(tǒng)就不能啟動。
GPT介紹
GPT(Globally Unique Identifier Partition Table Format)是一種由基于 Itanium 計算機中的可擴展固件接口 (EFI) 使用的磁盤分區(qū)架構。與主啟動記錄 (MBR) 分區(qū)方法相比,GPT 具有更多的優(yōu)點,因為它允許每個磁盤有多達 128 個分區(qū),支持高達 18 千兆兆字節(jié)的卷大小,允許將主磁盤分區(qū)表和備份磁盤分區(qū)表用于冗余,還支持唯一的磁盤和分區(qū) ID (GUID)。
與支持最大卷為 2 TB (terabytes) 并且每個磁盤最多有 4 個主分區(qū)(或 3 個主分區(qū),1 個擴展分區(qū)和無限制的邏輯驅動器)的主啟動記錄 (MBR) 磁盤分區(qū)的樣式相比,GUID 分區(qū)表 (GPT) 磁盤分區(qū)樣式支持最大卷為 18 EB (exabytes) 并且每磁盤最多有 128 個分區(qū)。與 MBR 分區(qū)的磁盤不同,至關重要的平臺操作數(shù)據(jù)位于分區(qū),而不是位于非分區(qū)或隱藏扇區(qū)。另外,GPT 分區(qū)磁盤有多余的主要及備份分區(qū)表來提高分區(qū)數(shù)據(jù)結構的完整性。
在“磁盤管理”中的磁盤屬性對話框中的“卷”選項卡上,具有 GPT 分區(qū)樣式的磁盤顯示為 GUID 分區(qū)表 (GPT) 磁盤,而具有 MBR 分區(qū)樣式的磁盤顯示為主啟動記錄 (MBR) 磁盤。如果發(fā)生下列意外事件,可以在 GPT 磁盤上執(zhí)行 MBR 磁盤支持的操作:
在運行帶有 Service Pack 1 (SP1) 的 Windows Server 2003 的基于 x86 的計算機和基于 x64 的計算機上,操作系統(tǒng)必須駐留在 MBR 磁盤上。其他的硬盤可以是 MBR 或 GPT。
在基于 Itanium 的計算機上,操作系統(tǒng)加載程序和啟動分區(qū)必須駐留在 GPT 磁盤上。其他的硬盤可以是 MBR 或 GPT。
不能將 GPT 移至運行 Windows NT 4.0、Windows 2000、Windows XP 或 Windows Server 2003 的基于 x86 的計算機上。不過,可以將 GPT 磁盤從運行帶有 SP1 的 Windows Server 2003 的基于 x86 的計算機或基于 x64 的計算機移至運行 Windows Server 2003 或 Windows XP 的基于 Itanium 的計算機上,反之亦然。
不能使用基于 Itanium 的 Windows 版本,將 GPT 磁盤從基于 Itanium 的計算機移至運行帶有 SP1 的 Windows Server 2003 的基于 x86 的計算機或基于 x64 的計算機,然后啟動該操作系統(tǒng)。在非基于 Itanium 的計算機上使用的 GPT 磁盤必須僅用于數(shù)據(jù)存儲。
在單個動態(tài)磁盤組中既可以有 MBR,也可以有 GPT 磁盤。也使用將基本 GPT 和 MBR 磁盤的混合,但它們不是磁盤組的一部分??梢酝瑫r使用 MBR 和 GPT 磁盤來創(chuàng)建鏡像卷、帶區(qū)卷、跨區(qū)卷和 RAID-5 卷,但是 MBR 的柱面對齊的限制可能會使得創(chuàng)建鏡像卷有困難。通??梢詫?MBR 的磁盤鏡像到 GPT 磁盤上,從而避免柱面對齊的問題。
可以將 MBR 磁盤轉換為 GPT 磁盤,并且只有在磁盤為空的情況下,才可以將 GPT 磁盤轉換為 MBR 磁盤。
不支持 EFI 系統(tǒng)分區(qū)的鏡像。必須使用 bootcfg 命令克隆 EFI 系統(tǒng)分區(qū)。
不能在可移動媒體,或者在與群集服務使用的共享 SCSI 或 Fibre Channel 總線連接的群集磁盤上使用 GPT 分區(qū)樣式。
可以使用 DiskPart.exe 命令行實用程序或 EFI 固件實用程序 Diskpart.efi 在基本 GPT 磁盤上創(chuàng)建分區(qū)。有關 DiskPart.exe 的詳細信息,請參閱 DiskPart。有關“磁盤管理”管理單元的詳細信息,請參閱磁盤管理概述。有關 Diskpart.efi 的詳細信息,請參閱 Intel 網(wǎng)站。
在基于 Itanium 的計算機上的系統(tǒng)恢復方案中,請參閱計算機所附帶的制造商文檔來重新創(chuàng)建或恢復 GPT 磁盤。
有關管理 GPT 和 MBR 磁盤的詳細信息,請參閱可擴展固件接口 或 Microsoft Windows 資源工具包網(wǎng)站上的“Disk Management”(磁盤管理)。
GPT的分區(qū)信息是在分區(qū)中,而不象MBR一樣在主引導扇區(qū),為保護GPT不受MBR類磁盤管理軟件的危害,GPT在主引導扇區(qū)建立了一個保護分區(qū)(Protective MBR)的MBR分區(qū)表,這種分區(qū)的類型標識為0xEE,這個保護分區(qū)的大小在Windows下為128MB,Mac OS X下為200MB,在Window磁盤管理器里名為GPT保護分區(qū),可讓MBR類磁盤管理軟件把GPT看成一個未知格式的分區(qū),而不是錯誤地當成一個未分區(qū)的磁盤。