Piffle, this is Linux, anything is possible
Bob -- yes you can, I do it myself. But as a less-than-common scenario there's no user-friendly tool to make it easy.
The Linux kernel includes the 'md' (multiple disk) driver to manage Linux software RAID devices. What isn't common knowledge is that Windows software RAID uses an identical structure, bar superblocks (don't worry about these for now). So, Linux being awesome as it is, can in fact mount Windows software RAID devices -- as long as you tell it where they are (and that's where superblocks come in for Linux, enabling auto-building arrays).
Here'a a quick how-to:
1. First make sure you've got the 'mdadm' tools installed:
Code:
sudo apt-get install mdadm
2. Now determine the partitions being used for your Windows array. If you know these already, great, if not check your partitions like so:
Code:
cat /proc/partitions
On my system, for example, I get:
Code:
major minor #blocks name
[...output cut...]
8 32 146523384 sdc
8 33 10485760 sdc1
8 34 10483712 sdc2
8 35 125548544 sdc3
8 48 146523384 sdd
8 49 10485760 sdd1
8 50 10483712 sdd2
8 51 125548544 sdd3
For me, my Windows RAID array is built from /dev/sdc2 and /dev/sdd2 (my sdc1 and sdd1 are my Linux RAID boot)
3. Start the array with mdadm, create a directory to mount it, and then mount it:
Code:
sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2
sudo mkdir /media/Windows
sudo mount -t ntfs /dev/md0 /media/Windows
And that's it! The new 'Windows' mount will appear on your desktop to access.
Helpful stuff to know
* Make sure Windows was shutdown cleanly before booting Linux. If not, both the array and mounting with NTFS will likely refuse to work.
* If an array still won't build (an error is reported), try swapping the devices around -- for eg '/dev/sdc2 /dev/sdd2' instead of '/dev/sdd2 /dev/sdc2'. The order they are used to build the array is important.
* Windows software RAID actually uses a chunk size of 128k, but the Linux md driver wants to know the chunk size per device in the array, and so we use 64. You can actually build it with 128 too, but if you mount it you'll see missing files and directories (and whatever you do, do not write to it in this mode!)
* The 'mdadm' command comes with an --assemble option, but this is for super-block (Linux based) arrays. Hence we use --build which will assemble arrays regardless of superblocks and on the assumption the user knows what they are doing (and, in this case, allows us to mount Windows arrays).
* Run 'cat /proc/mdstat' to see the active arrays on your system.
Finally you said you have two RAID 0 arrays -- don't forget to increment '/dev/md0' to '/dev/md1' for your second array, and create another directory to mount it on, so you can access both arrays from your desktop.
Bookmarks