Commit | Line | Data |
---|---|---|
793c6382 MCC |
1 | ========================================== |
2 | LDM - Logical Disk Manager (Dynamic Disks) | |
3 | ========================================== | |
1da177e4 | 4 | |
793c6382 MCC |
5 | :Author: Originally Written by FlatCap - Richard Russon <ldm@flatcap.org>. |
6 | :Last Updated: Anton Altaparmakov on 30 March 2007 for Windows Vista. | |
dde33348 | 7 | |
1da177e4 LT |
8 | Overview |
9 | -------- | |
10 | ||
dde33348 | 11 | Windows 2000, XP, and Vista use a new partitioning scheme. It is a complete |
1da177e4 LT |
12 | replacement for the MSDOS style partitions. It stores its information in a |
13 | 1MiB journalled database at the end of the physical disk. The size of | |
14 | partitions is limited only by disk space. The maximum number of partitions is | |
15 | nearly 2000. | |
16 | ||
17 | Any partitions created under the LDM are called "Dynamic Disks". There are no | |
18 | longer any primary or extended partitions. Normal MSDOS style partitions are | |
19 | now known as Basic Disks. | |
20 | ||
21 | If you wish to use Spanned, Striped, Mirrored or RAID 5 Volumes, you must use | |
22 | Dynamic Disks. The journalling allows Windows to make changes to these | |
23 | partitions and filesystems without the need to reboot. | |
24 | ||
25 | Once the LDM driver has divided up the disk, you can use the MD driver to | |
26 | assemble any multi-partition volumes, e.g. Stripes, RAID5. | |
27 | ||
28 | To prevent legacy applications from repartitioning the disk, the LDM creates a | |
dde33348 AA |
29 | dummy MSDOS partition containing one disk-sized partition. This is what is |
30 | supported with the Linux LDM driver. | |
31 | ||
32 | A newer approach that has been implemented with Vista is to put LDM on top of a | |
33 | GPT label disk. This is not supported by the Linux LDM driver yet. | |
1da177e4 LT |
34 | |
35 | ||
36 | Example | |
37 | ------- | |
38 | ||
39 | Below we have a 50MiB disk, divided into seven partitions. | |
793c6382 MCC |
40 | |
41 | .. note:: | |
42 | ||
43 | The missing 1MiB at the end of the disk is where the LDM database is | |
44 | stored. | |
45 | ||
46 | +-------++--------------+---------+-----++--------------+---------+----+ | |
47 | |Device || Offset Bytes | Sectors | MiB || Size Bytes | Sectors | MiB| | |
48 | +=======++==============+=========+=====++==============+=========+====+ | |
49 | |hda || 0 | 0 | 0 || 52428800 | 102400 | 50| | |
50 | +-------++--------------+---------+-----++--------------+---------+----+ | |
51 | |hda1 || 51380224 | 100352 | 49 || 1048576 | 2048 | 1| | |
52 | +-------++--------------+---------+-----++--------------+---------+----+ | |
53 | |hda2 || 16384 | 32 | 0 || 6979584 | 13632 | 6| | |
54 | +-------++--------------+---------+-----++--------------+---------+----+ | |
55 | |hda3 || 6995968 | 13664 | 6 || 10485760 | 20480 | 10| | |
56 | +-------++--------------+---------+-----++--------------+---------+----+ | |
57 | |hda4 || 17481728 | 34144 | 16 || 4194304 | 8192 | 4| | |
58 | +-------++--------------+---------+-----++--------------+---------+----+ | |
59 | |hda5 || 21676032 | 42336 | 20 || 5242880 | 10240 | 5| | |
60 | +-------++--------------+---------+-----++--------------+---------+----+ | |
61 | |hda6 || 26918912 | 52576 | 25 || 10485760 | 20480 | 10| | |
62 | +-------++--------------+---------+-----++--------------+---------+----+ | |
63 | |hda7 || 37404672 | 73056 | 35 || 13959168 | 27264 | 13| | |
64 | +-------++--------------+---------+-----++--------------+---------+----+ | |
1da177e4 LT |
65 | |
66 | The LDM Database may not store the partitions in the order that they appear on | |
67 | disk, but the driver will sort them. | |
68 | ||
793c6382 | 69 | When Linux boots, you will see something like:: |
1da177e4 LT |
70 | |
71 | hda: 102400 sectors w/32KiB Cache, CHS=50/64/32 | |
72 | hda: [LDM] hda1 hda2 hda3 hda4 hda5 hda6 hda7 | |
73 | ||
74 | ||
75 | Compiling LDM Support | |
76 | --------------------- | |
77 | ||
78 | To enable LDM, choose the following two options: | |
79 | ||
793c6382 MCC |
80 | - "Advanced partition selection" CONFIG_PARTITION_ADVANCED |
81 | - "Windows Logical Disk Manager (Dynamic Disk) support" CONFIG_LDM_PARTITION | |
1da177e4 LT |
82 | |
83 | If you believe the driver isn't working as it should, you can enable the extra | |
84 | debugging code. This will produce a LOT of output. The option is: | |
85 | ||
793c6382 | 86 | - "Windows LDM extra logging" CONFIG_LDM_DEBUG |
1da177e4 LT |
87 | |
88 | N.B. The partition code cannot be compiled as a module. | |
89 | ||
90 | As with all the partition code, if the driver doesn't see signs of its type of | |
91 | partition, it will pass control to another driver, so there is no harm in | |
92 | enabling it. | |
93 | ||
94 | If you have Dynamic Disks but don't enable the driver, then all you will see | |
95 | is a dummy MSDOS partition filling the whole disk. You won't be able to mount | |
96 | any of the volumes on the disk. | |
97 | ||
98 | ||
99 | Booting | |
100 | ------- | |
101 | ||
102 | If you enable LDM support, then lilo is capable of booting from any of the | |
103 | discovered partitions. However, grub does not understand the LDM partitioning | |
104 | and cannot boot from a Dynamic Disk. | |
105 | ||
106 | ||
107 | More Documentation | |
108 | ------------------ | |
109 | ||
dde33348 AA |
110 | There is an Overview of the LDM together with complete Technical Documentation. |
111 | It is available for download. | |
1da177e4 | 112 | |
0ea6e611 | 113 | http://www.linux-ntfs.org/ |
1da177e4 | 114 | |
dde33348 AA |
115 | If you have any LDM questions that aren't answered in the documentation, email |
116 | me. | |
1da177e4 LT |
117 | |
118 | Cheers, | |
119 | FlatCap - Richard Russon | |
120 | ldm@flatcap.org | |
121 |