Как запустить 32 битную программу на 64 windows 10
Перейти к содержимому

Как запустить 32 битную программу на 64 windows 10

  • автор:

32-разрядная и 64-разрядная версия Windows: вопросы и ответы

Ответы на распространенные вопросы о 32-разрядной и 64-разрядной версиях Windows.

Как выполнить обновление с 32-разрядной до 64-разрядной версии Windows?

Чтобы выполнить обновление с 32-разрядной до 64-разрядной версии Windows, требуется переформатировать жесткий диск, установить 64-разрядную версию Windows, а затем переустановить все программы, которые были установлены на вашем устройстве.

Как определить, какая версия Windows установлена на компьютере: 32-разрядная или 64-разрядная?

Windows 10 и Windows 8.1

  1. Нажмите Start кнопку «Пуск», а затем выберите Параметры >>системы .
    Открыть о параметрах
  2. Справа, в разделе Характеристики устройства, посмотрите, какой Тип системы указан.

Windows 7

Значок кнопки

  1. Нажмите кнопку » Пуск »

Какую версию Windows следует установить: 32-разрядную или 64-разрядную?

Чтобы установить 64-разрядную версию Windows, вам понадобится ЦП, который может работать с 64-разрядной версией Windows. Преимущества использования 64-разрядной операционной системы особенно очевидны при работе с большими объемами оперативной памяти (ОЗУ), например 4 ГБ и более. В таких случаях 64-разрядная операционная система обрабатывает большие объемы памяти более эффективно, чем 32-разрядная система. 64-разрядная операционная система работает быстрее при одновременном запуске нескольких программ и частом переключении между ними.

Как определить, можно ли запустить на компьютере 64-разрядную версию Windows?

Для работы с 64-разрядной версией Windows на компьютере должен быть установлен процессор с тактовой частотой 64 бит. Чтобы узнать, поддерживает ли ваш процессор 64-разрядный, выполните указанные ниже действия.

Windows 10 и Windows 8.1

  1. Нажмите Start кнопку «Пуск», а затем выберите Параметры >>системы .
    Открыть о параметрах
  2. Справа, в разделе Характеристики устройства, посмотрите, какой Тип системы указан.

Windows 7

Значок кнопки

  1. Нажмите кнопку Пуск ,

Запуск 32-разрядных приложений

WOW64 — это эмулятор x86, который позволяет 32-разрядным приложениям Windows легко работать в 64-разрядной версии Windows. Это позволяет 32-разрядным (x86) приложениям Windows легко работать в 64-разрядной версии (x64) Windows, а также для 32-разрядных (x86) и 32-разрядных (ARM) приложений Windows для эффективного выполнения в 64-разрядной (ARM64) Windows. WOW64 предоставляется вместе с операционной системой и не должен быть явно включен. Дополнительные сведения см. в разделе Сведения о реализации WOW64.

Система изолирует 32-разрядные приложения от 64-разрядных приложений, что включает предотвращение конфликтов файлов и реестров. Поддерживаются консоль, графический интерфейс и приложения-службы. Система обеспечивает взаимодействие через границу 32/64 для таких сценариев, как вырезания и вставки и COM. Однако 32-разрядные процессы не могут загружать 64-разрядные библиотеки DLL для выполнения, а 64-разрядные процессы не могут загружать 32-разрядные библиотеки DLL для выполнения. Это ограничение не применяется к библиотекам DLL, загруженным в виде файлов данных или файлов ресурсов изображений. Дополнительные сведения см. в разделе LoadLibraryEx.

32-разрядное приложение может определить, выполняется ли оно в WOW64, вызывая функцию IsWow64Process (используйте IsWow64Process2, если оно предназначено для Windows 10). Приложение может получить дополнительные сведения о процессоре с помощью функции GetNativeSystemInfo .

Обратите внимание, что 64-разрядная версия Windows не поддерживает запуск 16-разрядных приложений windows. Основная причина заключается в том, что дескриптор имеет 32 значимых бита в 64-разрядной версии Windows. Таким образом, дескрипторы не могут быть усечены и переданы в 16-разрядные приложения без потери данных. Попытки запуска 16-разрядных приложений завершаются сбоем со следующей ошибкой: ERROR_BAD_EXE_FORMAT.

В этом разделе

  • Производительность и потребление памяти в WOW64
  • Сведения о реализации WOW64
  • Перенаправитель реестра
  • Перенаправитель файловой системы
  • Управление памятью
  • Соответствие процессоров
  • Взаимодействие между процессами
  • Установка приложения
  • Отладка WOW64

Обратная связь

Были ли сведения на этой странице полезными?

Урок 2. Поддержка 32-битных приложений в 64-битной среде Windows

Прежде чем приступить к тематике разработки кода 64-битных программ, остановимся на вопросе обратной совместимости 64-битных версий Windows с 32-битными приложениями. Обратная совместимость осуществляется за счет механизмов, реализованных в WoW64.

WoW64 (Windows-on-Windows 64-bit) — подсистема операционной системы Windows, позволяющая запускать 32-битные приложения на всех 64-битных версиях Windows.

Подсистема WoW64 не поддерживает следующие программы:

  • программы, скомпилированные для 16-разрядных операционных систем;
  • программы режима ядра, скомпилированные для 32-разрядных операционных систем.

Накладные расходы

Существуют различия WoW64 в зависимости от архитектуры процессора. Например, 64-битная версия Windows разработанная для процессора Intel Itanium 2 использует WoW64 для эмуляции x86 инструкций. Такая эмуляция весьма ресурсоемка по сравнению с WoW64 для архитектуры Intel 64, так как происходит переключение с 64-битного режима в режим совместимости при выполнении 32-битных программ.

WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%. Для некоторых программ это значение может быть больше. Два процента — это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.

Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими, как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.

Преимущество 64-битной среды для 32-битных программ

Из-за наличия прослойки WoW64 32-битные программы работают менее эффективно в 64-битной среде, чем в 32-битной. Но все-таки простые 32-битные приложения могут получить одно преимущество от их запуска в 64-битной среде. Вы, наверное, знаете, что программа, собранная с ключом /LARGEADDRESSAWARE:YES, может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Так вот, эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).

Перенаправления

Подсистема WoW64 изолирует 32-разрядные программы от 64-разрядных путем перенаправления обращений к файлам и реестру. Это предотвращает случайный доступ 32-битных программ к данным 64-битных приложений. Например, 32-битное приложение, которое запускает файл DLL из каталога %systemroot%\System32, может случайно обратиться к 64-разрядному файлу DLL, который несовместим с 32-битной программой. Во избежание этого подсистема WoW64 перенаправляет доступ из папки %systemroot%\System32 в папку %systemroot%\SysWOW64. Это перенаправление позволяет предотвратить ошибки совместимости, поскольку при этом требуется файл DLL, созданный специально для работы с 32-разрядными приложениями.

Подробнее с механизмами перенаправления файловой системы и реестра можно познакомиться в разделе MSDN «Running 32-bit Applications».

Почему невозможно использовать в 64-битной программе 32-битные DLL? Можно ли это обойти?

Загрузить 32-битную DLL из 64-битного процесса и выполнить код из неё невозможно. Невозможно в силу дизайна 64-битных систем. В принципе, невозможно. Не помогут ни хитрости, ни недокументированные пути. Для этого нужно загрузить и проинициализировать WoW64, не говоря уже о структурах в ядре. Фактически нужно будет на лету превратить 64-битный процесс в 32-х битный. Подробнее эта тема рассмотрена в посте «Недокументированные функции; Загрузка 32-х битных DLL в 64-х битный процесс». Единственное, что можно порекомендовать, — это создание суррогатного процесса и взаимодействия с ним посредством технологии COM. Об этом рассказывается в статье «Accessing 32-bit DLLs from 64-bit code».

А вот загрузить ресурсы из 32-битной DLL в 64-битный процесс совсем несложно. Это можно сделать, если при вызове LoadLibraryEx указать флаг LOAD_LIBRARY_AS_DATAFILE.

Постепенный отказ от поддержки 32-битных программ

Вполне естественно, если компания Microsoft будет стимулировать переход на 64-битные системы, постепенно отказываясь от поддержки 32-битных программ в ряде версий операционной системы Windows. Конечно, это будет очень медленный процесс. Но все-таки первые шаги в этом направлении уже сделаны.

Многие администраторы знают про относительно новый режим установки и работы серверной версии операционной системы под названием Server Core. Это тот режим, о котором участники войн «Windows vs Linux» говорили очень давно. Одним из аргументов сторонников использования Linux на сервере была возможность установить серверную ОС без графического интерфейса (GUI). Но вот и в Windows Server появилась такая возможность. Установка в этом режиме позволяет получить только командную строку без пользовательского интерфейса.

Эта возможность (установка Server Core) появилась в Windows Server 2008. Но в Windows Server 2008 R2 появилось нововведение, приближающее 64-битное будущее. При установке Windows Server 2008 R2 (Server Core) поддержка запуска 32-битных приложений стала опциональной. Причем по умолчанию эта поддержка выключена. И при попытке запуска 32-битного приложения в режиме Server Core пользователь получит сообщение о невозможности запуска. Конечно, можно добавить поддержку 32-битных программ:

start /w ocsetup ServerCore-WOW64

В обычном (Full Installation) режиме 32-битные приложения по умолчанию запускаются, а вот в Server Core уже нет.

Тенденция очевидна. Со временем все более рациональным будет создание 64-битных версий приложений, так как они смогут функционировать на большем числе версий операционных систем.

Дополнительная информация

Интересным источником информации по системе WoW64 является блог Алексея Пахунова: http://blog.not-a-kernel-guy.com/. Алексей является сотрудником компании Microsoft и принимает непосредственное участие в разработке подсистемы WoW64.

Авторы курса: Андрей Карпов (karpov@viva64.com), Евгений Рыжков (evg@viva64.com).

Как установить 32-битную программу на 64-битную Windows?

Часто решения, которые мы принимаем, когда установка программы может повлиять на нас в течение длительного времени, если они плохие, то создадут проблемы, а если хорошие, то помогут нам. Конечно, есть старые программы, которые можно без проблем установить в новую операционную систему, но вопрос в том, действительно ли они совместимы.

В этом руководстве, мы ответим на следующие вопросы: Можно ли установить 32-битную программу на 64-битный компьютер? Каковы архитектуры 32 и 64 бит? Кроме того, мы увидим шаги по установке 32-битной программы в 64-битной Windows. И тогда мы ответим, безопасно ли устанавливать эти программы.

Как я могу копировать программы и их настройки с одного ПК с Windows на другой?

Научитесь копировать программы с одного ПК на другой с теми же настройками

содержание скрывать

Можно ли установить 32-битную программу на 64-битный компьютер?

Ответ на вопрос, можно ли установить 32-разрядную программу на 64-разрядный компьютер, звучит утвердительно, если не наоборот. То есть вы не можете установить 64-битную программу на 32-битный компьютер, хотя 64-битная быстрее и способна обрабатывать больше оперативной памяти.

Важно отметить, что до сих пор существуют программы, позволяющие «32-битная архитектура», потому что его создатели не обновились до 64 бит. Кроме того, с этим проблем нет, потому что новые операционные системы содержат использование установки 32-битных приложений на 64-битной архитектуре.

И это так, потому что Windows в процессе установки два года назад «Файловые системы программ» в ПК. В этой 32-разрядной системе он хранится как «Program Files (x86)», поэтому Windows распознает 32-разрядное приложение и предоставляет для выполнения точный файл «.dll».

32 битная программа в 64

Каковы архитектуры 32 и 64 бит?

Во-первых, мы собираемся определить что такое 32-битные архитектуры, эти процессоры были выпущены в 1990 году. Когда говорят, что они использовали 32-битную архитектуру, это символизирует, что «их шина данных» могла одновременно обрабатывать 32 бита. И, как и все в мире, эти технологии развивались и обновлялись, пока на рынок не начали выходить 64-битные архитектуры.

Теперь давайте определим что такое 64-битные архитектуры, эти процессоры более современные и имеют «64-битную ширину шины данных». Наличие 64-битных архитектур означает, что они в два раза быстрее своих 32-битных эквивалентов.

Следует отметить, что для использования возможностей 64-битных архитектур операционная система Windows должна была начать выпускать и 64-битные версии.

Шаги по установке 32-битной программы в 64-битной Windows

Для того чтобы установить программу 32-битная на 64-битной винде, вы должны следовать этим элементалям шаг за шагом, которые мы подробно опишем ниже:

32 битная программа в 64

  • Вы должны найти на клавиатуре клавишу «Windows» и щелкнуть ее одновременно с буквой «S», при этом Вы получите панель под названием «Поиск».. На этой панели вы должны написать «Панель управления», вы получите множество вариантов, из которых вы должны выбрать предсказанный.
  • Тогда, вы собираетесь выбрать вариант под названием «Программы» и постоянно выбор под названием «Включить или отключить функции Windows».
  • Перейти к установите флажок «Информационные службы Интернета»и нажмите «ОК». В этот момент вам придется подождать, пока система Windows только что авторизовала функции.
  • Закончив выполнение, вы снова должны найти на клавиатуре клавишу «Windows», щелкнуть ее одновременно с буквой «S», чтобы появилась строка «Поиск». Теперь в том баре, вам нужно будет ввести «Internet Information Services», когда вы получите разные результаты, и нажмите на первый вариант.
  • Posteriormente, вы должны дважды щелкнуть по выбору под названием «Рабочий стол». который расположен слева, а затем в «Группах приложений».
  • Список вариантов будет отображаться справа, нажмите на выбор под названием «Дополнительные настройки». Затем нажмите на выбор «Включить 32-битные приложения». После этого в «False value», где будут отображаться другие варианты, вы должны выбрать «True» и, наконец, нажать «Accept».

Руководство по удалению программ из запуска Windows 8 и 10 - ускорьте работу компьютера с помощью этого руководства

Узнайте, как удалить программы из автозагрузки Windows, чтобы ускорить вашу систему

32 битная программа в 64

Безопасно ли устанавливать эти программы?

64-битные программы (x64) были разработаны специально для управления «программами и оборудованием», использующими 64-битную архитектуру. Но это не означает, что вы не можете использовать 64-битную операционную систему на 32-битной (x86) архитектуре.

Это связано с тем, что эта 32-битная архитектура меньше, а процесс установки такой же, как и при установке 64-битная программа, которая безопасна. С другой стороны, если бы процедура была противоположной, то есть вы использовали 32-битную операционную систему на 64-битной архитектуре, установка этих программ была бы небезопасной.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *