ei00004
asked on
Is it Possible to Move or Relocate the Print Drivers folder (w32x86)?
The print drivers folder (w32x86) has become large and is taking up much needed space on the C drive. Can this folder be safely moved to another volume on the Windows print server and the O.S. pointed to the new location for drivers?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Ok guys thanks for the response, I have already moved the print spooler folder to another volume, however the spooler folder is not very large. Our print server has over 80 printers on it and thus the drivers folder is large.
I will test moving the print drives folder using the Reparse Point as suggested. Will let you know the results.
I will test moving the print drives folder using the Reparse Point as suggested. Will let you know the results.
ASKER
Ok, on a test Window 2003 server, I stopped the Print Spooler service then I copied the contents of C:\Windows\system32\spool\ drivers to i:\drives folder. When I enter C:\Junction c:\windows\system32\spool\ drive i:\drivers
I get, "Error setting junction for c:\windows\system32\spool\ drivers: The directory is not empty.
I get, "Error setting junction for c:\windows\system32\spool\
It sounds like it needs the C:\Windows\system32\spool\ drivers directory to be empty when you create the junction.
ASKER
Ok I just tried a test, I created a c:\temp folder and a i:\test folder. At the cmd prompt I enter, C:\Junction c:\temp i:\test, utility returns Created: c:\temp; Targeted at: i:\test:. Now everything I copy to c:\temp is duplicated in i:\test. However the copied files still show up in c:\temp, this is only duplicating the data. What I actually need is when I copy data to c:\temp I only want it to show up in i:\test.
Ok I ran the same test and got the same results. I then reviewed what junction does. This is what happens. When you create a junction it is the same as a symbolic link in unix. So the files that are on C:\temp will be moved to I:\temp. The files will still show up in C:\temp because the folder is a symbolic link. So when you open C:\temp you are actually opening I:\temp. The symbolic link takes little to no space so it should save you the space you need.
Earlier you had a problem creating the junction on the drivers current location. I would recomment copying the drivers to the new location. Make sure the permissions are the same on the new files and directories. Remove the files from C:\ location. Create the junction. You should see that the C:\ drive does not increase in size. As long as the junction tool works the way I read it.
Earlier you had a problem creating the junction on the drivers current location. I would recomment copying the drivers to the new location. Make sure the permissions are the same on the new files and directories. Remove the files from C:\ location. Create the junction. You should see that the C:\ drive does not increase in size. As long as the junction tool works the way I read it.
ASKER
Ok, I'm trying your suggestion, will let you know the results shortly.
ASKER
ThorSG1 From the cmd prompt the c:\temp folder is noted by <JUNCTION> when I do a directory listing of the C:\ . I tested the folder contents by copying 3MB of datafiles to c:\temp, even though the files are also copied to i:\test, they still increased the size of the c:\temp folder by 3MB. You might want try testing this on your end.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Worked like a charm. No issues at all, and now I've just gained about 800+ MB on my C: drive. Thanks. Never knew how to do this on Windows.
Moving the folder is not advised, and neither is hacking the registry for that matter.
There is another solution, it's quite simple and involves creating an NTFS Junction (Also known as a Reparse Point).This basically means copying all the files in the folder to to another folder and then linking the two folders using the file system.
This is a feature of NTFS and the utility you need was written by a bloke from SysInternals you can get it here or here.
Using it is very simple. Copy the contents of folderA (the one taking up too much space) to folderB (on another drive) then run the command: Junction.Exe FolderA FolderB. And you're done.
Let me know if this helped. :)