How can you tell if Windows XP is 64bit or 32bit if you only have the partition/filesystem on a hard drive?

Solution 1:

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:\Windows\SysWOW64
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

Solution 2:

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.

Solution 3:

Registry

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.

Solution 4:

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.

Solution 5:

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.