122 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| ==========================================
 | |
| LDM - Logical Disk Manager (Dynamic Disks)
 | |
| ==========================================
 | |
| 
 | |
| :Author: Originally Written by FlatCap - Richard Russon <ldm@flatcap.org>.
 | |
| :Last Updated: Anton Altaparmakov on 30 March 2007 for Windows Vista.
 | |
| 
 | |
| Overview
 | |
| --------
 | |
| 
 | |
| Windows 2000, XP, and Vista use a new partitioning scheme.  It is a complete
 | |
| replacement for the MSDOS style partitions.  It stores its information in a
 | |
| 1MiB journalled database at the end of the physical disk.  The size of
 | |
| partitions is limited only by disk space.  The maximum number of partitions is
 | |
| nearly 2000.
 | |
| 
 | |
| Any partitions created under the LDM are called "Dynamic Disks".  There are no
 | |
| longer any primary or extended partitions.  Normal MSDOS style partitions are
 | |
| now known as Basic Disks.
 | |
| 
 | |
| If you wish to use Spanned, Striped, Mirrored or RAID 5 Volumes, you must use
 | |
| Dynamic Disks.  The journalling allows Windows to make changes to these
 | |
| partitions and filesystems without the need to reboot.
 | |
| 
 | |
| Once the LDM driver has divided up the disk, you can use the MD driver to
 | |
| assemble any multi-partition volumes, e.g.  Stripes, RAID5.
 | |
| 
 | |
| To prevent legacy applications from repartitioning the disk, the LDM creates a
 | |
| dummy MSDOS partition containing one disk-sized partition.  This is what is
 | |
| supported with the Linux LDM driver.
 | |
| 
 | |
| A newer approach that has been implemented with Vista is to put LDM on top of a
 | |
| GPT label disk.  This is not supported by the Linux LDM driver yet.
 | |
| 
 | |
| 
 | |
| Example
 | |
| -------
 | |
| 
 | |
| Below we have a 50MiB disk, divided into seven partitions.
 | |
| 
 | |
| .. note::
 | |
| 
 | |
|    The missing 1MiB at the end of the disk is where the LDM database is
 | |
|    stored.
 | |
| 
 | |
| +-------++--------------+---------+-----++--------------+---------+----+
 | |
| |Device || Offset Bytes | Sectors | MiB || Size   Bytes | Sectors | 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|
 | |
| +-------++--------------+---------+-----++--------------+---------+----+
 | |
| 
 | |
| The LDM Database may not store the partitions in the order that they appear on
 | |
| disk, but the driver will sort them.
 | |
| 
 | |
| When Linux boots, you will see something like::
 | |
| 
 | |
|   hda: 102400 sectors w/32KiB Cache, CHS=50/64/32
 | |
|   hda: [LDM] hda1 hda2 hda3 hda4 hda5 hda6 hda7
 | |
| 
 | |
| 
 | |
| Compiling LDM Support
 | |
| ---------------------
 | |
| 
 | |
| To enable LDM, choose the following two options: 
 | |
| 
 | |
|   - "Advanced partition selection" CONFIG_PARTITION_ADVANCED
 | |
|   - "Windows Logical Disk Manager (Dynamic Disk) support" CONFIG_LDM_PARTITION
 | |
| 
 | |
| If you believe the driver isn't working as it should, you can enable the extra
 | |
| debugging code.  This will produce a LOT of output.  The option is:
 | |
| 
 | |
|   - "Windows LDM extra logging" CONFIG_LDM_DEBUG
 | |
| 
 | |
| N.B. The partition code cannot be compiled as a module.
 | |
| 
 | |
| As with all the partition code, if the driver doesn't see signs of its type of
 | |
| partition, it will pass control to another driver, so there is no harm in
 | |
| enabling it.
 | |
| 
 | |
| If you have Dynamic Disks but don't enable the driver, then all you will see
 | |
| is a dummy MSDOS partition filling the whole disk.  You won't be able to mount
 | |
| any of the volumes on the disk.
 | |
| 
 | |
| 
 | |
| Booting
 | |
| -------
 | |
| 
 | |
| If you enable LDM support, then lilo is capable of booting from any of the
 | |
| discovered partitions.  However, grub does not understand the LDM partitioning
 | |
| and cannot boot from a Dynamic Disk.
 | |
| 
 | |
| 
 | |
| More Documentation
 | |
| ------------------
 | |
| 
 | |
| There is an Overview of the LDM together with complete Technical Documentation.
 | |
| It is available for download.
 | |
| 
 | |
|   http://www.linux-ntfs.org/
 | |
| 
 | |
| If you have any LDM questions that aren't answered in the documentation, email
 | |
| me.
 | |
| 
 | |
| Cheers,
 | |
|     FlatCap - Richard Russon
 | |
|     ldm@flatcap.org
 | |
| 
 |