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