How can I make two hard drives act as one in Windows 7?

10

3

Is there any way to configure Windows 7 to make two hard drives act as one (without using RAID), so hard drive 1 and hard drive 2 would share a single drive letter?

Can this be achieved natively in Windows, or do I need some external software?

Burimi

Posted 2011-08-16T08:40:30.583

Reputation: 215

Answers

12

By far the easiest solution that technically meets the requirement is to mount the second drive as a subdirectory of the first. I.e. the second drive could be C:\Drive2 instead of D:\. But they don't act as one, then: you don't pool free space.

If you do want to share space, you're talking about RAID-0 (or JBOD, Just a Bunch of Disks). Windows can do this without extra hardware. You'll use diskmgmt.msc ("disk management" from the Microsoft Management Console) for this task.

First, convert both disks to "dynamic" disks. Right-click the disk and choose "Convert to Dynamic Disk".

Next, you can create a volume on one disk and then extend it to the second disk. There's one restriction: you can't do this with the Windows boot disk itself. (That makes sense: you're not using hardware for this RAID solution but Windows, so Windows has to be loaded before this works)

MSalters

Posted 2011-08-16T08:40:30.583

Reputation: 7 587

So many things wrong with this answer... You do not need RAID-0. JBOD is not equivalent to RAID-0. Converting to dynamic disk will not cause data loss. You CAN convert the Windows boot disk to dynamic. – qasdfdsaq – 2015-10-28T16:17:44.853

@qasdfdsaq: If you have an alternative to RAID-0 and JBOD, do add an answer. I never said JBOD was equivalent to RAID-0, merely that it was an alternative. And it's not the conversion to dynamic disk that causes the problem, but creating a stripe set on two (or more) disks and trying to boot from that stripe set. (Although it might be possible now with Windows 10 and the Compressed OS option, haven't tried that yet) – MSalters – 2015-10-28T18:25:00.753

There is one big disadvantage that should be mentioned: if you use two drives to form one drive and one of the two drives fail, you risk losing a lot (if not all) of your files. If the MTBF (mean time between failure) of one disk is 10 years, with two drives, this becomes 5 years (assuming an underlying independent exponential distribution of failure). – agtoever – 2016-02-18T10:35:23.123

well many thanks MSalters ,that was an awesome engineering solution ,but please could you tell me ,When Converting Disks to Dynamic will this Cause Data Loss ,can i still have data's in drives . – Burimi – 2011-08-16T10:11:46.887

2Yes, this will cause all data to be lost!! – sinni800 – 2011-08-16T13:51:39.617

5

If you are using NTFS for your file systems, you may want to look into Junction Points.

From How to create and manipulate NTFS junction points:

Microsoft offers three utilities for creating and manipulating NTFS junction points:

Linkd.exe

  • Grafts any target folder onto a Windows 2000 version of NTFS folder
    • Displays the target of an NTFS junction point
    • Deletes NTFS junction points that are created with Linkd.exe
    • Location: Microsoft Windows 2000 Resource Kit

Mountvol.exe

  • Grafts the root folder of a local volume onto a Windows 2000 version of NTFS folder (or "mounts" the volume)
    • Displays the target of an NTFS junction point that is used to mount a volume
    • Lists the local file system volumes that are available for use
    • Deletes the volume mount points that are created with mountvol.exe
    • Location: Windows 2000 CD-ROM in the I386 folder

Delrp.exe

  • Deletes NTFS junction points
    • Also deletes other types of reparse points, which are the entities that underlie junction points
    • Aimed primarily at developers who create reparse points
    • Location: Microsoft Windows 2000 Resource Kit

It then goes on to list some examples. To mount a drive as a subdirectory of another drive, as MSalters suggests, the appropriate example would be:

To mount another volume onto an NTFS junction point on your system drive:

  1. At a command prompt, type md ddrive.
  2. Type mountvol ddrive \\?\Volume{e2464852-8089-11d2-8803-806d6172696f}\
  3. Type dir ddrive to displays the contents of drive D.

NOTE: When you display the contents of a folder by using the "dir" command, NTFS junction points are indicated by {Junction}.

An excellent example of this is if you have a small SSD boot drive, but want to move a huge game you're not currently playing off your SSD and onto your big hard drive so you can install another game. First you move the folder to the other drive and create a junction point where it was to where it is now.

I haven't tried it yet, but a recent Lifehacker article suggests that SSD Boost Manager (English translation) should make this very easy indeed.

Mark Booth

Posted 2011-08-16T08:40:30.583

Reputation: 2 324

I've done it the other way around (bought the SSD later, didn't want to reinstall Windows, moved the stuff I often use to SSD). Such a "Junction Point" is also created automatically by the first method I suggested in my answer (mount as C:\drive2) – MSalters – 2011-08-16T14:28:37.467

@MSalters - Thanks, you already had my up-vote. *8') It looks like we were both suggesting the same thing anyway, so I've updated my answer to show how to do what you suggested. – Mark Booth – 2011-08-16T15:53:36.543

0

On Windows Vista and newer, there is no need to use external tools as the Command Prompt has a new built-in command called MkLink, which can be used to create NTFS junction points, symbolic links and hard links:

MkLink

Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a directory junction point.
        Link    specifies the name (and location) of the new symbolic link.
        Target  specifies the path (relative or absolute) to where the new link resolves to.

To erase junction points and directories symbolic links, the command RmDir (RD) can be used. To erase hard links and file symbolic links, the command Erase (Del) can be used. Keep in mind that on NTFS every file has at least one hard link (the path where the user can find the file), so if you delete the last hard link referencing the file, you effectively erases the file.

João Paulo

Posted 2011-08-16T08:40:30.583

Reputation: 36