OS on SSD, Users on HDD: Did I break Win7?
January 13, 2012 9:28 AM   Subscribe

I have a brand new Windows 7 system with a small SSD and a large HDD for data. OS is installed on the SSD. I manually moved the ProgramData, Program Files/(x86) and Users folders to the HDD. Wondering what I might have broken in the process, and how to fix it.

System is set up to run a microscope in my lab, needed a fast computer with a ton of RAM and a lot of drive space (all images get saved as uncompressed TIFFs, so it fills up fast). The sales rep delivered on all counts - except that all programs and user folders are on the SSD rather than the large hard drive (SSD is C: drive, large spinner is D:). There's a mostly identical microscope down the hall, also running Windows 7, but with the Users folder on a separate drive.

I know that such a setup isn't officially supported or even recommended by Microsoft, but I feel this is a stupid, backwards stance to take - small fast SSDs are becoming quite common, and not giving consumers an easy, built-in way of keeping the OS and programs/user data separated is ridiculous.

Rather than reinstall I tried to make this change manually. I booted to command prompt using the OS install CD "Repair" option, used robocopy to move the Users, Program Files, Program Files (x86) and ProgramData to D: drive. I then renamed the four original folders. Finally, I used the junction command to drop symlinks to these folders on the C: drive, with the idea that doing so would keep all links in the Registry intact without needing to do any edits with Regedit. (Also recreated the symlinks inside ProgramData folder too - I didn't forget those!).

After reboot, everything SEEMED to be OK, so I dropped back to command line and killed the (renamed) original folders from C:, recovering quite a bit of space. All programs and user folders are now on D:, but appear to the user as if they were on C:. Programs open up and run just fine, all users can log in properly. Great, right? But I feel I am missing something.

Specifically, I tried to run the Windows component setup utility to make some changes - removing some of the junk that Windows installs by default, and adding in a few things (OK, Minesweeper and solitaire, but these are ESSENTIAL right?). But this failed - got an error saying Windows couldn't complete the changes.

Any ideas? Did I break something, overlook something, or what? Hardware seems to install fine, but I haven't tried installing or uninstalling software aside from the Windows components. Can I just run a repair install to fix any issues, or will this junk my junctions and just place everything back on the C: drive? If I need to do anything, now is the time to do it - aside from adding a couple of user accounts and running software updates, the system is clean and unused, but I will need to be SURE it will be operational (and reliable!) in the near future.

Any help is appreciated. After four years of running OS X I am losing my touch with Windows I guess. (And no I can't use the microscope software with a Mac, or I would be doing so.)
posted by caution live frogs to Computers & Internet (9 answers total) 3 users marked this as a favorite
 
Here are instructions for doing this with a clean install.

Looks like you may have to reformat the machine, but you could probably have the OS up and running again in 60-90 minutes.

I'd recommend doing it in the way described in that link, as your way is likely to break apps, Service Pack installs or both. You'll spend much more time later trying to figure out why things are broken than just doing it right now.
posted by cnc at 9:36 AM on January 13, 2012


Response by poster: cnc - I hit that thread while looking for a way to do this. Note at the end of the accepted answer there's a suggestion to add junction points to C: (referring to the new Users folder location) and then edit the Registry to point back to C: instead of the custom locations set during installation.

I thought the whole point of junctions was that they could be used to do exactly what I needed done - the OS recognizes that they are links but treats them as if they were not.

The other computer I referred to above has no entries in the Registry pointing to D: drive for the Users folder (as I would expect if done per recommendation in that thread you linked), but that's where it is, with a junction on C: instead of an actual folder. There are no issues doing installs, updates, etc. on this computer.

Is is perhaps the ProgramData folder rather than any other issue which might be the problem? I think I can move that back without any issues with respect to disk space. But there's no way Program Files can be left on the C: drive - if I install any Adobe software along with the microscope software (which isn't installed yet either!) that drive is going to be very close to full.
posted by caution live frogs at 9:45 AM on January 13, 2012


Not sure about the junction points. You may be fine, as it sounds like you did a fairly complete job. My point was that if you do it during pre-install, you have to worry less about missing something in the registry. Sometimes registry keys are encoded rather than in plain text.

The ProgramData folder itself is some sort of redirect. Windows 7 offers compatibility with old apps that would store their data in Program Files or old Documents and Settings folders, and instead Windows redirects that data into ProgramData. So yes, it could be that you have created a redirect to a redirect, and that just doesn't work well. Most apps don't store much in a ProgramData folder, so you would probably be OK restoring it, as long as you keep an eye on it. Again, I'm making educated guesses here.

As long as you have good backups and know what to do to get things running again, you could just go with it for now and fix it later. My preference is to mess with broken stuff as little as possible.

One other possibility is to get a larger SSD. It sounds like you may be using a 32 GB, and that may end up eventually being a problem no matter how much work you do. 64 GB SSDs are commonly less than $100 now. Also note that SSDs slow down (but not drastically) when they don't have free space to work with.

One other suggestion is to post the same question to SuperUser.com. You may get better answers there.
posted by cnc at 10:13 AM on January 13, 2012


This is not an answer but I have a 40GB SSD + 1TB storage hard drive. It's a pain but I do manage. Can't imagine any non geeks putting up with it though. I moved the paging file to my storage hard drive. Turned off system restore + hibernation support. Hibernation uses 75% of ram. I run CCcleaner often to clean up temp files. I only have 7GB free doing all that.

I am guessing your microscope software does not give you the option to set a custom directory for output files. It's just something I've learned to deal with, copying new downloads/scans/etc to my storage drive.

http://www.zdnet.com/blog/bott/windows-7-and-ssds-cutting-your-system-drive-down-to-size/2941?pg=2

read the second page as well.
posted by glenno86 at 10:15 AM on January 13, 2012


glenno: when turning off hibernation, be sure to delete any hibernation files left behind, which will have a filesize about the same as the amount of RAM you have, and probably in C:\
posted by rhizome at 10:44 AM on January 13, 2012


Wow, there is no way that the cost of purchasing a properly sized SSD is greater than the cost of the time you have sunk into this. Just get a larger SSD. I run Win7 on a 120gb and keep user data on a slow drive, works like a charm, no monkeying around needed.
posted by Cosine at 12:22 PM on January 13, 2012


Response by poster: Money isn't the problem - it's purchasing anything. Government funding, complete with restrictions on anything smacking of IT. Only reason I was able to purchase a computer at all was because it was needed to run the microscope software, and getting them to let me have any kind of say in what components it had was a pain.

From what I am reading elsewhere it looks as if it is perfectly possible to reboot an existing system into audit mode and then make changes there rather than completely re-run setup. May have to give that a shot. (Computer is non-networked, so getting everything updated after setup would be a pain in the butt. If I have admin control, it can't be on a network. Thanks, government!)
posted by caution live frogs at 12:48 PM on January 13, 2012


@caution I used to work for the government in IT. Call it repairs or maintenance and it should go through much quicker than a new purchase would.
posted by SNACKeR at 6:38 PM on January 13, 2012


I once hit on exactly the same junction-based idea to move "Documents and Settings" to a second drive in an existing XP install. I was sure it would work. Why wouldn't it?

But Windows Explorer found one way to break it: any attempt to move a file to the Recycle Bin caused error messages beyond the ken of non-technical users; the only way to let Explorer delete files successfully was to turn the Recycle Bin off. The issue appears to be that Explorer expects to be able to use a simple rename operation to move stuff into the hidden Recycler folder, but is not smart enough to work out which drive's Recycler to use if the file path includes cross-drive junctions.

Given that this kind of thing is an unsupported configuration for Windows, and given the whole rename-files-at-boot-time craziness that Windows needs in order to replace in-use files during upgrades and software maintenance, I would not be surprised to find that putting a cross-drive junction in the %ProgramFiles% path still breaks a lot of things even if the Windows 7 version of Explorer doesn't bugger up the Recycle Bin any more.

So if you do want %ProgramFiles% on some drive other than the system drive, I think you're going to need to go the long way round with registry changes. This is hard to get right with any kind of search-and-replace strategy, because registry references will be a mix of "C:\Program Files..." and "%SYSTEMDRIVE%\Program Files" and "C?\Program Files" and binary embedded variants of these. It's far safer to change the %ProgramFiles% path at install time.
posted by flabdablet at 2:35 AM on January 14, 2012 [1 favorite]


« Older Help me stop freaking out at my bf   |   Dropbox-backed note apps for iPhone/iPad Newer »
This thread is closed to new comments.