我有兩個據稱相同的 3TB Western Digital USB 硬碟。其中一份包含幾乎完整的 3TB 資料。我希望另一個是該資料的備份。有很多小文件,因此運行速度cp
甚至比使用dd
.兩個磁碟機是同時購買的,都使用 MSDOS 分割區表,但一個顯示邏輯/實體磁區大小為 4096/4096,另一個顯示 512/4096。
我的問題是我正在嘗試複製到512/4096 驅動器,但由於 MSDOS 分割表對 512 位元組(邏輯)磁區的限制,我無法建立足夠大的分割區。我嘗試過各種命令(dd
分區表的前幾個扇區、、、parted
gparted fdisk
、Windows XP“管理”和Windows 7“管理”),但最終要么是2TB 最大限制,要么是~300GB 分區,當它們認為它們是3TB 時他們被創造了。
鑑於我的一個驅動器以 4096/4096 運行,那麼這個問題對於我的情況並不成立。
使用 GPT 是我的後備選項,但它建立的分割區比 NTFS 分割區稍小,因此我無法只使用dd
該分割區上的檔案系統。
有沒有辦法對 MSDOS 分割區表(無論是 Linux 還是 Windows)強制使用 4096/4096,以便我可以建立與我的來源磁碟完美匹配的 3TB 分割區?
答案1
我剛剛遇到了類似的問題。我有一個希捷 3TB USB 桌面擴展硬碟,我想將其移至我的 PC 中以便更快地訪問(我的 PC 上只有 USB 2.0)。一旦我這樣做了,我就無法存取檔案系統了。將其返回 USB 轉 SATA 控制器使其再次工作。比較兩者,我發現在外部情況下(使用USB 轉SATA 控制器),驅動器具有4096/4096 邏輯/物理扇區大小,當連接到內部主機板SATA 時,它具有512/4096 邏輯/物理扇區大小。就像OP建議的那樣,4096個邏輯扇區大小允許> 2TiB分區,但在512個扇區大小時,我們得到2TiB限制。我不想將內容(透過 USB 慢慢地)複製到某個地方、重新分割區 (GPT)、重新格式化,然後複製回來,所以我堅持這樣做。我在 Linux 上的最終解決方案是:
刪除原先使用4k磁區的MBR分割區表。使用 gdisk(fdisk 的 GPT 變體)使用跨越完全相同區域的 512 位元組磁區來建立分割區。這基本上相當於將 4K 區域中分區的開始/結束扇區乘以 8。 e2fsk 仍在運行,所以我不能100% 確定我是安全的,但理論上似乎一切都很好,我確實安裝了一些文件,它們看起來很好。
答案2
許多超過 2 TB 的 Western Digital 外接 USB 隨身碟(至少包括一些 My Book、My Book Essential、Elements 和 Easystore 磁碟機)可使用 WD Quick Formatter 工具配置為 512 位元組邏輯磁區或 4096 位元組邏輯磁區。當配置為4096 位元組邏輯磁區時,機箱中的USB 至SATA 橋接器會在連接內部磁碟機的SATA 介面處的512 位元組邏輯磁區和連接主機電腦的USB 介面處的4096 位元組邏輯磁區之間進行轉換。
對於 512 位元組邏輯磁區,MBR 分割區表只能使用最多 2 TB 的磁碟機。這是因為 MBR 表條目為 32 位,最多有 2^32 或 4,294,967,296 個磁區。 2^32 磁區 x 512 位元組/磁區為 2 TB。 MBR 分割表具有 4096 位元組邏輯磁區,最多可使用 16 TB 的磁碟機。 (2^32 磁區x 4096 位元組/磁區為16 TB)Windows XP 僅支援MBR 分割區表,因此4096 位元組邏輯磁區是在Windows XP 中使用超過2 TB 的磁碟機上的所有空間的唯一方法。 Windows Vista 及更高版本支援的較新的 GPT 分割區表格式沒有 32 位元限制,並且可以支援大於 2 TB 的磁碟,無論磁區大小如何。
這WD 快速格式化工具(截至撰寫本文時,版本 2.0.0.65 可供下載)可以啟用或停用磁區大小轉換。此版本的工具在 Windows XP 下無法正常運作,因此我建議在 Windows 7 或更高版本中執行該工具。當在 Windows 7 或更高版本的 Windows 但具有 Windows 7 相容模式下運行時,該工具將在「格式化您的 WD 外接硬碟」畫面上顯示兩個設定選項:
- XP 相容:此選項將磁碟機配置為 4096 位元組邏輯磁區,並建立 MBR 分割區表。
- 最相容(需要 Vista 或更高版本):此選項將磁碟機配置為 512 位元組邏輯磁區,並建立 GPT 分割區表。
這兩個選項還會建立一個填滿整個磁碟機的分割區,並以 NTFS 快速格式化它。
如果您在Windows 8 或更高版本中執行該工具而不將其置於Windows 7 相容模式,則該工具將不會在格式化螢幕上顯示相容性選項,並且將以「最相容」模式(512位元組邏輯磁區)進行格式化。
WD Quick Formatter 2.0.0.65 在 Windows XP 中無法正常運作:它成功配置了 4096 位元組邏輯磁區,但無法正確格式化。隨後可以使用另一個工具對磁碟機進行分割和格式化。
WD Quick Formatter 1.2.0.10 在 Windows XP 中可以正常運作,但不再可以從 Western Digital 下載。
當目標磁碟機配置為與來源磁碟機相同的邏輯磁區大小時,您可以使用 dd 複製到該磁碟機,並且複製將無需變更分割區表即可運作。
我可以確認這些 Western Digital 外接 USB 隨身碟可以配置為相容 XP:
Easystore 14 TB (WDBCKA0140HBK)
Easystore 12 TB (WDBCKA0120HBK)
Easystore 8 TB (WDBCKA0080HBK)
我的書 Essential 1140,3 TB (WDBACW0030HBK)
元素 1021,3 TB (WDBAAU0030HBK)
答案3
您的問題可能類似於如何在4096位元組磁區磁碟上更正512位元組磁區MBR?。簡而言之,這是USB外殼韌體的限制,不了解4K扇區格式
實體磁區大小是 HDD 的本機磁區大小,因此無法「強制」它變更該值,除非您找到某種方法來更新磁碟機的韌體並執行低階格式化
某些(舊)4K HDD 可能支持效法的512 位元組磁區模式(稱為 512e,這就是 512/4096 磁碟機的功能),其中物理大小仍然是 4K,但它報告為具有 512 位元組磁區,這是邏輯大小。這意味著分區必須與 4K 正確對齊,否則效能將受到很大影響。從技術上講,報告的邏輯值可能可以透過某些磁碟配置軟體或透過更新韌體(如果製造商支援)來更改。
不過我不知道有這樣的軟體。如果您看到相同磁碟有不同的邏輯值,那麼這是因為外部機箱中的舊磁碟控制器無法辨識新的 512e 或 4K 格式。 USB HDD 經常發生這種情況,如中提到的肖恩安德森的回答和:
- 邏輯磁區大小會根據是否透過 USB 連接還是直接 SATA 連接而變化
- 4k 仿真 SATA USB 控制器
- 硬碟機是否根據主機控制器的需要開啟 512e(4k 磁區的 512 位元組模擬)?
- 透過 SATA 連接時,3TB 硬碟顯示 512 個邏輯磁區大小
事實上,許多舊的 USB 外殼甚至不支援大於 2TB 的驅動器
更糟的是,有些機箱透過將 512 位元組磁區組合為 4K 磁區來執行相反的操作
某些 USB 磁碟盒使問題變得更加複雜。其中一些盤櫃的作用與 AF 的作用相反:它們佔用 8 個磁碟區,並將它們捆綁到一個新的 4096 位元組磁區中。我不確定這項舉措背後的原因是什麼,但一個實際的好處是大於 2TiB 的磁碟可以與舊的 MBR 分割系統一起使用。一個主要缺點是,在這些機櫃之一中分區的磁碟不能直接使用,也不能在不執行此類轉換的機櫃中使用。同樣,未經此轉換而準備的磁碟在轉移到此類機櫃時也無法使用。
類似問題:
此外,您不應該使用 dd 來複製磁碟。相反,使用一些磁碟克隆工具,它們會足夠聰明,可以跳過空白簇,並且還能夠不同大小的磁碟之間的克隆
此外,沒有“DOS 分割表”,只有 MBR 和 GPT(以及其他一些不常見的格式)。不幸的是,gparted 和許多 Linux 工具稱之為“msdos”,這是不正確的
使用 MBR,您只能尋址 2 32 個磁區(512 位元組磁區為 2TB,4K 磁區為 16TB)。這就是 4096/4096 驅動器正常工作的原因。我認為 Shane Anderson 的解決方法有效,但如果不起作用,唯一的方法就是使用 GPT。事實上,即使您只有一個分割區,也建議使用 GPT,因為它支援校驗和和備份分割區表,這會顯著降低意外損壞/刪除的可能性
答案4
是和不是。
您無法變更實體磁區大小,很少有磁碟機可讓您變更傳輸層磁區大小,因此您每次寫入的資料總是為 4K 的倍數。
但是,邏輯磁區大小與實體磁區大小無關,作業系統可以透過組合寫入來處理此類轉換。
驅動器一次始終會存取 4096 個位元組。也就是說,任何現代作業系統的區塊裝置驅動程式都可以在磁區大小(現在稱為區塊大小)之間進行轉換,因此分區塊大小不必與底層裝置的區塊大小相符。
您可以輕鬆地在 512 位元組邏輯磁區裝置上使用 4K 邏輯磁區,或在 4K 邏輯磁區裝置上使用 512 位元組邏輯磁區區。
此外,分割區級邏輯磁區不必與檔案系統中使用的磁區大小相符。
Linux 和擴充 Android 在 ExtFS 上使用 1024、2048 或 4096 的區塊大小(檔案系統級邏輯磁區大小)。 (在 512 位元組磁區驅動器上,它將使用多個實體磁區來形成一個邏輯區塊)。
在 FAT32 上,DRDOS 6.x 透過使用 8K 邏輯磁區支援更大的磁碟,Linux 可以使用更大的邏輯磁區。這允許創建更大的 FAT32 分割區。
類似地,許多軟體程式在管理包含大量小得令人難以置信的檔案的非常小的檔案系統時,都使用邏輯磁區大小小至 64KB 的程式。
參考:
Linux MSDOSTOOLS 手冊頁
Linux mke2fs 手冊頁
關於 FAT 的維基百科頁面: