SharedUserData->NtSystemRoot & Vista

Hello, All!

Doesn’t SharedUserData->NtSystemRoot point to windows dir anymore? In what circumstances?

In my configuration I observe SharedUserData->NtSystemRoot = c:\windows
(\device\HarddiskVolume2), but Vista was installed in g:\windows
(\device\HarddiskVolume6)…

Eugene.

Eugene Lomovsky wrote:

Hello, All!

Doesn’t SharedUserData->NtSystemRoot point to windows dir anymore? In what circumstances?

In my configuration I observe SharedUserData->NtSystemRoot = c:\windows
(\device\HarddiskVolume2), but Vista was installed in g:\windows
(\device\HarddiskVolume6)…

Merging two threads here, I did a search for NtSystemRoot and came up
with a source file in ReactOS that sets this value. Interestingly, they
hard code the drive letter to “c:”.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Eugene Lomovsky wrote:

In my configuration I observe SharedUserData->NtSystemRoot = c:\windows
(\device\HarddiskVolume2), but Vista was installed in g:\windows
(\device\HarddiskVolume6)…

Could this be a side effect of Vista File System Virtualization?

See: http://technet.microsoft.com/en-us/magazine/cc138019.aspx

If Vista or 2008 OS is installed on the machine for the first time (i.e.
this installs bootmgr) - then it always marks its SystemRoot as C:, and the
first partition on the first disk (where bootmgr lives) - as D:.

This is very much unlikely pre-Vista Windows, where first partition remains
C: and the new drive letter is invented for SystemRoot of the new OS.


Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

“Hagen Patzke” wrote in message news:xxxxx@ntdev…
> Eugene Lomovsky wrote:
> > In my configuration I observe SharedUserData->NtSystemRoot = c:\windows
> > (\device\HarddiskVolume2), but Vista was installed in g:\windows
> > (\device\HarddiskVolume6)…
>
> Could this be a side effect of Vista File System Virtualization?
>
> See: http://technet.microsoft.com/en-us/magazine/cc138019.aspx
>

Maxim S. Shatskih wrote:

If Vista or 2008 OS is installed on the machine for the first time (i.e.
this installs bootmgr) - then it always marks its SystemRoot as C:, and the
first partition on the first disk (where bootmgr lives) - as D:.

Thanks, Maxim - I forgot to consider Vistas drive “re-shuffling”.

‘And the Win6 installer spoke “Let there be C:\WINDOWS”.’

> ‘And the Win6 installer spoke “Let there be C:\WINDOWS”.’

If you install the second copy of Win6 - then it will not get C: for
SystemRoot, it will get the next drive letter instead.

C: will be the first Win6 copy already existing in BCD, D: will be the first
disk partition where BCD/BootMgr resides itself.


Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com