Содержание
- Создание виртуальной машины
- Установка 64-разрядных программ
- Заключение
- Накладные расходы
- Преимущество 64-битной среды для 32-битных программ
- Перенаправления
- Почему невозможно использовать в 64-битной программе 32-битные DLL? Можно ли это обойти?
- Постепенный отказ от поддержки 32-битных программ
- Дополнительная информация
- Особенности каждой разрядности
- Миф о неспособности работы 64-битной системы на ноутбуках
- Как определить разрядность системы
- Как с 64 битной системы перейти на 32 битную систему
- Могу ли я обновить 32-разрядную версию Windows 10 до 64-разрядной версии Windows 11?
- Как перейти с 32-битной Windows 10 на 64-битную Windows 11?
Многие игры и некоторые приложения доступны только в 64-битовой архитектуре. Если по каким-то причинам невозможно установить или воспользоваться 64-разрядной системой Windows, можно решить проблему совместимости разными способами.
В этой статье
Поскольку для использования виртуальной машины может потребоваться от 1 до 2 Гбайт на компьютере-хосте, нужно будет закрыть абсолютно все ненужные в данный момент приложения, чтобы она не испытывала нехватку ресурсов. Также нелишним будет увеличение объема области подкачки, который задается вручную. Минимальный размер – не менее 3 Гбайт, а максимальный – не более 15 Гбайт.
Если есть необходимость воспользоваться браузером и другими прикладными программами, то их нужно запускать на виртуальной машине, а не на хостовом компьютере.
Проверить, поддерживает ли процессор 64-битовую архитектуру, можно с помощью свойств системы, а также приложений AIDA64 или Speccy. В последней программе на это укажет строка Intel 64 для одноименных ЦПУ. Кроме того, объем оперативной памяти на хост-ПК должен составлять не менее 4 Гб, если планируется запуск 64-рязрядных приложений, как будет описано ниже.
Создание виртуальной машины
Установка 64-разрядных программ
Виртуальная система может получить необходимые файлы несколькими способами: • Путем скачивания из Интернета (браузер Microsoft Edge для этого подойдет). • Через дисковод, который можно подключить в меню главного окна. • Из любой папки на хост-компьютере, которую нужно добавить в раздел общих папок, а затем подключить в гостевой ОС, как сетевой диск. Вначале на гостевой ОС нужно закрыть все ненужные приложения. Затем приступают к установке требуемой 64-разрядной программы. Когда процесс завершится, нужно проверить, запускается ли приложение, поскольку некоторые из них могут работать некорректно на виртуальных машинах. Пример такой программы — UVScreenCamera. Если игра запустилась, то нужно выставить минимальные настройки графики и попытаться пройти простое испытание. Картинка должна отрисовываться, по возможности, плавно, а звук – идти без перебоев. В этом случае можно повысить разрешение экрана во время игры, например, с 640 на 480 пикселей до 800 на 600 пикселей.
Заключение
Таким образом, запустить 64-разрядные приложения на 32-разрядной системе 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.
Если вам нужно узнать разрядность системы Windows 10, то это можно сделать с помощью нового меню «Параметры», в которое компания Microsoft понемногу переносит настройки из классической «Панели управления».
Меню «Параметры» можно открыть несколькими способами. Например, можно нажать комбинацию клавиш Win-i, либо открыть меню «Пуск» и нажать на кнопку с изображением шестеренки.
В меню «Параметры» нужно отрыть раздел «Система», который находится в левом верхнем углу.
После чего перейти в подраздел «О системе» (или «О программе»), ссылка на который будет находиться в самом низу боковой панели. В последних версиях Windows 10, данный подраздел также можно открыть с помощью комбинации клавиш Win-Pause/Break.
В разделе «О системе» будет доступна различная информация о вашем компьютере. В частности, здесь есть строка под названием «Тип системы». В этой строке указана разрядность системы Windows 10, а также разрядность процессора.
Если здесь указано «64-разрядная операционная система, процессор x64», то это означает, что у вас 64-битная Windows 10 и ваш процессор поддерживает 64-битные вычисления.
Если же в строке «Тип системы» указано «32-разрядная операционная система, процессор x64», то это означает, что у вас установлена 32-битная Windows 10 и при необходимости вы можете установить 64-битную версию Windows 10, поскольку ваш процессор поддерживает 64-битные вычисления.
Также вы можете узнать разрядность операционной системы Windows 10 с помощью командной строки (или PowerShell). Для этого нажмите комбинацию клавиш Win-R и выполните команду «cmd» (или команду «powershell») для того чтобы открыть командную строку.
После этого в открывшемся окне нужно выполнить команду «wmic os get OSArchitecture», как на скриншоте внизу.
В результате в командной строке появится информация о разрядности операционной системы Windows 10.
Обновление: Данный способ устарел и больше не работает в последних версиях Windows 10. Используйте способы описанные выше.
Кроме этого можно воспользоваться старым способом получения информации о разрядности системы, через окно «Просмотр сведений о вашем компьютере», которое является частью «Панели управления».
Для того чтобы открыть данное окно кликните правой кнопкой мышки по иконке «Этот компьютер» на рабочем столе и перейдите в «Свойства». Если на рабочем столе нет такой иконки (ярлык не подойдет), то можно воспользоваться комбинацией клавиш Win-Pause/Break, после нажатия которой на экране появится нужное вам окно.
В окне «Просмотр сведений о вашем компьютере» будет точно такая же строка с информацией о типе системы.
Здесь в строке «Тип системы» будет укзаана разрядность операционной системы и процессора.
- 64-битная версия системы Windows 10 позволяет выполнять 64-битные программы и использовать 64-битные драйверы. Сейчас все чаще появляются программы и драйверы, которые доступны только для 64 разрядной системы. Например, недавно компания AMD отказалась от выпуска новых 32 битных драйверов для видеокарт. Поэтому, для получения доступа к самому новому программному обеспечению следует выбирать именно 64 разрядную версию Windows.
- 64-битная версия системы Windows 10 позволяет использовать больше 4 ГБ оперативной памяти. 32 разрядная система Windows 10 может использовать максимум 4 ГБ оперативной памяти, поэтому если вы хотите использовать больший объем памяти, то вам нужно устанавливать именно 64 разрядную версию.
- 64-битная версия системы Windows 10 обеспечивает большую защиту от вредоносных программ. 64-битная версия имеет доступ к технологиям DEP и Kernel Patch Protection, которые защищают ядро операционной системы от вмешательства посторонних программ. Также на 64-разрядной версии драйверы должны иметь цифровую подпись.
- Разрядность системы нужно выбирать при установке Windows 10. В дальнейшем обновить 32 битную Windows 10 до 64 битной не получится, нужно выполнять полную переустановку.
Посмотрите также:
- Как узнать разрядность операционной системы Windows 7
- Как узнать версию Windows 8
- Как узнать ключ продукта в Windows 10
- Как узнать поддерживает ли процессор 64 разрядную систему
- Как определить разрядность процессора, 32 или 64 бит?
Многих волнует вопрос — как перейти с 64 на 32 windows 7 без переустановки. Сейчас основная часть персональных компьютеров мира оснащена 64-битной системой. Разберем – что это. Согласно данным Википедии, разрядность – количество разрядов (битов) электронного (в частности, периферийного) устройства, шины, одновременно обрабатываемых устройством или передаваемых шиной. Получается, количество битов означает ширина временного хранилища данных. Поэтому 64-битная система более производительна, чем 32-битная, 16-битная, 8-битная.
Особенности каждой разрядности
Вначале пройдемся по основным моментам 64-битной системы.
Скорость работы процессора. Это самый главный плюс 64-битной системы. Процессор с разрядностью 32 покрывает лишь 2^32 адресов, а 64 – 2^64 адресов. Заметили, как сильно повысилась производительность системы? Раньше вполне хватало и 32-битной разрядности, если у вас простой офисный ящик, по которому вы заходите в интернет и периодически печатайте документы, то вполне хватит и простенькой разрядности. Но для сложных целей, например, пользования сложными программами видеомонтажа или установки современных габаритных игр, вам придется установить 64-битную архитектуру.
Разрядность в 64 бита уже довольно старая. Вы можете не поверить, но самый первый компьютер с такой архитектурой был выпущен аж в 1985! Получается, больше 30 лет назад! А многим кажется, эта система появилась лишь недавно и представляет собой произведение работы высших умов современной информатики. И после выпуска первого ПК они в течение 17-18 лет считались достойными установки лишь на огромных серверах и больших компьютерах.
Но ладно бы мы сразу узнали, когда архитектура к нам пришла. Когда мы начали пользоваться устройствами, мы не поняли, что пользуемся такой разрядностью. Игровые консоли — Playstation 2 и Nintendo 64 имели движки 64 бита! Многие пользовались ими. Причем они появились лет за 6-7 до появления на рынке большого количества персональных компьютеров с такой разрядностью.
Так же причиной длительного вживания в нашу жизнь системы является огромная масса проблем с драйверами. В 2001 Microsoft выпустила 64-битную Windows ХР, но её всё равно не приняли. То же самое было и с Windows Vista. И лишь на «семерке» произошел серьёзный перекос в статистике – огромное количество пользователей поняли, что гораздо разрядность в 64 бита – прекрасная штука, качественно поднимающая производительность компьютера.
А если рассматривать этот вопрос в плане других ОС, то можно заметить, что там принятие этой разрядности шло такими же медленными темпами – лишь на версиях 2006-2010 годов они так же получили распространение.
Миф о неспособности работы 64-битной системы на ноутбуках
Она вполне сносно может работать там,просто нужен ноутбук с высокой производительностью, иначе просто смысла не будет.
Но еще раз повторяем – ноутбук или компьютер – для операционной системы разницы нет.
Гораздо более крупный объём используемой оперативной памяти. С 32 битами вы сможете использовать всего лишь 4 Гигабайта оперативной памяти. Если вы поставите больше объёма на 32 битную систему, то вы этого совершенно не ощутите – большее количество просто не будет использоваться. К сожалению, это знают не все пользователи-часто бывают слышны возмущения владельцев ПК насчет установленной свыше 4 Гигабайтов оперативной памяти – почему мы поставили дополнительно 8 Гб ОЗУ, а скорость работы совершенно не увеличилась. Ответ кроется в 1 параметре – разрядность системы. Обычно 1 Гигабайт оперативки забирает система, второй Гигабайт уйдет к видеокарте и для работы останется только 2 Гб. А это реально мало для работы 2-3 серьезных программ.
Перейдем к минусам системы
Системный блок потребует переустановки всех компонентов. Для этого у старых устройств придется искать драйвера, что представляет собой тяжкое дело. Хорошо, если у вас современный девайс и драйвера уже есть. А вот если вам придется искать драйвера заново, то лучше заранее позаботьтесь об их наличии – если смените систему, а нужных драйверов не будет, то придется раскошелиться на новый компонент системы, а старый придется просто выкинуть.
Если установлено меньше 4 Гигабайтов оперативной памяти, то смысла нет устанавливать 64-битную разрядность – просто у вас не хватит оперативки. Абсолютно все программы будут занимать на несколько процентов больше памяти и поэтому старый объём ОЗУ вам не поможет.
Новый антивирусник
Многие программы и приложения будут работать даже с учетом изменения разрядности, но не антивирусное программное обеспечение. Вам нужно будет найти обеспечение под 64-битную систему. Если вы это не сделайте, то морально готовьтесь – ваш компьютер скоро будет пристанищем вирусов, троянов и червей. Поэтому лучше даже заранее позаботиться о наличии «защитника системы» — потом это может выйти боком вам.
Работа 32-битных программ
Многие из них просто перестанут корректно работать в новой ОС. Слава богу, есть программа Windows-on-Windows 64-bit. Она действует, закрывая работу 64 и показывая вид 32 битов. То есть имеющиеся программы видят 32 битную систему и не подозревают, что работают под руководством 64-битного процессора. Но всё равно работа этой программы потребляет оперативную память и не всегда является оптимальным решением для пользователя.
Как определить разрядность системы
Это просто – нужно найди пункт «система», который можно найти через меню пуск — компьютер — система. Там указано – 32 или 64 бита.
Как с 64 битной системы перейти на 32 битную систему
Рассмотрим под лупой процесс перехода с 64 на 32 бита разрядности процессора. Распишем каждый этап:
- Обязательно скопировать все необходимые файлы на внешний носитель. В ходе смены системы все данные на компьютере будут утеряны, и вам останется перенести все файлы и программы с внешнего USB-носителя на компьютер.
- Начнем процесс, как перейти с 64 на 32 windows 7 . Для начала включите компьютер. Запустите Windows в обычном режиме, как делайте всегда, и вставьте установочный диск и USB-карту в соответствующие порты системного блока. Выключайте компьютер.
- Поставьте его на перезагрузку.
- У вас появится окно «Установка Windows». Внутри выбирайте все необходимые вам параметры и жмете кнопку «далее»
- Примите условия лицензионного соглашения, нажав на клавишу «Я принимаю условия соглашения» и нажимайте кнопку «Далее».
- У вас появится окно «Выберите тип установки». Делаем предпочтение «Выборочная установка».
- Появится страничка «Где вы хотите установить Windows». Выискивайте пункт, где находилась старая Виндовс (очень часто это бывает диск C:), и жмете клавишу «Далее».
- Следуем инструкции по установке – в ней нет ничего сложного. По ходу установки вы настройте учетную запись и дадите имя компьютера.
После завершения установки Windows надо будет обновить часть драйверов под 32-битную операционку, ведь устанавливали именно эту версию Windows. Вообще самым первым пунктом после переустановки системы является восстановление файлов и переустановка программ, которые были на старой ОС. После этого уже можете обновлять драйвера и спокойно работать! Проверить разрядность своей ОС вы так же сможете через «свойства системы», которые находятся в приложении «Мой компьютер».
–>
Microsoft анонсировала новую версию операционной системы Windows – Windows 11. ОС имеет ряд новых функций, включая новое «Пуск» и панель задач, обновленный проводник и новые параметры.
Windows 11 – это бесплатное обновление для пользователей Windows 10 при условии, что их компьютеры соответствуют минимальным требованиям к оборудованию. Среди других изменений для Windows 11 теперь требуется 64-разрядный процессор, поскольку Windows 11 недоступна в 32-разрядной версии.
Могу ли я обновить 32-разрядную версию Windows 10 до 64-разрядной версии Windows 11?
Один из вопросов, который звучит с момента анонса Windows 11. Дело в том, что Windows 11 будет поставляется только в 64-битной версии. В результате пользователи, использующие 64-битную Windows 10, могут легко перейти на Windows 11 64х без потери установленных программ и пользовательских данных.
Обновить Windows 10 32х до Windows 11 64х не выйдет, так как обновление на месте с 32-разрядной до 64-разрядной версии не поддерживается.
Это не новость, фактически, Windows 10 также, не поддерживает прямое обновление с 32 до 64-разрядной версии. Обратите внимание, что Windows 11 все еще может запускать 32-битные программы.
Как перейти с 32-битной Windows 10 на 64-битную Windows 11?
Если вы хотите обновить 32-битную версию Windows 10 до Windows 11, у вас нет другого выбора, кроме как выполнить чистую установку Windows 11. Чистая установка означает, что вы не можете сохранить установленные данные и программы (но, вы можете сделать резервную копию перед обновлением). Вот как это сделать.
- Прежде всего, на вашем устройстве с Windows 10 перейдите в «Параметры» → «Обновление и безопасность» → «Активация», чтобы убедиться, что ваша копия Windows 10 активирована.
- Если вы используете локальную учетную запись для входа в Windows 10, рекомендуем вам войти в систему с учетной записью Microsoft, чтобы вы могли связать свою лицензию Windows 10 со своей учетной записью Microsoft. Это не обязательно, но поможет, если ваша Windows 11 не активируется после выполнения чистой установки.
- При чистой установке Windows 11, ваши данные и установленные программы в Windows 10 будут удалены. Поэтому важно создать резервную копию данных на другом разделе, внешнем диске или облачном хранилище.
- На ПК с Windows 10 используйте «Media Creation Tool», чтобы загрузить и подготовить загрузочный USB-накопитель с Windows 11.
- Загрузитесь с загрузочного USB-накопителя Windows 11, отформатируйте диск с Windows 10 и установите Windows 11. После установки перейдите в «Параметры» → «Система» → «Активация», а затем проверьте вкладку «Состояние активации», чтобы убедится что ваша копия Windows 11 активирована.
–> –> –>
ли со статьей или есть что добавить?