Mauro Carvalho Chehab | 793c638 | 2017-05-14 17:39:55 -0300 | [diff] [blame] | 1 | ========================================== |
| 2 | LDM - Logical Disk Manager (Dynamic Disks) |
| 3 | ========================================== |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | |
Mauro Carvalho Chehab | 793c638 | 2017-05-14 17:39:55 -0300 | [diff] [blame] | 5 | :Author: Originally Written by FlatCap - Richard Russon <ldm@flatcap.org>. |
| 6 | :Last Updated: Anton Altaparmakov on 30 March 2007 for Windows Vista. |
Anton Altaparmakov | dde3334 | 2007-05-21 09:37:42 +0100 | [diff] [blame] | 7 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | Overview |
| 9 | -------- |
| 10 | |
Anton Altaparmakov | dde3334 | 2007-05-21 09:37:42 +0100 | [diff] [blame] | 11 | Windows 2000, XP, and Vista use a new partitioning scheme. It is a complete |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |
Anton Altaparmakov | dde3334 | 2007-05-21 09:37:42 +0100 | [diff] [blame] | 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. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 34 | |
| 35 | |
| 36 | Example |
| 37 | ------- |
| 38 | |
| 39 | Below we have a 50MiB disk, divided into seven partitions. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 | |
Mauro Carvalho Chehab | 793c638 | 2017-05-14 17:39:55 -0300 | [diff] [blame] | 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 | +-------++--------------+---------+-----++--------------+---------+----+ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Mauro Carvalho Chehab | 793c638 | 2017-05-14 17:39:55 -0300 | [diff] [blame] | 69 | When Linux boots, you will see something like:: |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Mauro Carvalho Chehab | 793c638 | 2017-05-14 17:39:55 -0300 | [diff] [blame] | 80 | - "Advanced partition selection" CONFIG_PARTITION_ADVANCED |
| 81 | - "Windows Logical Disk Manager (Dynamic Disk) support" CONFIG_LDM_PARTITION |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Mauro Carvalho Chehab | 793c638 | 2017-05-14 17:39:55 -0300 | [diff] [blame] | 86 | - "Windows LDM extra logging" CONFIG_LDM_DEBUG |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Anton Altaparmakov | dde3334 | 2007-05-21 09:37:42 +0100 | [diff] [blame] | 110 | There is an Overview of the LDM together with complete Technical Documentation. |
| 111 | It is available for download. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 112 | |
Justin P. Mattock | 0ea6e61 | 2010-07-23 20:51:24 -0700 | [diff] [blame] | 113 | http://www.linux-ntfs.org/ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 114 | |
Anton Altaparmakov | dde3334 | 2007-05-21 09:37:42 +0100 | [diff] [blame] | 115 | If you have any LDM questions that aren't answered in the documentation, email |
| 116 | me. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 117 | |
| 118 | Cheers, |
| 119 | FlatCap - Richard Russon |
| 120 | ldm@flatcap.org |
| 121 | |