I'm currently doing my father a favor and setting up an Oracle VM with WinXP on a Win10 host PC. I have the old SSD with his original WinXP partition from some years ago. The data was saved and is accessible on his new Win10 PC. For his convenience I want to set up the same 32- or 64-bit version of WinXP pro as he originally had. But the only way for me to find this out, is to read the old filesystem of the WinXP partition over an IDE-to-USB converter. Since the rest of the computer is discarded, there is no processor whose name I can google. I also tried booting the hard drive with no success.

So my question is: How can I tell if a Windows XP partition is 64bit or 32bit if I only have the filesystem of hard drive mounted as a external USB drive? Like, is there a specific file to read out... or does a specific directory has to exist, or something like that?

the filesystem mounted over USB to my (not his) Ubuntu 20.04 OS
The old Windows XP Professional filesystem mounted over USB to my (not his) Ubuntu 20.04 machine.

  • Wait, did your father install Windows XP in a SSD? – olegario Oct 22 at 22:08
  • Wait, are you planning to recreate the whole system from scratch? Why not just boot the original install directly? Make an image of that SSD and run it as the VM. Yes, you'll have to reactivate it and likely uninstall a few drivers, but after that, job done. – TooTea Oct 23 at 7:23
  • @TooTea No, he just needs/wants a VM for old software he used for his company. – Niklas E. Oct 23 at 9:32
  • @olegario The SSD is not the original hard drive of the old discarded laptop. The original HDD corrupted (around 2012?) and my father switch to an 128GB SSD installing WinXP over the original and lost WinXP CD. By that moment he already had Win7 on a tower PC with all his data. Later, then the laptop broke, he only kept the SSD, because "that (the SSD) was a very new and expensive thing at the time" (he said, translated from German). – Niklas E. Oct 23 at 9:32

64-bit Windows XP is actually quite unlikely, 64-bit and larger memory configurations gained traction in the consumer markets sometime after XP, and XP was somewhat quirky due to the lack of manufacturer support for 64-bit.

That said the presence of two folders will tell you the system is 64-bit. If you have

C:\Program Files (x86)

Then your system is 64-bit. If both of those are missing then you have a 32-bit system.

Read more at The 'Program Files (x86)' and 'SysWOW64' folders explained

| improve this answer | |
  • 6
    Win XP 64 bit edition actually had a fairly good reputation, but wasn't very common as you point out. – crasic Oct 22 at 0:48
  • 8
    @crasic Can confirm! I was running Windows XP x64 Edition from 2008 through mid-2013. It worked well for me and I didn't feel a need to "upgrade" to Vista or even Windows 7 (but I did install Windows 8.1). Don't confuse Windows XP x64 Edition (AMD64, which was based on Windows Server 2003 and has version 5.2) with the original Windows XP 64-bit Edition from 2001 which ran on Intel Itanium (IA64) - but that edition is incredibly rare and I've never ever seen a copy of that, even a pirated/warez copy. – Dai Oct 22 at 2:26
  • 1
    Since the OP is running ubuntu, they may be able to check the format of the executables from a command line, with the file command. – j4nd3r53n Oct 22 at 10:07
  • 1
    @Dmitry XP Pro x64 Edition didn't need an SP3. It was a completely different kernel from the 32-bit version of XP, actually being based on the same kernel as Server 2003. It had the same service packs as Server 2003, which ended with SP2. XP x64/Server 2003 SP2 was actually a newer kernel than Windows XP SP3. – Cody Gray Oct 22 at 23:46
  • 1
    The likelihood of 64-bit Windows XP is very, VERY low. I worked with one such system and the driver compatibility was horrendously poor. I had huge trouble getting 64-bit drivers for basic, commonly available components when 32-bit versions were readily available. This was before Windows 7 IIRC. – Nelson Oct 24 at 17:00

There will be 2 "program" folders if it is 64, That is 32bit in the image.

64bit XP was super rare due to hardly anyone wrote 64bit drivers for their hardware.

| improve this answer | |


While the specific question of 64 vs 32 bit Windows XP can be most easily solved by looking at the folder structure, the generic issue of determining the installed Windows version (including the service pack level and specific build) from looking at the file system is properly solved by looking at the registry.

You can locate the registry hive files, and then look for the keys representing the Windows version; for recent versions of Windows they should be at HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion and HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\BuildLabEx.

| improve this answer | |

If you have the Windows partition mounted on a Linux system, you can use the Linux file command to determine if the installed Windows was 32-bit or 64-bit. Pick a file in the \WINDOWS directory that came with the operating system and see what the result is:

$ file /run/media/user/ABCD-0123/WINDOWS/System32/winver.exe
/run/media/user/ABCD-0123/WINDOWS/System32/winver.exe: PE32+ executable (GUI) x86-64, for MS Windows

It says x86-64 so it's 64 bit.

$ file /run/media/user/ABCD-0123/WINDOWS/System32/winver.exe
/run/media/user/ABCD-0123/WINDOWS/System32/winver.exe: PE32+ executable (GUI) Intel 80386, for MS Windows

It says Intel 80386 so it's 32 bit.

| improve this answer | |

I'm currently doing my father a favor and setting up an Oracle VirtualBox VM with Windows XP on a Windows 10 host PC. I have the old SSD with his original Windows XP partition from some years ago. The data was saved and is accessible on his new Windows 10 PC.

Windows XP was only 32-bit. Microsoft sold Windows XP Professional x64 Edition has a separate license. If your father had Windows XP then it's nearly a guaranteed fact they were using the 32-bit version. Windows XP Professional x64 Edition was licensed and sold separately. In other words, Windows XP Professional x64 Edition, cannot be activated by a 32-bit Windows XP license.

So my question is: How can I tell if a Windows XP partition is 64bit or 32bit if I only have the filesystem of the hard drive mounted as an external USB drive? Like, is there a specific file to readout?

If you really wanted to spend the time, you could mount the proper registry hive if it still exists on the HDD, and determine what the system properties indicate. Based on the information you have it's likely not going to be possible to explicitly confirm if they were not using Windows XP Professional x64 Edition.

Your screenshot indicates there isn't a Program Files directory, which should exist, even on Windows XP. There are additional folders, that do not exist but should exist, like your father's user profile directory.

| improve this answer | |
  • 3
    To make matters more confusing, Windows XP "64-bit Edition" was for Itanium CPUs – "x64 Edition" is the one that other answers are talking about. – user1686 Oct 21 at 14:13
  • @user1686 - I was referring to that edition also, I didn't even consider, the Itanium version of Windows since that was discontinued so long ago. – Ramhound Oct 21 at 14:19
  • 7
    Regarding the missing "Program Files" directory, if that's a German installation, C:\Programme\ would be it. – Doug Deden Oct 21 at 16:53
  • @user165568 - I know for a fact Windows XPand Windows XP Professional x64 Edition were separate products and were license separately, the fact you were a business likely means you had a support contract. Windows Vista was the first version of Windows to be a single license with regards to 32-bit/64-bit. Likewise, Windows 8 was the first version, to provide language packs to Home/Professional versions outside of Windows 7 Ultimate. – Ramhound Oct 22 at 9:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.