Different XP %systemroot% directory

#1
Hello!

I have a weird problem: My main Windows version is Windows 7 64 bit, but I always have XP on the computer. Usually this took a seperate partition, but because my HD already has 9 MBR partitions, so I'm installing sometimes two operating systems in one partition, this works f.e. with Linux and Android-x86.

I can do this also with Windows because all versions up to XP 32bit had real localized path names, since XP 64bit they used english path names with MUI packages, like on Mac OS X or Linux. Here are some examples of the German XP, first the english name.

Documents and Settings -> Dokumente und Einstellungen
Program Files -> Programme
Users -> not existing in XP

There are no filename collisions, so installing a MUI-based and a localized Windows NT/XP/Server 2003 works. Creating of such a system is not difficult. Use an empty partition and create an empty folder 'WINDOWS' in it. The XP installer will detect it and offer you to enter a different path name by pressing the Escape key. Then you can use f.e. C:\WINXP32, but I used C:\WINDOWS\SYSWOW32 - it fits to the SysWOW64 folder in the same directory. The installation works fine. Then Windows 7 is installed, it will inform you that there is another Windows version existing and that the contents will be moved in 'Windows.old'. This also works, I remember even an 'former windows version' entry appears in the Win 7 bootloader. Now you have to go to 'C:\Windows.old' and there was my 'WINDOWS\SYSWOW32' folder. I copied it back to 'C:\Windows' and finished.

The problem is now with EasyBCD: If you want to detect a new Win XP/ Server 2003 entry, EasyBCD automatically found an installation. But if you want to add it, I get the following message:

'EasyBCD failed to dectect a valid installation of Windows NT-2003 on all mounted drives and was unable to continue.'

This doesn't mean the program crashed, it just added no entry. I presume that some XP-files are not found in C:\Windows. Unfortunately I found no way to add an installation with a custom %systemroot% directory.

I presume this has to be done with the command line tool 'bcdedit.exe'. It has an own entry for 'systemroot' if you start it without options. How is it possible too create a boot entry manually? I'm using DOS for a long time and I'm still using batch files in Windows 7. But bcdedit.exe is really a complex thing, maybe someone else has experience with it.

My configuration:

MBR drive, three primary and six logical partitions
1st primary partition: foreign OS
2nd primary partition: Windows Bootloader, drive letter W:\
3rd primary partition: Windows 7 XP, drive letter C:\
Windows XP systemroot dir: C:\WINDOWS\SYSWOW32\

Would be great if anyone could help me. I've on many computers Win 7 and XP installed, and if there's a working solution to add the XP installation to the bootloader, it will save one partition and opimizes the usage. Actually I'm mostly using a 35 Gig partition for XP because it's just for compatibility reasons, if they can be combined it will be possible to use the full capacity of the partition for both Win 7 and XP.

Greets, naquaada.

---------- Post added at 02:57 PM ---------- Previous post was at 10:40 AM ----------

So, I could add Windows XP to NeoGrub:

title Windows XP Professional
root (hd0,2)
chainloader /ntldr

Of course, having Win XP in the main list would be nicer.
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#2
EasyBCD verifies the existence of XP by looking for one of 3 folder names
Windows, WinNT (the two MS standard names)
or WinXP (added to its list because so many people mistakenly used it)
and then checking the version number of the ntoskrnl.exe inside a System32 sub folder.

The only way to get EasyBCD to add an XP entry for you is to conform to one of those naming conventions.
People have got round this by a temporary rename to allow XP to be detected, then rename back and edit the EasyBCD generated boot.ini to change the folder name there too.