Меню Рубрики

Как установить 32 разрядную программу на 64 разрядную систему windows 7

Как перейти с 32-бит на 64-бит Windows

Некоторые пользователи ищут ответ на вопрос о том, как перейти с 32 на 64 бита в операционной системе Windows. Дело в том, что начиная с Windows 7, стала выпускать редакции системы одновременно в 32 bit (x86) и 64 bit (x64) версиях операционной системы.

Ранее операционная система Windows имела 32 битную разрядность. Постепенно, с развитием архитектуры процессоров, появилась возможность поддержки 64 битной разрядности системы (начало было положено с выпуска Windows XP Professional x64 Edition).

В настоящее время, производители компьютеров (настольных компьютеров, ноутбуков), в основном, устанавливают на выпускаемые устройства 64 разрядные операционные системы Windows, потому что все современные центральные процессоры поддерживают x64 наборы инструкций.

Microsoft предоставляет возможность смены 32 разрядной системы на 64 разрядную Windows. При смене разрядности системы, активация Windows не слетит, потому что лицензия не зависит от разрядности операционной системы.

Основные различия между 32 битной Windows и 64 битной Windows

Операционная система Windows имеет две версии разрядности: 32 битную и 64 битную, которые имеют обозначения: 32-bit (x86). 64-bit (x64).

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

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

Если на компьютере с Windows x86 установлено до 3 ГБ оперативной памяти, операционная система использует всю доступную память. Если, на ПК установлена память объемом в 4 ГБ, то система будет использовать объем оперативной памяти размером, чуть более 3 ГБ. Даже при наличии общей оперативной памяти (ОЗУ), размером в 6 ГБ, 8 ГБ и т.д., в Windows 32-bit, все равно будет доступно только менее 4 ГБ памяти.

В Windows с разрядностью 64 бита эта проблема не существует, потому что подобная система поддерживает объем оперативной памяти (до 16 Тб), достаточный для любой современной конфигурации компьютера.

Работа приложений в операционной системе Windows разного типа (х86 и х64) имеет отличия:

  • в Windows x64 можно установить 64 и 32 битные программы (64 битные приложения, по умолчанию, устанавливаются в папку Program Files, а 32 битные в папку Program Files (x86) на системном диске);
  • в Windows х86 устанавливаются только 32 битные программы, а установка 64 битных приложений не поддерживается.

Большая часть программ, созданных для Windows, поддерживает 32 битную разрядность. Эти приложения можно установить на компьютер с любой разрядностью, они будут работать, при условии поддержки программой определенной версии Windows (Windows 10, Windows 8, Windows 7 и т. д.).

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

Имея в виду эти соображения, осталось узнать, как перейти с 32 бит на 64. Но не все так просто.

Необходимое условие для перехода Windows с 32 bit на 64 bit

Можно ли изменить 32 битную систему на 64 битную Windows? Да это возможно, но при смене разрядности системы, есть нюансы. Без соблюдения некоторых условий сменить 32 бита на 64 битную систему не получится.

Главное условие для перехода на другую разрядность системы: поддержка центральным процессором (ЦП), установленным на компьютере, 64 битных инструкций. Без соблюдения этого условия, установка 64 разрядной Windows на ПК будет невозможна.

Как определить разрядность операционной системы Windows, какую разрядность поддерживает процессор, установленный на компьютере? Проще всего это определить с помощью операционной системы. Для определения параметров процессора в плане поддержки 64 битной разрядности, можно воспользоваться сторонними приложениями, например, CPU-Z, AIDA64 и т. д.

Основные отличия типа процессоров, в зависимости от поддержки инструкций для соответствующей разрядности (х86 и х64):

  • Процессор x64 — поддерживается установка на компьютер 64 и 32 разрядной Windows.
  • Процессор x86 — на компьютер можно установить только 32 битную версию Windows.

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

Для установки 64 разрядной Виндовс на компьютере должно быть минимум 2 ГБ оперативной памяти.

Плюсы и минусы перехода на 64 разрядную Windows

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

Основные преимущества 64 битной операционной системы:

  • Использование всего объема оперативной памяти (более 4 ГБ), установленной на компьютере.
  • Более высокая скорость работы системы и программ.

Основные недостатки 64 битной операционной системы:

  • Потребление системой и приложениями большего объема оперативной памяти.
  • Отсутствие x64 драйверов для устаревшего оборудования.

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

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

Пользователям компьютеров с устаревшим железом, с памятью в 2-4 ГБ нужно все тщательно взвесить. В большинстве случаев, играть в современные игры или пользоваться «тяжелыми» программами не получится из-за недостатка памяти. Система и работающие программы займут больше места в памяти компьютера, чем аналогичные приложения в 32 битной Windows. Слабый процессор не даст положительного эффекта. В некоторых случаях, 64 разрядная система будет работать медленнее на компьютере, чем 32 битная Windows.

Как перейти с 32 бит на 64 битную Windows

Для перехода на 64 разрядную систему есть только один вариант: чистая переустановка Windows с потерей данных на системном диске. Порядок действий следующий:

  • Скачайте на компьютер операционную систему Windows, 64 битной разрядности. Прочитайте здесь , откуда можно скачать оригинальный образ Windows 10, Windows1, Windows 7.
  • Создайте загрузочную флешку или запишите образ системы на DVD диск.
  • Включите компьютер, перед загрузкой системы, войдите в BIOS (UEFI), выберите для загрузки загрузочный носитель с Windows.
  • Установите операционную систему на компьютер.
  • После завершения установки системы, установите необходимые драйвера.

Новая версия Windows должна соответствовать редакции, установленной на компьютере, например, с Windows 10 Home x86 можно перейти на Windows 10 Home x64.

Для создания загрузочной флешки используйте программы: Rufus , Media Creation Tool , WinSetupFromUSB и т. д.

Как войти в BIOS (UEFI) на вашем устройстве, узнайте в интернете, по имени производителя ноутбука или по модели материнской платы для настольного ПК.

Для получения более подробной информации, перейдите по ссылкам на статьи, в которых подробно описан процесс установки соответствующих версий Windows: Windows 10 , Windows 8.1 , Windows 7 .

Во время установки операционной системы обратите внимание на два момента:

  • В одном из окон установки необходимо выбрать подходящую редакцию Windows подходящей разрядности (сейчас распространены мультиобразы Windows, включающие в одном образе системы разные редакции, разной разрядности).
  • В окне «Выбор типа установки» следует выбрать «Выборочная: только установка Windows (для опытных пользователей)» в Windows 10 или в Windows1, или «Полная установка (дополнительные параметры) в Windows 7.

После завершения установки, на компьютере появится Windows 10 64-bit.

Источник

Урок 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. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

Источник

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

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

  • Как устанавливать программы на диск d по умолчанию windows 10
  • Как устанавливать приложения на windows на карту памяти
  • Как устанавливать приложения android на windows phone
  • Как устанавливать пиратские программы на лицензионную windows 10
  • Как устанавливать моды на майнкрафт windows 10 edition