6

У меня есть сценарий, в котором мне нужно скопировать некоторые файлы Windows 10, чтобы исправить какую-то форму повреждения, которую SFC (System File Checker) не пытается полностью устранить.

Как определить тип архитектуры (32 или 64-разрядный) отключенного тома Windows с помощью командной строки или оболочки Unix? Я предполагаю, что есть некоторые записи, которые можно извлечь из кустов реестра или что-то в этом роде, чтобы изолировать тип арки.

2 ответа2

17

Ищите «Program Files (x86)», если он не существует, то он 32-битный.

Связанные с:

3

Невозможно определить из подключения к самому общему ресурсу, на какой платформе находится сервер, на котором размещен этот общий ресурс. Протокол SMB преднамеренно абстрагирует всю эту информацию (вот почему вы можете копировать файлы в / из общего ресурса NTFS в Linux или Mac, где NTFS не поддерживается).

Вы можете получить эту информацию анекдотически, если весь том ОС является общим (или путем подключения к общему ресурсу C $, который недоступен на серверах Samba, отличных от Windows). Однако лучший способ определить, является ли хост 64-битным или 32-битным, - это посмотреть переменную среды% PROCESSOR_ARCHITECTURE% на хосте. Причина в том, что некоторые плохо написанные программы создают папку Program Files (x86) или записывают данные в узел Wow6432 в реестре даже на 32-разрядных платформах, поэтому их наличие не обязательно означает, что платформа является 64-разрядной.

Однако все это зависит от того, доступен ли хост, и у вас есть доступ для его запроса. Невозможно с помощью одного общего ресурса на сервере, к которому у вас нет другого доступа, определить платформу ОС, на которой он размещен, если файлы не дают вам подсказку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .