Урок 2

Урок 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).

Правообладателем курса «Уроки разработки 64-битных приложений на языке Си/Си++» является ООО «Системы программной верификации». Компания занимается разработкой программного обеспечения в области анализа исходного кода программ. Сайт компании: http://www.viva64.com.

Найдите ошибки в своем C, C++, C# и Java коде

Предлагаем попробовать проверить код вашего проекта с помощью анализатора кода PVS-Studio. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

Источник:
http://www.viva64.com/ru/l/0002/

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

Поддержка 32-битных приложений в 64-разрядной Windows

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

В этой статье приводится обзор подсистемы Windows на Windows 64 (WOW64) и ее методов, которые позволяют Windows поддерживать 32-битные приложения на 64-битной системе.

Примечание: Первая попытка внедрить 64-разрядные системы была достаточно провальной. Жесткие ограничения и отсутствие реальных преимуществ давало о себе знать. На тот момент, даже драйвера под 64-разрядные системы было достаточно сложно найти. Не говоря уже о программах, на которых хоть как-либо была бы заметна разница. Снятие ограничения на 3Гб оперативной памяти, безусловно, сегодня сильное преимущество, но на тот момент это больше напоминало красивый слоган.

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

Windows 32 на Windows 64 (WOW64)

WOW64 эмулирует 32-битную Windows

В Windows 64, 32-битные приложения выполняются в эмулированной 32-разрядной операционной системе, которая называется Windows 32 на Windows 64, или WOW64 для краткости. Основной задачей WOW64 является перехват и обработка всех системных вызовов от 32-разрядных приложений.

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

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

Тот факт, что WOW64, как и 32-битное приложение, выполняется в режиме пользователя, объясняет причину отсутствия поддержки 32-битных драйверов. Если говорить другими словами, то, для корректного запуска, драйверам требуется режим ядра, который не может обеспечить WOW64. Поэтому, если у вас 64-разрядная Windows, то все драйвера должны быть 64-битными.

Эмулятор WOW64 состоит из следующих 64-разрядных библиотек:

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

  • Wow64.dll — ядро инфраструктуры системы эмуляции. Линкует вызовы в точки входа Ntoskrnl.exe
  • Wow64Win.dll — линкует вызовы в точки входа Win32k.sys
  • Wow64Cpu.dll — переключает процессор между 32-битным и 64-битным режимом
  • Ntdll.dll — 64-битная версия Wow64.

Wow64.dll загружает 32-битную версию (x86) Ntdll.dll и все необходимые 32-битные библиотеки, которые в основном остались без изменений. Однако, некоторые их этих 32-разрядных библиотек все же были изменены, чтобы корректно исполняться в WOW64. Как правило, такие изменения были сделаны из-за того, что они используют оперативную память вместе 64-разрядными компонентами системы

Управление файлами и настройками реестра в WOW64

В дополнение к функциям перехвата и обработки системных вызовов, интерфейс WOW64 так же должен гарантировать, что файлы и параметры реестра 32-битных приложений будут храниться отдельно от файлов и ключей реестра 64-разрядных программ. Для достижения этой цели WOW64 использует два механизма. Перенаправление файлов и реестра, а так же дублирования ключей реестра. Перенаправление поддерживает логическое представление данных и отображает их так, как если бы приложение запускалось в 32-разрядной Windows. Дублирование ключей реестра гарантирует, что изменение ряда параметров, которые не зависят от разрядности, будут доступны как 32-битным, так и 64-битным приложениям.

Перенаправление файлов

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

Файлы 32-разрядных приложений, по умолчанию, устанавливаются в:

32-разрядные системные файлы устанавливаются в:

Для 64-разрядных приложений, файлы устанавливаются в:

Механизм перенаправления WOW64 гарантирует, что запросы от 32-разрядных приложений к каталогам «C:Program Files» и «C:WINDOWSSYSTEM32» будут перенаправлены на соответствующие каталоги для 32-битных версий.

Однако, существует одна проблема с перенаправлением файлов. Пользователи и разработчики должны быть в курсе этой особенности.

Многие 64-разрядные приложения все еще используют 32-битный режим и процедуры. И не учитывают это при создании инсталлятора. Для того, чтобы приложение было установлено правильно. т.е. в «C:Program Files», программа установки должна сделать системный вызов к операционной системе, чтоб система приостановила механизм перенаправления файлов Wow64. А после установки сделать другой системный вызов, чтобы снова включить перенаправление. Если производить установку без остановки перенаправления, то программа будет установлена в «C:Program Files (x86)». Классическим примером данной ошибки является 64-разрядная версия FireFox 3.5 под кодовым названием «Shiretoko», которая устанавливается в «C:Program Files(x86)Shiretoko». Конечно, Firefox по-прежнему будет нормально функционировать. Единственное, что вы не сможете сделать, так это изменить иконку приложения.

Читайте также  Драйвер для HP LaserJet 1010 инструкция как установить на компьютер

Примечание: Возможно, сейчас эту ошибку в Shiretoko уже исправили. Тем не менее, в ранних версиях было именно так.

Перенаправление реестра

Ключи реестра, специфические для 32-разрядных приложений, будут перенаправлены из ветки:

Так же, иногда, можно встретить записи реестра в другой ветке (хотя это необычно):

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

Дублирование реестра

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

  1. Установите 32-битное приложение, которое ассоциирует себя с расширением XYZ
  2. Установите 64-разрядную версию приложения, которая связывает себя с расширением файла XYZ
  3. Установите другое 32-битное приложение, которое ассоциирует расширение XYZ с собой

В результате этих действий, по двойному щелчку на файле с расширение XYZ в проводнике Windows должно открыться приложение, которое было установлено на 3-ем шаге. Ведь, именно оно последним ассоциировало себя с расширением.

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

Существует ряд ограничений подсистемы WOW64

Некоторые, но не все, 64-битные функции доступны 32-разрядным приложениям

Wow64 позволяет 32-разрядным приложениям использовать некоторые функции и возможности 64-битных систем. Например, при правильной настройке, такие приложения смогут использовать до 4Гб оперативной памяти. Доступ к другим функциям ограничен из-за особенности устройства 64-битных систем. Например, 64-битная ОС Windows поддерживает 64-битные логические операции. Тем не менее, 32-битные приложения не будут иметь доступ к ним, они смогут использовать только 32-битные логические операции.

Примечание: Основной причиной ограничений служит разница в представлении данных 32- и 64-битных приложений. 32-разрядное приложение попросту не рассчитано на 64-разрядные типы данных.

Нельзя смешивать между собой код (Code Injection) 32-битных и 64-битных приложений

В 64-битной ОС Windows нельзя запускать 32-битный код в 64-разрядном процессе, как и нельзя запускать 64-битный код в 32-разрядном процессе. Приложения, использующие инъекции кода (Code Injection) для добавления функциональности в существующие приложения, как правило, будут выдавать ошибки.

Этот факт объясняет, почему большинство 32-битных расширений оболочки Windows не запускаются под 64-разрядной Windows. Большинство таких расширений используют инъекцию кода (Code Injection) для встраивания в проводник Windows

WOW64 не поддерживает 16-разрядные инсталляторы

WOW64 обеспечивает поддержку 16-битных инсталляторов Microsoft, путем замены инсталлятора на совместимую 32-битную версию. Тем не менее, эта поддержка не распространяется на сторонние продукты. Так что, если вам нужно использовать старую программу, то, скорее всего, придется искать эмулятор или портативную версию.

Дополнительные возможности для запуска 32-битных приложений в Windows 64

Windows Virtual PC

Windows Virtual PC это бесплатное программное обеспечение, которое позволяет запускать несколько операционных систем на одном компьютере. Virtual PC обеспечивает специальную среду исполнения, которая поддерживает устаревшее оборудование и программное обеспечение, которое не будет определяться и запускаться в Windows 7. Все запущенные операционные системы под Virtual PC будут выполняться в виртуальной машине. Это означает, что запущенные операционные системы не будут знать о том, что они запущены в другой системе.

Системные требования и набор функциональности существенно различается между версиями Virtual PC и версиями Windows. Так что, прежде чем пытаться использовать Virtual PC, необходимо проверить, что программа поддерживает как вашу операционную систему, так и те ОС, которые будут на ней запущены. Например, одна из последних версий уже не поддерживает версии Windows ниже Windows XP SP3.

Режим Windows XP (XPM)

Режим Windows XP это конкретная и урезанная реализация Windows Virtual PC, которая поставляется с предустановленной копией Windows XP Professional SP3. Этот режим доступен только в версиях Enterprise, Ultimate и Professional Windows 7 64-бит.

Несмотря на то, какие возможности был бы должен представлять этот режим, многие, кто использовал XPM, настоятельно советуют использовать этот режим только в качестве последнего средства. По сравнению с другими продуктами виртуализации, производительность разочаровывает, а конфигурация по умолчанию вызывает ряд вопросов безопасности.

Примечание: К некоторым более дательным настройкам режима совместимости все же можно обратиться. Более подробную информацию вы можете найти в обзоре Как запустить старые программы на Windows 7 / Vista? (см. Microsoft Application Compatibility Toolkit).

Мультизагрузка ОС Windows

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

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

Подытоживая сказанное о поддержке 32-бит в 64-разрядной Windows

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

  1. 32-разрядные драйверы устройств
  2. Приложения, которые не могут функционировать без 32-битных драйверов устройств, которые они используют. Яркими примерами являются антивирусы и другие программы для обеспечения безопасности.
  3. Расширения, которые используют инъекцию кода (Code injection). Например, оболочки для проводника Windows

Некоторые приложения смогут запускаться с ограничениями. Это так же касается деинсталляторов, программ для очистки реестра и программ для тюнинга, так как они имеют доступ только к той части реестра, которую им показывает Wow64.

Если вы никак не можете запустить 32-битное приложение, то рассмотрите вариант с виртуализацией или мультизагрузкой нескольких операционных систем.

Какие приложения быстрее 32-битные или 64-битные?

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

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

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

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

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

Источник:
http://ida-freewares.ru/support-32-bit-app-in-64-app-windows.html

Можно ли на 32-битной системе запустить игру, рассчитанную на 64 бита?

Большинство современных игр, таких как Overwatch, Hurtworld или Subnautica, могут работать исключительно на 64-разрядных операционных системах. Создателям этих программ просто не выгодно делать разные варианты приложений под 32- и 64-bit. Хотя обе версии достаточно распространены. Конечно, перейти на x64 достаточно легко. Но что делать, если вы не собираетесь переставлять ОС и при этом хотите посмотреть на популярную игру? Узнайте, как на 32-битной системе запустить Subnautica и другие 64-разрядные программы.

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

Чем отличается 32-битная система от 64-битной?

Почему же программы, рассчитанные на 64 bit, не получается открыть на 32 bit? Чем эти версии так отличаются, раз на них не работают одни и те же приложения? И если Overwatch можно запустить в x64, почему в него нельзя поиграть на таком же компьютере, но с x32?

От системы зависит, сколько оперативной памяти может быть установлено на ПК и сколько он способен выделить каждому конкретному приложению. В x64 максимальный объём RAM составляет 16 Гб (в Windows 7 Professional — до 192 Гб). При этом какой-либо утилите предоставляется до 4 Гб. В версии с x32 указанные цифры гораздо меньше — 4 Гб максимум и 2 Гб отдельной программе.

От разрядности процессора зависит, каким образом он обрабатывает информацию. Это существенно влияет на производительность — в 64 bit она гораздо лучше. Там больше регистр для хранения данных, и нагрузка распределяется сразу на все ядра. А в 32-битной ОС второе ядро активируется, когда полностью занято первое.

На «слабые» машины устанавливают x32. Если у ПК не очень много оперативной памяти и не самый хороший процессор, просто нет смысла работать с 64 bit. Это будет только «перегружать» электронную вычислительную машину, не добавляя ей производительности. А вот мощному компьютеру x64 будет как раз к месту.

Несмотря на то что эти системы внешне похожи друг на друга, они сильно различаются на программном уровне. У них разный набор драйверов, поэтому Subnautica, Overwatch, Hurtworld и другие подобные не пойдут на 32-разрядной ОС, пусть даже ПК и обладает необходимыми характеристиками.

Модерным играм, приложениям, программам для редактирования графики или видео недостаточно 2 Гб, которые им выделяет x32. Компоновщики новых игр создают свои продукты с расчётом именно на x64.

Читайте также  Как откатить или удалить проблемное обновление Windows

Как узнать, поддерживает ли процессор x64?

  1. На рабочем столе кликните правой кнопкой мыши на значок «Мой компьютер».
  2. Пункт «Свойства». Его также можно найти в разделе «Панель управления».
  3. В строке «Тип» будет указано, сколько бит в вашей версии ОС.

Предварительно нужно понять, в какой системы вы работаете

Перед тем как запустить Overwatch на 32-битной системе, узнайте, «потянет» ли ваш ПК такую игру. Проверьте, поддерживает ли процессор 64-битные команды. Это можно сделать при помощи специальных программ-тестеров. Подойдёт, например, бесплатная утилита «SecurAble». Её не надо устанавливать. И, соответственно, не нужно удалять после эксплуатации. Просто запустите исполняемый файл. Будет показана информация о процессоре: название, тактовая частота, разрядность, поддерживает ли он D.E.P (это защита девайса от переполнения буфера) и аппаратную визуализацию. Можно кликнуть на любой из результатов — появится его описание.

Проверка поддержки процессором 64-битных команд

Если программа выдаст вердикт «Maximum 32 bit», значит, приложения, рассчитанные на x64, вряд ли будут работать. Чтобы поиграть в Overwatch или Hurtword, придётся менять процессор или утилизировать удалённые серверы.

Как сделать из 32-битной системы 64-битную?

Есть несколько утилит для так называемой виртуализации. Они эмулируют работу какой-то платформы с определённым программным и аппаратным обеспечением. Если вам надо разобраться, как запустить Hurtworld на 32-битной системе, эксплуатируйте одну из таких утилит.

Данные программы создают некую «гостевую» ОС. Но её надо в любом случае устанавливать и приобретать лицензионную версию, если она платная. Для этого у вас должен быть диск (или образ диска) с той операционкой, которая вам нужна.

Oracle VirtualBox

Универсальная программа для подобных задач.

  1. Установите её и запустите. Слева будет список установленных ОС и панель инструментов. Справа — сведения о выбранной системе.
  2. Нажмите кнопку «Создать». Появится информационное окно. Кликните «Далее».
  3. Выберите тип и версию ОС. Там есть много вариантов на выбор: не только Microsoft Windows, но и Linux.
  4. Затем необходимо будет решить, сколько оперативной памяти выделить «гостевой» системе. Выделить можно лишь часть основной, то есть если на 32-битной системе допустимо использовать 3.7 Гб, то гостевой машине можно дать 2 Гб или чуть больше. Этого может быть мало для игр.
  5. После этого нужно создать виртуальный диск (на который запишутся файлы ОС). Можете выбрать уже существующий или сделать новый. И поставьте галочку рядом с опцией «Загрузочный диск».
  6. В следующем окне отметьте, фиксированный ли объём будет у диска или динамический (изменяющийся). К каждому пункту есть подробные пояснения. Загрузочный лучше делать фиксированным. Впоследствии можно добавить другие диски.
  7. Настройте размер виртуального хранилища. Обычно хватает 10 Гб. Создавать его лучше в отдельном месте — не в том, куда установлена основная система.
  8. Дождитесь окончания процесса. В списке доступных появится новая виртуальная машина.

Один из способов — это использование утилит виртуализации

После можно настроить аппаратную часть:

  1. Выберите гостевую ОС и нажмите «Свойства».
  2. В разделе Общие — Дополнительно поменяйте папку для сохранения снимков на ту, которая удобна вам.
  3. Там же настройте буфер обмена. Он определяет, как будет передаваться информация между разными ОС.
  4. Во вкладке «Система» можете выбрать характеристики виртуальной материнской платы и процессора.
  5. Пункт «Сеть» нужен для настройки доступа во всемирную паутину. Можно оставить настройки по умолчанию.
  6. В разделе «Носители» укажите, откуда нужно взять ОС. Если установщик находится на CD, вставьте его в дисковод. Для загрузки с .ISO нажмите на кнопку «Открыть» рядом со списком «Привод». Она выглядит как жёлтая папка.
  7. Туда же можно добавить другие образы для быстрого переключения между ними: базы данных, приложения, игры.

После окончания настройки нажмите «OK». Чтобы запустить гостевую ОС, кликните на неё и на кнопку «Старт». Будет произведена установка. И вы сможете переключаться между системами: играть в 64-битной, а работать в 32-разрядной.

Другие виртуальные машины

Существуют ещё утилиты для работы с виртуальными машинами:

  • VMware Workstation. Серьёзная профессиональная программа для сложных задач. Она распространяется на платной основе.
  • Windows Virtual PC. Работает только с Windows-системами. Можно настраивать приоритет процессов — так онлайн-машине автоматически будут выделяться ресурсы, если она выполняет определённую задачу.
  • Virt-Manager. Предоставляет широкие возможности по настройке аппаратной составляющей — доступно виртуальное оборудование на любой вкус.

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

Облачные вычисления (удалённые серверы)

Если производительности всё равно не хватает для запуска игры, можно сделать это на удалённом сервере. Все расчёты, вся информация будет обрабатываться на нём. Так вам не помешают никакие ограничения, связанные с x32. Ведь по сути приложения будут «открываться» на подходящих системах. Только не на вашем компьютере.

Для этого подойдёт программа Microsoft Azure. С её помощью можно создать несколько операционок для разных целей. Любителям игр также пригодится специализированный сервис виртуализации видеокарты NVIDIA GRID. Данным утилитам нужен высокоскоростной интернет.

Ультрасовременные облачные сервисы расширяют наши возможности

Работа с 64-разрядными приложениями на системе с 32-bit вполне возможна. Но нужно устанавливать дополнительный софт или, вообще, переходить на удалённый сервер. Сделать это достаточно сложно. Если вы хотите полноценно играть в Overwatch, Hurtword и другие популярные игры, лучше установить x64 ОС и не городить дополнительные «костыли». Так не возникнет проблем с совместимостью. И не надо будет ничего настраивать. В пользу этого говорит и то, что многие современные программы, например, Фотошоп, уже не имеют 32-битной версии и пользоваться ими на такой системе станет затруднительно.

Источник:
http://nastroyvse.ru/programs/game/zapuskaem-62-bitnye-igry-kak-32-bitnye.html

Можно ли запустить 64-битное приложение в 32-битной системе

Рядовые пользователи не особо задумываются о таких вещах как архитектура процессора и разрядность операционной системы, по крайне мере до тех пор, пока не столкнуться с проблемами совместимости при установке приложений или операционной системы. Так, попытка установить 64-битное приложение на 32-битную систему неминуемо приведет к ошибке «32-bit Windows hosts are not supported…» .

В связи с этим у пользователей 32-битных Windows может возникнуть вопрос: а нельзя ли каким-то образом обойти это ограничение?

Да, такой способ существует, но работать он будет только при одном условии, — если процессор поддерживает 64-разрядную архитектуру.

В Windows 10 и 8.1 проверить разрядность ЦП очень просто, достаточно выполнить в окошке Win + R команду control /name Microsoft.System .

Обратите внимание на пункт «Тип системы», в котором будет указана разрядность ОС и разрядность процессора. Наличие процессора x64 делает возможной установку 64-битных программ, если ЦП x86 , увы, запускать 64-битный софт вы не сможете даже при всём желании.

Более того, на машине с таким процессором возможна установка только 32-разрядной Windows или другой ОС. Для определения разрядности процессора в Windows 7 и более старых ОС можно воспользоваться встроенной консольной утилитой systeminfo или сторонним приложением CPU-Z.

Выполните в командной строке systeminfo и посмотрите, что указано в пункте «Процессор ».

x64 укажет на 64-разрядный ЦП, а x86 — на старый 32-битный. В CPU-Z на 64-разрядный ЦП укажут маркеры х86-64 или ЕМ64Т в блоке «Instructions», если процессор окажется 32-битным, указанные маркеры будут отсутствовать.

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

Напрямую установить и запустить 64-битную программу на такую ОС не получится, но вы можете воспользоваться любым гипервизором, тем же VirtualBox, создав в нём 64-битную виртуальную машину и установив на нее 64-разрядную Windows.

Другое дело, будете ли вы довольны результатом такой виртуализации.

Производительность виртуальной 64-битной OS, даже если это будет XP , окажется более чем низкой, впрочем, возможно именно это заставит пользователя задуматься о необходимости перехода на более производительную 64-битную систему.

Источник:
http://www.white-windows.ru/mozhno-li-zapustit-64-bitnoe-prilozhenie-v-32-bitnoj-sisteme/

Компьютер + Интернет + блог = Статьи, приносящие деньги

Забирайте в подарок мой многолетний опыт — книгу «Автопродажи через блог»

Как запустить игру на 32-битной системе, если она требует 64-разрядную

Как запустить игру на 32-битной системе, если она требует 64-разрядную систему, инструкция.

Вероятно вы хотите узнать как стабильно зарабатывать в Интернете от 500 рублей в день?
Скачайте мою бесплатную книгу
=>> «Как гарантированно зарабатывать от 500 рублей в день»

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

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

Поэтому, если вы сомневаетесь, или не знаете разрядность своей ОС, тогда это можно выяснить следующим образом:

  • Через «Пуск», войдите в «Панель управления».
  • Выберете раздел «Система и безопасность» и кликните по «Система».
  • Напротив строчки с названием «Тип системы» будет стоять её разрядность.

Как запустить игру на 32-битной системе, если она требует 64-разрядную

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

Различия между 64-битной и 32-битной систем

В первую очередь стоит понимать, что от того какая система используется, зависит общий объём оперативной памяти на компьютере. Кроме этого, от разрядности системы зависит и то, сколько может быть выделено места для конкретного приложения.

Таким образом, при использовании 64-разрядной системы максимальный объём RAM (оперативная память) составляет 16 Гб. При этом, в Windows Professional, данный показатель может достигать 192 Гб. В свою очередь, на какую-либо определённую утилиту отводится до 4 Гб оперативки.

Если рассматривать x32, то RAM в этом случае значительно меньше. Максимальный объём оперативки составляет 4 Гб. Что касается отдельных приложений, то для них может быть отведено максимум до 2 Гб.

Также, от разрядности процессора зависит ещё и скорость обработки данных. То есть, в случае с x64 нагрузка распределяется равномерно на все ядра ПК. А в x32, второе ядро запускается только после полной загрузки первого.

Читайте также  Виндовс 7 не запускается и не восстанавливается

Кроме этого, есть ещё один довольно важный момент – 64-х битная система не подходит для слабых ПК. Поэтому, при покупке компьютера лучше сразу приобретать x64, так как данный вариант может запускать любые приложения. Даже те, которые предназначены для 32-битных систем.

Однако если вы не хотите этого делать или попросту нет такой возможности, тогда можно воспользоваться сторонней программой или удалёнными серверами.

Программы для создания гостевой ОС

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

В основе работы подобных утилит лежит создание так называемой гостевой версии ОС. При этом для её создания потребуется диск или его образ, с нужной ОС.

Среди программ позволяющих создавать гостевую операционку можно выделить:

  • Oracle VirtualBox.
  • VMware Worstation.
  • Windows Virtual PC и др.

Удалённые серверы

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

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

Например, такая программа как Microsoft Azure, позволяет создавать сразу несколько ОС. Для тех, кто любит играть, можно использовать NVIDIA GRID. С его помощью происходит виртуализация видеокарты.

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

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

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

Но помните, что выбор всегда за вами. А 64-х битную ОС могут потянуть далеко не все ПК.

P.S. Прикладываю скриншот моих заработков в партнёрских программах. И напоминаю, что так зарабатывать может каждый, даже новичок! Главное — правильно это делать, а значит, научиться у тех, кто уже зарабатывает, то есть, у профессионалов Интернет бизнеса.


Заберите список проверенных, особенно актуальных, Партнёрских Программ 2018 года, которые платят деньги!

Скачайте чек-лист и ценные бонусы бесплатно
=>> «Лучшие партнёрки 2018 года»

Похожие записи:

Понравилась статья? Скажи автору спасибо, поделись с друзьями!

Источник:
http://ingenerhvostov.ru/kompyuter-i-internet/kak-zapustit-igru-na-32-bitnoy-sisteme-esli-ona-trebuet-64-razryadnuyu.html

Как запустить устаревшие приложения в системе Windows 10

Большинство ваших старых приложений для Windows должны запускаться в Windows 10 . Если они работают в Windows 7, они почти наверняка будут работать в Windows 10. Однако, некоторые старые приложения для ПК откажут даже запускаться, тем не менее, существует много способов заставить их работать снова.

Запустить от имени администратора

Многие приложения, разработанные для Windows XP, будут корректно работать в современной версии Windows, за исключением одной маленькой проблемы. В эпоху Windows XP среднестатистический пользователь Windows использовали свой ПК с учетной записью администратора. Приложения были закодированы так, словно они априори имеют административный доступ, и сейчас они терпят неудачу, если не получают прав администратора. Новая функция контроля учетных записей (UAC), в целом, решает эту проблему, но все равно возникают некоторые проблемы с доступом.

Если старое приложение работает неправильно, попробуйте щелкнуть правой кнопкой мыши его ярлык или исполняемый файл (с расширением exe), а затем выбрать «Запуск от имени администратора», чтобы запустить его с правами администратора.

Если вы обнаружите, что приложение требует административного доступа, вы можете настроить приложение на запуск в качестве администратора, используя настройки совместимости, которые мы обсудим в следующем разделе.

Настройка параметров совместимости

Windows включает в себя параметры совместимости, которые могут сделать старые приложения работоспособными. В меню «Пуск» Windows 10 щелкните правой кнопкой мыши ярлык, выберите «Открыть расположение файла» в контекстном меню

После того, как откроется местоположение файла, щелкните правой кнопкой мыши ярлык приложения или файл exe и выберите «Свойства» в контекстном меню.

На вкладке Совместимость окна свойств приложения вы можете нажать кнопку «Использовать средство устранения неполадок совместимости» для интерфейса мастера или просто отрегулировать параметры самостоятельно.

Например, если приложение не работает должным образом в Windows 10, но правильно работает в Windows XP, выберите опцию Запустить программу в режиме совместимости c: и затем выберите «Windows XP (Service Pack 3)» в раскрывающемся меню.

Не стесняйтесь пробовать другие настройки на вкладке Совместимость. Например, очень старые игры могут выиграть от «Режима пониженной цветности». На дисплеях с высоким разрешением DPI вам, возможно, придется «Изменить параметры высокого DPI», чтобы программа выглядела нормально.

Никакие параметры на этой вкладке не могут повредить вашему приложению или ПК – вы всегда можете просто отменить их, если они не помогут.

Установка драйверов Unsigned или 32-разрядных

64-разрядная версия Windows 10 использует принудительное добавление подписи драйвера и требует, чтобы все драйверы имели действительную подпись перед их установкой. 32-разрядные версии Windows 10 обычно не требуют подписанных драйверов. Исключением являют 32-разрядные версии Windows 10, работающие на более новых ПК с UEFI (вместо обычного BIOS).

Применение подписанных драйверов помогает повысить безопасность и стабильность, защищая вашу систему от вредоносных или просто нестабильных драйверов. Устанавливайте неподписанные драйверы, только если знаете, что они безопасны и Вас есть все основания для этого.

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

Запуск игр, требующих SafeDisc и SecuROM DRM

Windows 10 не будет запускать более старые игры, которые используют SafeDisc или SecuROM DRM. Эти схемы управления цифровыми правами могут вызывать довольно много проблем. В целом, хорошо, что Windows 10 не позволяет этому мусору устанавливаться и загрязнять вашу систему. К сожалению, это означает, что некоторые старые игры, которые запускались с компактов-дисков или DVD-дисков, не будут устанавливаться и запускаться нормально.

Вам доступно много других возможностей для запуска этих игр: поиск репаков «без CD» (которые потенциально опасны, поскольку часто встречаются на пиратских сайтах); покупка игры у цифрового дистрибуционного сервиса, такого как GOG или Steam; проверка веб-сайта разработчика, чтобы узнать, предоставляет ли он патч, которым удаляет DRM.

Более совершенные трюки включают установку и двойную загрузку более старой версии Windows без этого ограничения или попытку запуска игры на виртуальной машине с более старой версией Windows. Виртуальная машина может даже хорошо сработать, поскольку игры, использующие эти схемы DRM, настолько стары, что даже виртуальная машина может справиться с требованиями к графике.

Использование виртуальных машин

Windows 7 включала специальную функцию «Режим Windows XP». Это была фактически включенная программа виртуальной машины с бесплатной лицензией Windows XP. Windows 10 не включает режим Windows XP, но вы все равно Вы можете использовать виртуальную машину, чтобы сделать это самостоятельно.

Всё, что Вам действительно нужно – виртуальная машина, такая как VirtualBox и лицензия Windows XP. Установите эту копию Windows в виртуальную машину и вы можете запустить программное обеспечение на этой более старой версии Windows в окне на рабочем столе Windows 10.

Использование виртуальной машины – это несколько более прогрессивное решение, но оно будет работать хорошо, если приложению не нужно напрямую взаимодействовать с оборудованием. Виртуальные машины имеют ограниченную поддержку аппаратных периферийных устройств.

Использование эмуляторов для приложений DOS и Windows 3.1

DOSBox позволяет запускать старые DOS-приложения – прежде всего DOS-игры – в окне эмулятора на вашем рабочем столе. Используйте DOSBox для запуска старых приложений DOS вместо того, чтобы полагаться на командную строку. DOSBox будет работать намного лучше.

Поскольку Windows 3.1 сама по себе была DOS-приложением, вы можете установить Windows 3.1 в DOSBox и запустить старые 16-разрядные приложения Windows 3.1.

Используйте 32-битную Windows для 16-разрядного ПО

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

Попробуйте запустить 16-разрядное приложение в 64-разрядной версии Windows, и вы увидите сообщение «Это приложение не может работать на вашем ПК».

Если вам нужно запустить 16-разрядные приложения, вам потребуется установить 32-разрядную версию Windows 10 вместо 64-разрядной версии. Хорошей новостью является то, что вам не нужно переустанавливать всю вашу операционную систему. Вместо этого вы можете просто установить 32-разрядную версию Windows внутри виртуальной машины и запустить там приложение. Вы даже можете установить Windows 3.1 в DOSBox.

Используйте специальные браузеры для веб-сайтов

Windows 10 использует новый Microsoft Edge в качестве браузера по умолчанию. Edge не включает поддержку Java, ActiveX, Silverlight и других технологий. Chrome также отказался от поддержки плагинов NPAPI, таких как Java и Silverlight.

Чтобы использовать старые веб-приложения, требующие этих технологий, запустите браузер Internet Explorer, включенный в Windows 10, по соображениям совместимости. IE все ещё поддерживает контент ActiveX. Mozilla Firefox по-прежнему поддерживает Java и Silverlight.

Вы можете запустить Internet Explorer из меню «Пуск». Если вы уже используете Microsoft Edge, просто откройте меню настроек и выберите «Открыть с помощью Internet Explorer», чтобы открыть текущую веб-страницу непосредственно в Internet Explorer.

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

Источник:
http://windows-school.ru/blog/zapustit_ustarevshie_prilozhenija/2018-11-04-222