6

I have a scenario where I need to copy some Windows 10 files over to repair some form of corruption that SFC (System File Checker) does not appear to want to resolve entirely.

How can I determine the architecture type (32 or 64 bit) of a disconnected Windows volume via the command prompt or a Unix shell? I assume that there are some entries that can be pulled out from the registry hives or something of like nature to isolate arch type.

4
  • 4
    Look for "Program Files (x86)", if it doesn't exist, then it's 32-bit. Sep 14, 2015 at 17:07
  • :D Ha, thanks for that obvious answer. I guess when you're in the middle of grinding on a headache like this you sometimes forget the most obvious.
    – ylluminate
    Sep 14, 2015 at 17:08
  • 1
    No problem. I can't seem to find a duplicate (seems like this would have been asked before), so I'll throw it in as an answer. :) Sep 14, 2015 at 17:09
  • 1
    In case of badly damaged file system (No Program files ;)) you can try checking exe's bitness (eg. cmd.exe)
    – PTwr
    Sep 15, 2015 at 7:04

2 Answers 2

17

Look for "Program Files (x86)", if it doesn't exist, then it's 32-bit.

Related:

2
  • 2
    in this case, the answer seems to be the dumbest, is the smartest, upvote btw ;) Sep 14, 2015 at 17:12
  • 1
    In the same line of thought there is C:\Windows\SysWOW64 that should only exist on a 64-bit installation. Sep 15, 2015 at 7:51
3

There is no way to determine from the connection to the share itself what the platform of the server hosting the share is. The SMB protocol abstracts all of that information intentionally (this is why you can copy files to/from an NTFS share under Linux or a Mac where NTFS isn't supported).

You can glean this information anecdotally if the entire OS volume is shared (or by connecting to the C$ share -- which isn't available on non-Windows Samba servers). However, the best way to determine if the host is 64 or 32-bit is to look at the %PROCESSOR_ARCHITECTURE% environment variable on the host. The reason is because some badly-written software creates a Program Files (x86) folder or writes to a Wow6432 node in the registry even on 32-bit platforms, so their presence does not necessarily mean the platform is 64-bit.

However, all this depends on the host being available and you having the access to query it. There is no way, from a share alone on a server you don't otherwise have access to, to determine the platform of the OS hosting it if the files don't give you a hint.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .