How can I make two hard drives act as one in Windows 7?
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)
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:
- At a command prompt, type
md ddrive
.- Type
mountvol ddrive \\?\Volume{e2464852-8089-11d2-8803-806d6172696f}\
- 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.