How to mount a Windows Spanned Disk (Windows Dynamic Disk)

Write tutorials for Linux Mint here
More tutorials on https://github.com/orgs/linuxmint/discu ... /tutorials and (archive) on https://community.linuxmint.com/tutorial
Forum rules
Don't add support questions to tutorials; start your own topic in the appropriate sub-forum instead. Before you post read forum rules
Post Reply
quartarian

How to mount a Windows Spanned Disk (Windows Dynamic Disk)

Post by quartarian »

Disclaimer: I'm still a Linux noob myself so if this leads to data loss or complete system liquefaction, I'm not responsible. :D

Step 1: Recompile your kernel
To be able to mount a windows spanned disk, you have to enable some options in your kernel that are not selected by default. Fortunately, there is a handy tool I came across that makes this super simple even for us noobs. Note: this may take a few hours for your system to compile.

Step 1A: Download Kernel Check Lumen from http://sourceforge.net/projects/kcheck/files/
Step 1B: Right Click on the .deb file, select Open With GDebi Package installer, and install.
Step 1C: Run KernelCheck, and select typical compilation, then apply.
Step 1D: After the script runs for a bit, the Linux Kernel Configuration tool will popup.
Step 1E: Now search through and verify that the following options are enabled:
  • 1. Multiple devices driver support (RAID and LVM)
    2. Device mapper support
    3. Device mapper debugging support
    4. Advanced partition selection
    5.Windows Logical Disk Manager (Dynamic Disk) support
    6. Windows LDM extra logging
Step 1F: Save the configuration file using the default name and folder the tool provided, exit the Linux Kernel Configuration tool and let the KenelCheck script finish.
Step 1G: Reboot.

*Please note, this reset my grub and left out windows as an option. To re-add it to the menu, launch the terminal, and type:

Code: Select all

$ sudo cp /etc/default/grub /etc/default/grub.backup
$ sudo os-prober
(Windows should be detected)

Code: Select all

$ sudo update grub
Step 2: Create Mount File
We are going to be using the Drive-mapper tool to mount the disk, but it needs a configuration file to tell it what to do. We are going to create that file.

Step 2A: First lets verify we added the right stuff to the kernel. Type this in a terminal

Code: Select all

$ dmesg | grep ldm
Hoepully the output looks something like this:

Code: Select all

sdd:<7>ldm_validate_partition_table(): Found W2K dynamic disk partition type.
ldm_parse_privhead(): PRIVHEAD version 2.12 (Windows Vista).
ldm_parse_privhead(): Parsed PRIVHEAD successfully.
ldm_parse_privhead(): PRIVHEAD version 2.12 (Windows Vista).
ldm_parse_privhead(): Parsed PRIVHEAD successfully.
ldm_parse_privhead(): PRIVHEAD version 2.12 (Windows Vista).
ldm_parse_privhead(): Parsed PRIVHEAD successfully.
ldm_validate_privheads(): Validated PRIVHEADs successfully.
ldm_parse_tocblock(): Cannot find TOCBLOCK, database may be corrupt.
ldm_parse_tocblock(): Parsed TOCBLOCK successfully.
ldm_parse_tocblock(): Parsed TOCBLOCK successfully.
ldm_parse_tocblock(): Cannot find TOCBLOCK, database may be corrupt.
ldm_validate_tocblocks(): Validated 2 TOCBLOCKs successfully.
ldm_parse_vmdb(): Parsed VMDB successfully.
ldm_parse_vblk(): Parsed VBLK 0x1 (type: 0x35) ok.
ldm_parse_vblk(): Parsed VBLK 0x3 (type: 0x51) ok.
ldm_parse_vblk(): Parsed VBLK 0x2 (type: 0x34) ok.
ldm_parse_vblk(): Parsed VBLK 0x5 (type: 0x33) ok.
ldm_parse_vblk(): Parsed VBLK 0x6 (type: 0x34) ok.
ldm_parse_vblk(): Parsed VBLK 0x4 (type: 0x32) ok.
ldm_parse_vblk(): Parsed VBLK 0x7 (type: 0x33) ok.
ldm_partition(): Parsed LDM database successfully.
Step 2B: Now we need to make a note of the size of each partition that the spanned drive uses. At the terminal type the following code but replace “sdb1” and “sdc1” with whatever your drive partition IDs you are actually using.

Code: Select all

$ sudo blockdev --getsize /dev/sdb1
$ sudo blockdev --getsize /dev/sdc1
* Note: if you are unsure what your drive ids are, run gparted. (The sd refers to the type of drive, the a refers to the drive number so to speek, and the 1 refers to the first partition on that drive.)

Step 2C: Now lets create the file:

Code: Select all

$ sudo gedit /etc/[Whatever you want your mount to be named minus any spaces]
Now use this as a template, but change the device sizes and ids to what you got from the blockdevv command.

Code: Select all

# Offset into   Size of this    Raid type       Device          Start sector
# volume        device                                          of device
0               976766976	linear          /dev/sdb1       0
976766976       976766976       linear          /dev/sdc1       0
Step 2D: Save the configuration file.
Step 2E: Now lets try and mount!

Code: Select all

$ sudo dmsetup create [nameofmount] /etc/[nameofmount]
Step 3: Auto Mount at boot
Hopefully you've now go your NTFS spanned drive to mount correctly. Now lets set it to auto mount at boot.

Step 3A:

Code: Select all

$ sudo gedit /etc/rc.local 
Steo 3B: Add the following line and save:

Code: Select all

$ sudo dmsetup create [nameofmount] /etc/[nameofmount]
Well, I hope this helps you guys. Here are the sources I used to help me figure this out if you run into any problems:
http://www.linuxquestions.org/questions ... ux-600427/
http://www.mjmwired.net/kernel/Document ... s/ntfs.txt
http://www.youtube.com/watch?v=QE-t5GWadds
http://www.youtube.com/watch?v=gl8mfpZuDiM
Post Reply

Return to “Tutorials”