Jump to content

Recommended Posts

Posted

I'm trying to setup a Windows 7 x64 Workstation that has 8TB of disk in RAID-6. Ideally, this PC should just have one big "C" drive.

I can create a GPT partition this big, but don't have an EFI BIOS to boot it... so instead I create a < 2TB boot volume and another volume ( > 2TB) with the remaining space.

If I could mount this large volume on c:\Users it would give me 90% of what I need. I have successfully created this arrangement a number of ways (using WAIK or via a cmd prompt early in the install).

However, as soon as the installation commences, it moves the c:\Users folder to c:\Windows.old (and creates a new c:\Users on the "wrong" partition)

Anyone know how to stop it from doing this?

Is what I'm trying to do even possible?

I really want to get this working during installation, as other techniques to change it post-install fail to (re-)create/ all the junctions that exist in each users profile.


Posted
While it may work, I cannot understand why you would keep your OS on the same volume (or controller even) as your data.

Simplicity really. Previous experience with "multiple drive letter" systems has left me battling a full C-drive whilst other drives have plenty of space. Unfortunately, some users I have to contend with either just don't get it or simply forget. That's why I like the idea of mounting volumes - gives me the benefit of separation without users needing to do anything different.

Are you using an unattend.xml?

Yes, I am.

<FolderLocations>

<ProfilesDirectory>%SYSTEMDRIVE%\Profiles</ProfilesDirectory>

<ProgramData>%SYSTEMDRIVE%\ProgramData</ProgramData>

</FolderLocations>

Known issues with doing so

I'm aware of those issues, which is exactly why I do not want to change the location of the profile directory. In my approach, the profile directory remains at its default - therefore all junctions, etc. continue to work

Posted (edited)

I don't think it is possible to mount a volume to that particular directory.

Inside the WIM that directory already has folders/files and I've never been able to create a mount point over a location that had existing files (always requrired an empty folder).

When your mount point is getting renamed to windows.old did you remember to copy all the default user profiles into the mount point beforehand ??? Maybe the simple fact that the default user profile did not exist prompted the OS to recopy the users directory from the WIM ?

Edited by MrJinje
Posted
While it may work, I cannot understand why you would keep your OS on the same volume (or controller even) as your data.

Simplicity really. Previous experience with "multiple drive letter" systems has left me battling a full C-drive whilst other drives have plenty of space. Unfortunately, some users I have to contend with either just don't get it or simply forget.

I guess how you or your users operate their servers must be different than me. I've never had a problem of the C drive out of space.

Posted
Inside the WIM that directory already has folders/files and I've never been able to create a mount point over a location that had existing files (always requrired an empty folder).

When your mount point is getting renamed to windows.old did you remember to copy all the default user profiles into the mount point beforehand ??? Maybe the simple fact that the default user profile did not exist prompted the OS to recopy the users directory from the WIM ?

The filesystems have always been freshly formatted and one of them just mounted on an empty Users folder - nothing else on them otherwise. I never tried having anything in the User folder - however, one of my aims is to have the installation process create these directories (eg: default profile) so that all the junctions beneath them get properly setup/created.

I tried using various imaging/backup software (even the one built into Win7) to restore backup of the Users folder - but nothing does it properly.

I think I'm going to give up on it. Shame really... it's seems like an obvious way forward to me (or maybe that's just my Unix heritage showing through).

I guess how you or your users operate their servers must be different than me. I've never had a problem of the C drive out of space.

The workflow requires selecting output files at a number of stages (unfortunately, it doesn't allow always defaulting to another drive.). I've got one user in particular who always messes it up (on another system where he was required to select a another drive). The people I'm dealing with aren't computer people so keeping it nice and simple is high on the list.

Besides that, I've just become so determined to try and make this work, because I feel it would've been an elegant solution. Oh well.

Posted
and of course you already decided not to do it the easy way and just use a group policy to redirect only the needed folders

Yes, I know about that and I know I've got other alternatives as well. I was just trying to see if I could get the approach in the thread's topic to work.

Thanks for the suggestions though.

  • 3 weeks later...
Posted

I managed to find a workable solution to this problem, which I want to document here in case anyone else discovers this thread whilst searching for a solution.

It's not the install-time/automated solution I was hoping for, but it's easy enough to do for a one-off (like in my case). This setup has been running perfectly for a couple of weeks now - without any problems whatsoever. What makes this solution possible is a free utility named "Junction Box" by IWR Consultancy.

Here are the steps:

  1. Install of Windows 7. (I followed this procedure immediately after installing, so that it was performed from a clean, pristine state.)
  2. Reboot; press F8 during start-up to get the boot menu and select "Repair Your Computer". Enter administrator Username/Password and start a Command Prompt
  3. Create a fresh c:\Users mount point (transferring security info from the existing folder) by typing the following commands:
    c:
    icacls Users /save acl.dat
    ren Users Old
    md Users
    icacls \ /restore acl.dat
    del acl.dat


  4. Mount the desired partition on c:\Users (use the mountvol or diskpart utilities to do this). In my case, Partition 1 on Disk 1 is what I wanted to mount on c:\Users so I used typed the following (change accordingly for your system). For example:
    diskpart
    select disk 1
    select partition 1
    assign mount=c:\Users
    exit


  5. If all has gone well, the partition will now be mounted. Verify this by typing:
    dir

    the Users line should look something like:

    ...
    01/05/2010 12:30PM <DIR> <JUNCTION> Users[\??\Volume{e5e44f2d-07e8-11df-b8a4-f4d89ad1244e}\]
    ...

    (the Volume name will be different on your system)

  6. Transfer the contents of the old Users folder to the new, mounted Users folder by typing these commands exactly:
    robocopy Old Users /s /e /xjd /copyall /dcopy:t
    rmdir /s Old

    the options to robocopy ensure all file info is copied, but importantly, the /xjd option stops the copying of Directory Junctions (which prevents a never-ending loop)

  7. Reboot and login. Download and run the "Junction Box" utility.
    • Select "All Profiles and System Junctions"
    • Click "Restore Junctions" (selecting the supplied DefaultJunctions.ntj when prompted).

this restores the Directory Junctions that were excluded during robocopy command.

[*]All done!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...