LDM - 邏輯磁碟管理器(動態磁碟)¶
- 作者:
最初由 FlatCap - Richard Russon 編寫 <ldm@flatcap.org>。
- 最後更新:
Anton Altaparmakov 於 2007 年 3 月 30 日為 Windows Vista 更新。
概述¶
Windows 2000、XP 和 Vista 使用一種新的分割槽方案。它是對 MSDOS 樣式分割槽的完全替代。它將其資訊儲存在物理磁碟末尾的一個 1MiB 的日誌資料庫中。分割槽的大小僅受磁碟空間限制。分割槽的最大數量接近 2000 個。
在 LDM 下建立的任何分割槽都稱為“動態磁碟”。不再有主分割槽或擴充套件分割槽。正常的 MSDOS 樣式分割槽現在稱為基本磁碟。
如果您希望使用跨區卷、條帶卷、映象卷或 RAID 5 卷,則必須使用動態磁碟。日誌記錄允許 Windows 對這些分割槽和檔案系統進行更改,而無需重新啟動。
一旦 LDM 驅動程式劃分了磁碟,您就可以使用 MD 驅動程式來組裝任何多分割槽卷,例如條帶卷、RAID5。
為了防止舊應用程式重新分割槽磁碟,LDM 建立一個虛擬的 MSDOS 分割槽,其中包含一個磁碟大小的分割槽。這是 Linux LDM 驅動程式支援的內容。
Vista 中實現的一種較新的方法是將 LDM 放在 GPT 標籤磁碟的頂部。 Linux LDM 驅動程式尚不支援此功能。
示例¶
下面我們有一個 50MiB 的磁碟,分為七個分割槽。
注意
磁碟末尾缺少的 1MiB 是 LDM 資料庫的儲存位置。
裝置 |
偏移量(位元組) |
扇區 |
MiB |
大小(位元組) |
扇區 |
MiB |
||
|---|---|---|---|---|---|---|---|---|
hda |
0 |
0 |
0 |
52428800 |
102400 |
50 |
||
hda1 |
51380224 |
100352 |
49 |
1048576 |
2048 |
1 |
||
hda2 |
16384 |
32 |
0 |
6979584 |
13632 |
6 |
||
hda3 |
6995968 |
13664 |
6 |
10485760 |
20480 |
10 |
||
hda4 |
17481728 |
34144 |
16 |
4194304 |
8192 |
4 |
||
hda5 |
21676032 |
42336 |
20 |
5242880 |
10240 |
5 |
||
hda6 |
26918912 |
52576 |
25 |
10485760 |
20480 |
10 |
||
hda7 |
37404672 |
73056 |
35 |
13959168 |
27264 |
13 |
LDM 資料庫可能不會按分割槽在磁碟上出現的順序儲存分割槽,但驅動程式會對其進行排序。
當 Linux 啟動時,您會看到類似以下內容
hda: 102400 sectors w/32KiB Cache, CHS=50/64/32
hda: [LDM] hda1 hda2 hda3 hda4 hda5 hda6 hda7
編譯 LDM 支援¶
要啟用 LDM,請選擇以下兩個選項
“高階分割槽選擇” CONFIG_PARTITION_ADVANCED
“Windows 邏輯磁碟管理器(動態磁碟)支援” CONFIG_LDM_PARTITION
如果您認為驅動程式無法正常工作,則可以啟用額外的除錯程式碼。這將產生大量的輸出。該選項是
“Windows LDM 額外日誌記錄” CONFIG_LDM_DEBUG
注意:分割槽程式碼不能編譯為模組。
與所有分割槽程式碼一樣,如果驅動程式看不到其型別的分割槽的跡象,它將把控制權傳遞給另一個驅動程式,因此啟用它沒有害處。
如果您有動態磁碟但未啟用驅動程式,那麼您將看到的只是一個填充整個磁碟的虛擬 MSDOS 分割槽。您將無法掛載磁碟上的任何卷。
啟動¶
如果您啟用 LDM 支援,則 lilo 能夠從任何已發現的分割槽啟動。但是,grub 不理解 LDM 分割槽,並且無法從動態磁碟啟動。
更多文件¶
有一個 LDM 概述以及完整的技術文件。 它可供下載。
如果您有文件中未解答的任何 LDM 問題,請給我傳送電子郵件。
- 乾杯,
FlatCap - Richard Russon ldm@flatcap.org