Разное

Эмуляция 64 битной системы на 32: Эмуляция 64-битной ОС на 32-битном хосте с использованием VirtualBox

30.09.2019

Содержание

Эмуляция 64-битной ОС на 32-битном хосте с использованием VirtualBox

Да.

VirtualBox поддерживает 64-битные гостевые операционные системы, даже в 32-битных хост-операционных системах, [ 11 ] при условии соблюдения следующих условий:

Вам нужен 64-битный процессор с поддержкой аппаратной виртуализации (см. Раздел « Аппаратная и программная виртуализация »).

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

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

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

Предупреждение

На любом хосте вы должны включить APIC ввода / вывода для виртуальных машин, которые вы собираетесь использовать в 64-битном режиме. Это особенно верно для 64-битных виртуальных машин Windows. См. Раздел «Вкладка « Дополнительно » ». Кроме того, для 64-разрядных гостей Windows следует убедиться, что виртуальная машина использует сетевое устройство Intel, поскольку 64-разрядная поддержка драйверов для карты AMD PCNet отсутствует; см. раздел « Оборудование для виртуальных сетей ».

Если вы используете мастер «Создать ВМ» графического пользовательского интерфейса VirtualBox (см. Раздел « Создание вашей первой виртуальной машины »), VirtualBox автоматически использует правильные настройки для каждого выбранного 64-разрядного типа операционной системы.

Возможен ли запуск 64-битных приложений в 32-битной операционной системе?

В настоящее время широко распространены 64-битные ОС [1]. Но и 32-битные ОС еще присутствуют на рынке в достаточно большом количестве. Многие современные программные средства разрабатываются исключительно для работы в 64-битном режиме, так как для обеспечения работоспособности программы и в 32-битной, и в 64-битной ОС требуются дополнительные трудозатраты и, соответственно, стоимость разработки повышается.

Для пользователей 32-битной ОС иногда возникает необходимость использовать программные средства, предназначенные только для 64-битной ОС. Что же делать, если пользователь не готов отказаться от 32-битной ОС как основной рабочей системы?

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

В Mac OS X ядро является гибридным. Оно позволяет одинаково работать любым приложениям в независимости от того, являются ли они 32- или 64-битными. Единственное отличие гибридного ядра от полноценного 64-разрядного — это невозможность использовать в системе больше 32 ГБ оперативной памяти. Поэтому на данный момент нет совершенно никакой разницы между загрузкой в 32- и 64-битном режимах. А вот в будущем разница обязательно появится по мере увеличения объемов использования ОЗУ и появления новых технологий.

Для ОС семейства Linux и 32-битных ОС семейства Windows запуск 64-битных приложений в 32-битном окружении осуществляется с применением технологий виртуализации [2]. Существует ряд специализированных программных продуктов, позволяющих установить виртуальную гостевую 64-битную OC, в которую вы сможете инсталлировать требуемое вам приложение и осуществить его запуск. При этом, если устанавливаемая ОС платная, то вы вынуждены будете ее купить.

Виртуализация

Виртуальная машина — программное обеспечение, эмулирующее работу аппаратного обеспечения некоторой платформы со всеми его компонентами (процессор, память, жесткий диск, usb-шина, привод оптических дисков, видео и сетевые адаптеры и т.д.). Виртуальная машина позволяет устанавливать и запускать несколько гостевых систем (ОС, запускаемые на виртуальных машинах) в рамках одной хост-системы (ОС, установленная на аппаратном обеспечении) одновременно. Перечень операционных систем, устанавливаемых на виртуальные машины, разнообразен и зависит от конкретной системы виртуализации.

Вот некоторые популярные решения:

Oracle VirtualBox — универсальная бесплатная виртуальная машина. VirtualBox — очень простой, мощный и бесплатный инструмент для виртуализации, развивающийся благодаря поддержке знаменитой корпорации Oracle. Он распространяется бесплатно, с открытым исходным кодом. VirtualBox позволяет устанавливать в качестве «гостевой» практически любую современную операционную систему, будь то Windows, Mac OS или любой из многочисленных представителей семейства Linux.

VMware Workstation — для серьёзных задач. VMware Workstation — мощная, платная, максимально-надёжная программа для виртуализации, которая поддерживает работу с Windows и Linux. Для виртуализации Mac OS данная машина не предназначена.

QEMU — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ.

Аппаратная виртуализация

Для запуска гостевой 64-битной виртуальной машины в 32-битном окружении необходимо, чтобы процессор обладал 64-битной архитектурой и поддерживал технологии аппаратной виртуализации, такие как Intel VT-x и AMD-V. Иногда их необходимо вручную включить в BIOS вашей системы.

Облачные вычисления

Все эти решения требует определенной производительности от системы, и не всегда есть возможность добиться оптимальной работы требуемого вам приложения.

В настоящее время широко развиваются технологии облачных вычислений [3]. Они позволяют развернуть любые ОС на удаленных серверах и запускать на них ваши приложения. При этом никаких ограничений на вашу 32-битную систему не накладывается, все расчеты производятся на удаленных машинах. Например, это Microsoft Azure, с помощью которой можно развернуть множество ОС и исполнять различные, в том числе и высокопроизводительные, приложения.

Часто вопрос о запуске 64-битных приложений на устаревающих 32-битных машинах стоит перед геймерами. Существуют специализированные облачные решения и для таких задач. Например, NVIDIA GRID. GRID воспроизводит 3D игры на облачных серверах, мгновенно кодирует каждый кадр и передает результаты на любое устройство с проводным или беспроводным высокоскоростным подключением к сети Интернет.

Заключение

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

Дополнительные ссылки

Запуск 64-разрядных программ в 32-разрядной системе

вы не можете (обычно) запускать 64-битные программы на 32-битной ОС.

смотрите другой ответ Hennes для (не рекомендуется) обходного пути.

способен ли ваш ПК 64-бит?

во-первых, вам нужно подтвердить ли C. P. U. В вашем компьютер 64-разрядный. Для этого откройте приложение «Настройки» В меню Пуск выберите пункт Система, а затем-о программе. Посмотрите направо от «Тип системы.»

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

имеет ли ваш процессор необходимые функции?

некоторые из первых 64-разрядных процессоров не имеют необходимых функций для запуска 64-разрядные версии Windows 10, даже если они являются 64-битными. В частности, для Windows 10 требуются PAE, SSE2 и NX. Microsoft имеет подробнее об этом здесь. ПК также потребуется поддержка CMPXCHG16b, которые одними из первых потребителю 64-битные процессоры не включать.

64-разрядная версия Windows 10 откажется устанавливать, если ваш процессор не поддерживает такие вещи. Если вы хотите проверить, прежде чем начать процесс установки, загрузки и запуска CPU Z.

«SSE2» появится под инструкциями, если он поддерживается. Текст EM64T или «AMD64» должен указывать, что PAE поддерживается. «VT-x «или»VT-d» всегда указывает, что поддерживается NX.

на некоторых старых компьютерах может потребоваться включить NX (иногда называется XD) в BIOS компьютера. Если вы получаете сообщение об ошибке поддерживается в процессе установки, посетите компьютер BIOS и искать вариант под названием Что-то вроде «Не бит исполнения (NX)», «выполнение отключено (XD)», «нет защиты памяти выполнения», » выполнить Отключена защита памяти», » EDB (выполнить отключенный бит)», » EVP (Улучшенная защита от вирусов)», или что-то подобное. Посмотрите под «Безопасность «или» дополнительно » вкладки где-то в BIOS для этой настройки.

предлагает ли оборудование вашего ПК 64-разрядные драйверы?

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

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

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

выполните чистую установку

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

предупреждение: резервное копирование важных файлов прежде чем продолжить. Этот процесс сотрет установленные программы и файлы.

во-первых, если вы еще не обновились до Windows 10, вам нужно использовать тот инструмент обновления для обновления. Вы получите 32-разрядную версию Windows 10 если ранее вы использовали 32-разрядную версию Windows 7 или 8.1. Но процесс обновления даст вашему ПК лицензию на Windows 10. Быть убедитесь, что текущая 32-разрядная версия Windows 10 активируется в разделе Параметры > Обновление и безопасность > Активация.

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

выберите «Создать установочный носитель для другого ПК» и используйте инструмент для создайте USB-накопитель или запишите диск с Windows 10. Как вы нажмете с помощью мастера вам будет предложено создать 32-разрядную версию или 64-разрядный установочный носитель. Выберите 64-разрядную архитектуру.

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

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

Как на 64-битной Windows запустить программы в режиме совместимости

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

Подробнее о преимуществах 64 bit над 32 bit Windows вы можете прочитать в нашей статье «Преимущества перехода на 64 бита».

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

Если в процессе запуска программа выдает ошибку или вообще не запускается, а в Windows 32 bit она работала без проблем, есть шанс запустить ее в специальном режиме, который разработчики назвали «Режим совместимости».

Для этого в Windows 7 щелкните правой кнопкой мыши на ярлыке нужной программы, а затем выберите в контекстном меню «Свойства». В открывшемся окне перейдите на вкладку «Совместимость» и установите флажок «Запустить программу в режиме совместимости с …» и в выпадающем списке укажите вариант системы для запуска.
Нажмите кнопку «OK». После этого попробуйте запустить вашу программу.

Кроме того, в контекстном меню Проводника также имеет смысл попытаться автоматически решить задачу, кликнув по строке «Исправление неполадок совместимости» — в Windows 7.

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

Если и после этого программа не запустилась, то стоит подойти к проблеме более основательно и попробовать варианты, указанные на официальном сайте Microsoft.

Более радикальным методом запуска программы является ее установка и использование в виртуальной машине с установленной Windows 7 32 bit. Подробнее, как установить и настроить виртуальную машину вы можете почитать в нашей статье «Как создать и настроить на ПК виртуальную ОС?».

Читайте также:

Фото: компании-производители, pexels. com

Поддержка 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-разрядных приложений, файлы устанавливаются в:

  • C:\Program Files
  • C:\WINDOWS\SYSTEM32

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

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

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

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

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

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

  • HKEY_LOCAL_MACHINE\Software

в ветку:

  • HKEY_LOCAL_MACHINE\Software\WOW6432Node

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

  • HKEY_CURRENT_USER\Software\WOW6432Node

Такой подход позволяет 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-разрядные программы.

☕ Хотите выразить благодарность автору? Поделитесь с друзьями!

  • Устройство DNS сервера
  • Понятие 32-бита и 64-бита — подробное толкование концепций
Добавить комментарий / отзыв

Можно ли запустить 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-битный софт вы не сможете даже при всём желании.

Примечание: если ЦП поддерживает архитектуру x64, установка 64-разрядной Windows возможна на ПК даже с 1 Гб оперативной памяти.

Более того, на машине с таким процессором возможна установка только 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-битную систему.

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

Как всем нам прекрасно известно, существует несколько выпусков Windows 7. Есть там Домашняя базовая и расширенная, Профессиональная и самая вкусная – Максимальная. Однако, куда интереснее вопрос, какую версию Windows 7 поставить, 32-бит или 64-бит? В чем преимущество 64-бит и есть ли оно вообще? Именно это мы и рассмотрим.

Главное и фундаментальное различие в архитектуре 32/64 бит состоит в том, какой объем оперативной памяти может адресоваться процессором. Другими словами, сколько памяти вообще процессору достанется.

Практически каждый пользователь может спокойно использовать Windows 7 x64, так как с выходом Intel Core 2 Duo все современные процессоры поддерживают работу в 64-разрядном режиме. Это же относится и к процессорам AMD, которые поддерживают 64 бит аж с 2003 года. Следовательно, Windows 7 x64 может поставить себе любой пользователь, разве что у него совсем уж древнейший компьютер.

Так зачем нужна 64-разрядная Windows 7?

Если углубляться в историю архитектуры 32/64-бит, то мы тут застрянем надолго, а мне еще в Battlefield сегодня играть. Так что скажем вкратце – память. Оперативная память. Да, детки, все дело именно в ней. В обычной 32-битной Windows 7 можно использовать максимум 4 Гбайт оперативной памяти и не мегабайта больше. Причем, что самое прискорбное, из этих 4 Гбайт будет реально доступно лишь где-то 3,3 Гбайт.

Оперативной памяти много не бывает;)

Другое дело – Windows 7 x64. В этой версии операционной системы 4 Гбайт – тот минимум, который вообще имеет смысл использовать. Разумеется все программы будут просто вне себя от счастья, если им достанется столько памяти. Так что вы даже и не вспомните, что когда-то использовали меньше. Кроме того, Windows 7 x64 обеспечит прекрасный задел на будущее, ведь ничего не помешает вам затем добавить 8, 16, 32 Гбайт или вообще столько, сколько влезет в вашу материнскую плату.

Обязательно ли переходить на Windows 7 64-бит?

Если вы не планируете использовать больше 4 Гбайт памяти, то переходить, конечно, нет смысла. Только начиная с 4 Гбайт оперативной памяти и выше можно воспользоваться всеми преимуществами Windows 7 x64. К слову сказать, оперативная память сейчас настолько дешевая, что если вы еще не установили 4 Гбайт – самое время это сделать.

А есть ли проблемы с Windows 7 x64?

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

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

Какие программы работают не работают в 64-битной среде? Их не так, чтобы много, но попадаются и достаточно популярные. Например, браузер Google Chrome раньше притормаживал в 64-битной Windows, но в последних версиях это исправлено.

Adobe Flash вообще не работает в 64-битных браузерах, ну вот совсем не хочет. Но это также не проблема, поскольку можно использовать 32-битный браузер и радоваться жизни. Ранее и Apple iTunes не дружил с 64-битами, но те времена, к счастью, остались в прошлом.

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

Некоторые компании и вовсе отказываются от 32-х бит, хотя бы та же компания Adobe. В новом пакете After Effects CS5 вообще нет поддержки 32-битной Windows! Либо используйте версию с 64-битами, либо извините-подвиньтесь.

Давайте посмотрим, что там Microsoft глаголит о 64 битах.

Ответы Microsoft на часто задаваемые вопросы по поводу 64-битной Windows 7

В чем разница между 32-битной и 64-битной версиями Windows 7?

Как уже говорилось, 64-битная версия позволяет использовать в разы больше оперативной памяти, чем 32-битная версия, которой доступно только 4 Гбайт оперативной памяти (а в реальности, 3,3 Гбайт).

Какая версия Windows 7 у меня установлена?

Щелкните на кнопке Пуск , перейдите в Панель управления , щелкните на ссылке Система и безопасность и затем на ссылке Система . В поле Система ниже будет указано, какая версия Windows 7 у вас установлена.


Подходит ли мой компьютер для Windows 7 64-бит?

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

Щелкните на кнопке Пуск и перейдите в меню Панель управления . В поле поиска, расположенном вверху окна, введите “счетчики ” и щелкните на ссылке (в это окно можно перейти и так, как указано в предыдущем вопросе).

В окне Счетчики и средства производительности щелкните на ссылке Отображение и печать подробных сведений о производительности компьютера и системе .


Найдите в новом окне Дополнительная информация поле


Можно ли обновить Windows 7 32-бит на 64-бит?

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

Другой вариант – установить Windows 7 64-бит на иной раздел жесткого диска или на другой жесткий диск, если их в компьютере несколько.

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

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

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

Какие основные преимущества 64-битной Windows 7?

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

У меня 64-битная версия Windows 7, мне нужны к ней 64-битные драйвера?

Да, нужны. Поскольку, как мы уже говорили, 32-битные драйвера не будут работать полностью или частично в 64-битной Windows 7. Установите 64-битные драйвера или выбросите свой старый принтер с 32-битными драйверами в окно (шутка).

Ну что, надеемся вы осознали все преимущества Windows 7 64-бит, запаслись оперативной памятью побольше и готовы к новым свершениям.

Главный недостаток любой 64-битной версии Windows

Вы уже разогнались поставить Windows 7 64-бит? Вы все делаете правильно, однако, напоследок нужно узнать кое-что важное.

Какая главная проблема любой 64-битной версии? Вовсе не в ней, а в…наследии 32-битного мира. Вот поставили вы Windows 7 x64, набили в нее уйму памяти и горды собой. Однако, что дальше? Как насчет программ, которые будут использоваться?

И это – главная проблема. Для того чтобы воспользоваться всеми преимуществами Windows 7 x64, необходимо, чтобы используемые вами программы изначально были выпущены в 64-битной версии. В противном случае, все программы для 32-битной версии работают в 64-битной среде в режиме эмуляции .

А режим эмуляции – более медленный , чем если бы 32-битная программа работала в своей родной Windows x32.

Улавливаете о чем идет речь? Вот почему эра 64-бит все никак не наступит. Потому что 64-битных программ – куда меньше, чем хотелось бы, а 32-битные программы работают в менее эффективном режиме эмуляции.

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

В результате, в настоящее время 64-битные системы используют либо энтузиасты, либо профессионалы, работающие с дизайнерскими программами вроде Photoshop, программами 3D моделирования вроде Max/Maya/Houdini и другими специализированными продуктами. И все потому, что эти продукты выпускаются в “родной” 64-битной версии.

Что ж, тем не менее, 64-битная эра наступает. А значит нас ждет увлекательное 64-битное порно, еще более кровавые 64-битные игры и 64-битное пиво с чипсами в придачу)

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

Без проблем превратить современный ПК в настоящий «болид» может практически каждый пользователь. После установки операционной системы Windows 7 в 64-битной версии компьютер начинает работать быстрее, стабильнее и безопаснее.

Сегодня практически половина всех ПК, продаваемых с предустановленной «семеркой», оснащается 64-разрядным вариантом этой ОС. Но и для всех остальных пользователей, работающих с 32-битными операционными системами от Microsoft, переход на вариант с удвоенной разрядностью является оправданным. Мы расскажем, какие преимущества у вас после этого появятся, как подготовиться к модернизации, какие проблемы могут возникнуть и как их решать. При этом вам пригодится пакет 64-битных программ, размещенный на нашем DVD. В нем представлены многочисленные драйверы для принтеров, сканеров, видеокарт и прочие полезные утилиты. Также мы продемонстрируем, каким образом привязать к новой операционной системе старое «железо», для которого уже не выпускается новых драйверов. Кроме того, вы узнаете, как инсталлировать ПО, несовместимое с 64-битной Windows.

Переход: ощутимые преимущества


Самое главное достоинство 64-разрядных систем состоит в возможности использовать большой объем оперативной памяти. В зависимости от варианта ОС пользователю будут доступны до 192 Гбайт вместо 3, поддерживаемых в 32-битном варианте. Даниэль Меланхтон, технический советник при Microsoft, однозначно рекомендует: «Если у вас больше 2 Гбайт оперативной памяти, переходите на 64-битную версию ОС и ни о чем не думайте».


Мы проверили, какие преимущества на самом деле дает более быстрая архитектура операционной системы. Для этого на два ПК с процессорами Intel Core 2 Duo E6600 были установлены 32- и 64-разрядная Windows 7, а затем инсталлированы ресурсоемкие программы: графический редактор Photoshop CS5, архиватор 7-Zip и универсальный конвертер Mediacoder. Эти приложения загружали работой компьютеры, а мы контролировали демонстрируемую последними скорость.


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

При этом преимущества 64битной ОС связаны не только с увеличением вычислительной мощности ПК, но и минимизацией рисков для его безопасности. Дело в том, что компьютер с более производительной операционной системой не подвержен атакам типа SSDT-Hooks нового поколения вирусов. Эти вредоносные программы выбирают точный момент между этапами проверки исполняемого кода, осуществляемой антивирусом, и размещают зловредный код на компьютере-жертве.

Программы: возможные проблемы



Программа Windows 7 Upgrade Advisor покажет, может ли ваш компьютер работать с более производительной архитектурой новой операционной системы Не всякий ПК подходит для установки ОС с 64-битной архитектурой, но, как правило, с ней способен работать любой компьютер моложе трех лет. Тем не менее перед началом инсталляции следует запустить бесплатную утилиту Microsoft Windows 7 Upgrade Advisor для проверки совместимости. Она наглядно продемонстрирует, годится ли «железо» вашего ПК для перехода на 64-битную ОС. Напоминаем, что апгрейд оправдывает себя, если на компьютере есть более 2 Гбайт оперативной памяти.

Если же объем RAM превышает 4 Гбайт, то переход на более производительную версию ОС просто обязателен — это позволит задействовать весь потенциал компьютера.


Онлайновая база данных PCIDatabase.com позволит определить производителя того или иного продукта либо найти всю информацию о периферийных устройствах, а также драйверы для них Если ПК активно используется вами в профессиональной деятельности, следует обязательно убедиться в наличии 64-битных версий программ, которые понадобятся вам в повседневной работе, или хотя бы в том, что имеющиеся 32-разрядные приложения совместимы с новой архитектурой операционной системы.

Большинство 32-битных утилит нормально функционируют в этой среде, но при этом могут возникать проблемы со скоростью их работы. Наш тест показал, что 32-разрядный вариант Photoshop CS5 обрабатывает фотографии в 32-битной ОС значительно быстрее, чем в 64-битной. Зато в последней максимальную скорость работы демонстрирует 64-разрядный Photoshop. На сегодняшний день инсталлятор этой программы предлагает оба варианта установки, так как не все дополнения совместимы с 64-битной версией — многие фильтры и плагины пока еще не функционируют в ней. Даже Internet Explorer работает в 64-разрядной ОС неидеально: доступны не все дополнения. Например, Adobe все еще не опубликовала финальную версию Flash-плагина для 64-битного браузера, как и Apple — для QuickTime. В связи с этим даже после перехода на ОС с новой архитектурой лучше оставить старую версию браузера.

Сама корпорация Microsoft вынуждена бороться с проблемами совместимости пакета Office. Дело дошло до того, что софтверный гигант не рекомендует использовать 64-битную редакцию этого продукта. Лучше всего инсталлировать 32-разрядный вариант в системе с архитектурой 64 бита. Специалисты Microsoft обосновывают это так: многие дополнения ориентированы на 32-битную редакцию программы, и это может вызвать проблемы при синхронизации смартфонов с Outlook. Кроме того, дополнительные хлопоты доставят пользователю 32-разрядные элементы управления Office, а также плагины и VBA. Если же использовать этот пакет только в связке с совместимыми 64-битными приложениями, то все работает стабильно. Но в любом случае использование 64-разрядного офисного пакета в соответствующей среде не дает существенных преимуществ — разве что большие таблицы в Excel будут рассчитываться немного быстрее. А вот Word и все остальные приложения потребляют так мало ресурсов, что в случае с ними вы вряд ли заметите, что объем оперативной памяти увеличился. Более подробную информацию о последней версии пакета Microsoft Office вы найдете в статье «Примеряем новый Office 2010» в CHIP №9 2010 на стр. 120.

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

Аппаратные средства: в чем может быть подвох?



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

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

Если нет возможности найти драйвер для Windows 7, зачастую может подойти вариант, созданный для предыдущей версии ОС — например, Windows Server 2003. Но при этом он обязательно должен быть написан именно для 64-битного варианта системы.

Иногда даже при совместимости драйверов с ОС стандартная установка бывает проблематична: в некоторых случаях Windows проверяет инсталляционный файл и отклоняет его как не совпадающий с текущим вариантом системы. Можно обойти это ограничение, запустив установку в режиме совместимости с прежней версией Windows.

Другой способ выйти из затруднения — найти драйвер для устройства такого же типа, что и ваше.

Например, если ваш принтер совместим с языками PCL или PostScript, попробуйте воспользоваться драйвером от HP. Точную информацию о производителе комплектующих можно отыскать следующим образом. В меню «Пуск» кликните правой кнопкой по пункту «Компьютер» и в контекстном меню выберите «Свойства». В открывшемся окне слева найдите Диспетчер устройств и запустите его.

Подтвердите запрос прав администратора. В каталоге устройств отыщите те, которые отмечены желтым треугольником с восклицательным знаком (это означает, что драйверы для них не установлены). В контекстном меню «Свойства» на вкладке «Сведения» выберите из выпадающего списка «ID оборудования». Здесь вы увидите четырехзначное обозначение производителя (Vendor-ID) и номер устройства (Device-ID). По этой информации на ресурсе www.pcidatabase.com можно определить разработчика того или иного продукта. Как правило, на своих сайтах производители выкладывают подходящие драйверы.

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

Виртуальная Windows XP: как запустить любую программу в 64-битной среде

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

Мы продемонстрируем, каким образом активировать старые аппаратные средства без актуальных драйверов или пользоваться программами, изначально несовместимыми с «семеркой».

Использование XP в среде Windows 7 . Владельцы Windows 7 версий «Профессиональная», «Корпоративная» и «Максимальная» после инсталляции ОС имеют возможность просто активировать интегрированный в нее режим XP.

Если же у вас установлена «Начальная» или «Домашняя», на помощь придет дополнительное ПО. Бесплатная программа VMLite XP Mode, имеющаяся на нашем DVD, позволяет без проблем запускать в «семерке» приложения для Windows XP.

Вы даже не заметите, что в фоновом режиме у вас работает XP-машина.


Бесплатная утилита VMLite XP Mode позволяет легко интегрировать приложения для XP и устаревшее «железо» в среду Windows 7 Порядок установки . Вам потребуется утилита VMLite XP Mode, а также лицензионная Windows XP. Программа, конечно, позволяет скачать полноценную версию этой ОС с сайта Microsoft, но владельцам «Начальной» и «Домашней» редакций лучше этого не делать, чтобы не нарушать лицензионное соглашение. Дело в том, что загружать прежнюю версию операционной системы имеют право только пользователи, купившие «Максимальную» или «Профессиональную».

После инсталляции вы получите полноценную Windows XP, в которой можно в обычном режиме устанавливать любые программы и драйверы. Утилита VMLite XP Mode запускается привычным способом — посредством кнопки «Пуск» и пункта «Все программы». Обмен файлами между двумя операционными системами производится через сетевой диск, при клике по которому отобразится структура папок вашего хост-компьютера.

Прежде чем приступить к тематике разработки кода 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.

Страница не найдена | The Old New Thing

Похоже, здесь ничего не было найдено. Попробуйте одну из ссылок ниже или выполните поиск?

Архивы
Архивы Выбор месяца февраль 2021 январь 2021 декабрь 2020 ноябрь 2020 октябрь 2020 сентябрь 2020 август 2020 июль 2020 июнь 2020 май 2020 апрель 2020 март 2020 февраль 2020 январь 2020 декабрь 2019 ноябрь 2019 октябрь 2019 сентябрь 2019 август 2019 июль 2019 июнь 2019 Май 2019 апрель 2019 март 2019 февраль 2019 январь 2019 декабрь 2018 ноябрь 2018 октябрь 2018 сентябрь 2018 август 2018 июль 2018 июнь 2018 май 2018 апрель 2018 март 2018 февраль 2018 январь 2018 декабрь 2017 ноябрь 2017 октябрь 2017 сентябрь 2017 август 2017 июль 2017 июнь 2017 май 2017 Апрель 2017 март 2017 февраль 2017 январь 2017 декабрь 2016 ноябрь 2016 октябрь 2016 сентябрь 2016 август 2016 июль 2016 июнь 2016 май 2016 апрель 2016 март 2016 февраль 2016 январь 2016 декабрь 2015 ноябрь 2015 октябрь 2015 сентябрь 2015 август 2015 июль 2015 июнь 2015 май 2015 апрель 2015 Март 2015 февраль 2015 январь 2015 декабрь 2014 ноябрь 2014 октябрь 201 4 сентября 2014 август 2014 июль 2014 июнь 2014 май 2014 апрель 2014 март 2014 февраль 2014 январь 2014 декабрь 2013 ноябрь 2013 октябрь 2013 сентябрь 2013 август 2013 июль 2013 июнь 2013 май 2013 апрель 2013 март 2013 февраль 2013 январь 2013 декабрь 2012 ноябрь 2012 октябрь 2012 сентябрь 2012 август 2012 июль 2012 июнь 2012 май 2012 апрель 2012 март 2012 февраль 2012 январь 2012 декабрь 2011 ноябрь 2011 октябрь 2011 сентябрь 2011 август 2011 июль 2011 июнь 2011 май 2011 апрель 2011 март 2011 февраль 2011 январь 2011 декабрь 2010 ноябрь 2010 октябрь 2010 сентябрь 2010 август 2010 июль 2010 июнь 2010 май 2010 апрель 2010 март 2010 февраль 2010 январь 2010 декабрь 2009 ноябрь 2009 октябрь 2009 сентябрь 2009 август 2009 июль 2009 июнь 2009 май 2009 апрель 2009 март 2009 февраль 2009 январь 2009 декабрь 2008 ноябрь 2008 октябрь 2008 сентябрь 2008 август 2008 июль 2008 июнь 2008 май 2008 апрель 2008 март 2008 февраль 2008 январь 2008 декабрь 2007 ноябрь ember 2007 октябрь 2007 сентябрь 2007 август 2007 июль 2007 июнь 2007 май 2007 апрель 2007 март 2007 февраль 2007 январь 2007 декабрь 2006 ноябрь 2006 октябрь 2006 сентябрь 2006 август 2006 июль 2006 июнь 2006 май 2006 апрель 2006 март 2006 февраль 2006 январь 2006 декабрь 2005 ноябрь 2005 Октябрь 2005 сентябрь 2005 август 2005 июль 2005 июнь 2005 май 2005 апрель 2005 март 2005 февраль 2005 январь 2005 декабрь 2004 ноябрь 2004 октябрь 2004 сентябрь 2004 август 2004 июль 2004 июнь 2004 май 2004 апрель 2004 март 2004 февраль 2004 январь 2004 декабрь 2003 ноябрь 2003 октябрь 2003 Сентябрь 2003 г. Август 2003 г. Июль 2003 г.

Можно ли запускать 64-битные приложения в 32-битной ОС?

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

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

Так что же делать пользователю, если он / она не готов прекратить использование 32-битной ОС в качестве основной рабочей системы?

В разных операционных системах есть особенности, связанные с запуском 64-битных приложений в 32-битной среде.Во-первых, при запуске 64-битных приложений в 32-битной среде вы теряете преимущество использования большего объема оперативной памяти. Кроме того, для поддержки 64-битных приложений ваш процессор должен иметь 64-битную архитектуру. Давайте посмотрим на некоторые из самых популярных ОС.

В Mac OS X ядро ​​гибридное. Он позволяет запускать любое приложение независимо от его скорости передачи данных. Единственное отличие гибридного ядра от полноценного 64-битного — это невозможность использовать в системе более 32 ГБ ОЗУ.Так что на данный момент нет абсолютно никакой разницы между загрузкой в ​​32-битном и 64-битном режимах. Но в будущем эта разница станет более заметной в связи с увеличением использования оперативной памяти и дальнейшим развитием технологий.

Для семейства операционных систем Linux и 32-разрядной ОС Windows технология виртуализации используется для запуска 64-разрядных приложений в 32-разрядной среде. Существует ряд специализированных программных продуктов, позволяющих установить виртуальную гостевую 64-битную ОС, в которой вы сможете установить и запустить необходимое приложение.А если операционная система не бесплатная, придется ее покупать.

Виртуализация

Виртуальная машина — это программное обеспечение, которое имитирует работу аппаратной платформы со всеми ее компонентами (процессор, память, жесткий диск, USB, оптический привод, видео и сетевые адаптеры и т. Д.). Виртуальная машина позволяет одновременно устанавливать и запускать несколько гостевых систем (ОС, работающих на виртуальных машинах) в рамках одной хост-системы (ОС, установленной на оборудовании).Список операционных систем, которые можно установить на виртуальные машины, сильно различается и зависит от конкретной системы виртуализации.

Вот несколько популярных решений:

Oracle VirtualBox — универсальная бесплатная виртуальная машина. VirtualBox — очень простой, мощный и бесплатный инструмент для виртуализации, разработанный при поддержке известной корпорации Oracle. Это бесплатное программное обеспечение с открытым исходным кодом. VirtualBox позволяет установить в качестве «гостевой» практически любую текущую операционную систему, будь то Windows, Mac OS или любой из многочисленных представителей семейства Linux.

VMware Workstation — для серьезных задач. VMware Workstation — это мощная, платная и самая надежная программа для виртуализации, которая поддерживает ОС Windows и Linux. Но эту программу нельзя использовать для виртуализации в Mac OS.

QEMU — это бесплатная программа с открытым исходным кодом, которая эмулирует различные аппаратные платформы.

Виртуализация оборудования

Существуют определенные требования к 64-битной гостевой виртуальной машине для работы в 32-битной среде: процессор должен иметь 64-битную архитектуру и поддерживать технологии аппаратной виртуализации, такие как Intel VT-x и AMD-V.Иногда их необходимо включить вручную в BIOS вашей системы.

Облачные вычисления

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

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

Часто геймеры сталкиваются с проблемой запуска 64-битных приложений на устаревших 32-битных машинах. Для этих задач также существуют специализированные облачные решения. Например, NVIDIA GRID. GRID запускает 3D-игры на облачных серверах, мгновенно кодирует каждый кадр и передает результаты на любое устройство с проводным или беспроводным высокоскоростным подключением к Интернету.

Заключение

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

64-битных типов и арифметических операций на 32-битных процессорах

Я наткнулся на старую свою запись 2004 года, в которой спрашивал себя, как 64-битные типы (например, __int64 в Windows) реализованы на 32-битных процессорах. Я действительно не знаю, почему я был таким ленивым и «удивлялся» вместо того, чтобы пытаться. Вот и ответ.

Эмуляция компилятора

Рассмотрим следующий код (скомпилированный с помощью Visual C ++, __int64 — это тип расширения Microsoft).

 __int64 foo = 0x200;
__int64 bar = 0x223344556677U;
__int64 и = foo & bar;
__int64 sum = foo + bar;
__int64 shift = foo << 33;
 

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

Инициализация

 __int64 foo = 0x200;
004114FE mov dword ptr [foo], 200h
00411505 mov dword ptr [ebp-8], 0
    __int64 bar = 0x223344556677U;
0041150C mov dword ptr [бар], 44556677h
00411513 mov dword ptr [ebp-18h], 2233h
 

Локальные переменные в C ++ выделяются компилятором в стеке. Обратите внимание на то, что для каждого из этих локальных переменных необходимы два места в стеке dword (на жаргоне Microsoft для 32-битной сущности). Чтобы точно понять, почему смещения ebp такие, как они есть, нам нужно войти в политику выделения стека в Visual C ++. Это интересная тема, но я оставлю ее на другой раз.

Изучив память в [ebp-18h], 8 байтов от нее и далее:

Они хранят значение бара в обратном порядке.

двоичный И

Наиболее простые в реализации побитовые операции, такие как и:

 __int64 и = foo & bar;
0041152C mov eax, dword ptr [foo]
0041152F и eax, dword ptr [бар]
00411532 mov ecx, dword ptr [ebp-8]
00411535 и ecx, dword ptr [ebp-18h]
00411538 mov dword ptr [и], eax
0041153B mov dword ptr [ebp-38h], ecx
 

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

Дополнение

Добавление не намного сложнее, благодаря замечательному свойству "каскадности" добавления:

 __int64 sum = foo + bar;
0041151A mov eax, dword ptr [foo]
0041151D добавить eax, dword ptr [бар]
00411520 mov ecx, dword ptr [ebp-8]
00411523 adc ecx, dword ptr [ebp-18h]
00411526 mov dword ptr [сумма], eax
00411529 mov dword ptr [ebp-28h], ecx
 

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

Переключение передач

Левый сдвиг оказался самым сложным из всех:

 __int64 shift = foo << 33;
0041153E mov eax, dword ptr [foo]
00411541 mov edx, dword ptr [ebp-8]
00411544 mov cl, 21h
00411546 звонок @ ILT + 70 (__ allshl) (41104Bh)
0041154B mov dword ptr [shift], eax
0041154E mov dword ptr [ebp-48h], edx
 

Visual C ++ генерирует вызов процедуры для его реализации после подготовки аргументов в регистрах - входное 64-битное значение разделяется на eax и edx, а размер сдвига передается в младшем байте ecx (0x21 равно 33).После возврата из процедуры __allshl результат берется из eax и edx. Но что делает __allshl? При входе в него с помощью отладчика отображается его код, но для целей обучения проще найти в Интернете версию с комментариями (немного отформатированную для этого блога):

; ------------------------------------------------
; llshl. asm - длинный сдвиг влево
; ------------------------------------------------
                0,386
_TEXT сегмент use32 para public 'CODE'
                общественный __allshl

;
; llshl - длинный сдвиг влево
;
; Цель:
; Делает длинный сдвиг влево (со знаком и без знака
; идентичны)
; Сдвигает влево на любое количество бит.;
; Вход:
; EDX: EAX - сдвигаемое длинное значение
; CL - количество бит для сдвига на
;
; Выход:
; EDX: EAX - смещенное значение
;
; Использует:
; CL уничтожен.
;

__allshl proc рядом
                предположим cs: _TEXT

;
; Обработка сдвигов на 64 или более бит (все получают 0)
;
        cmp cl, 64
        дже короткое RETZERO

;
; Обрабатывать сдвиги от 0 до 31 бит
;
        cmp cl, 32
        чже короткие MORE32
        shld edx, eax, cl
        shl eax, cl
        Ret

;
; Обрабатывать сдвиги от 32 до 63 бит
;
БОЛЬШЕ32:
        mov edx, eax
        xor eax, eax
        и кл, 31
        shl edx, cl
        Ret

;
; вернуть 0 в edx: eax
;
РЕТЦЕРО:
        xor eax, eax
        xor edx, edx
        Ret

__allshl endp

_TEXT заканчивается
                конец
 

Комментарии довольно хорошие, и понять, что происходит, легко. Самая интересная инструкция, используемая в этом коде, - это shld, которая сдвигает свой целевой регистр на величину, указанную в регистре cl (который является младшими 8 битами ecx), при этом сдвигая биты от своего второго аргумента, что позволяет реализовать каскадные сдвиги многословных величин.

А как насчет реальной поддержки 64-бит?

К счастью, у меня есть ноутбук с 64-битным процессором и с 64-битной ОС и с 64-битной версией Visual Studio. Вот разборка тех же немногих строк, сияющих в 64-битной славе:

 __int64 foo = 0x200;
00000001400010EA mov qword ptr [foo], 200h
    __int64 bar = 0x223344556677U;
00000001400010F3 mov rax, 223344556677h
00000001400010FD mov qword ptr [бар], rax
    __int64 sum = foo + bar;
0000000140001102 mov rcx, qword ptr [бар]
0000000140001107 mov rax, qword ptr [foo]
000000014000110C добавить rax, rcx
000000014000110F mov qword ptr [сумма], rax
    __int64 и = foo & bar;
0000000140001114 mov rcx, qword ptr [бар]
0000000140001119 mov rax, qword ptr [foo]
000000014000111E и rax, rcx
0000000140001121 mov qword ptr [и], rax
    __int64 shift = foo << 33;
0000000140001126 mov rax, qword ptr [foo]
000000014000112Б шл ракс, 21ч
000000014000112F mov qword ptr [shift], rax
 

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

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

32-разрядная версия Windows в 64-разрядной версии Windows (WOW64)

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

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

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

Как и 32-разрядные приложения, WOW64 работает в пользовательском режиме, поэтому любые ошибки, возникающие при преобразовании вызова операционной системы, будут возникать только на этом уровне.Ядро 64-битной операционной системы не может быть затронуто.

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

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

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

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

WOW64 управляет параметрами файлов и реестра

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

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

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

Файлы 32-битных приложений устанавливаются в

C: \ Program Files (x86)

 

32-битные системные файлы установлены в

C: \ WINDOWS \ SysWOW64

 

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

C: \ Program Files
C: \ WINDOWS \ SYSTEM32

 

Перенаправитель файлов WOW64 обеспечивает перенаправление запросов от 32-разрядных приложений на открытие файлов в C: \ Program Files или C: \ WINDOWS \ SYSTEM32 в соответствующие 32-разрядные каталоги.

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

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

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

Ключи реестра, относящиеся к 32-битным приложениям, перенаправляются с:

HKEY_LOCAL_MACHINE \ Программное обеспечение

 
С

по:

HKEY_LOCAL_MACHINE \ Software \ WOW6432Node

 

Вы также можете иногда видеть записи реестра в другом месте, хотя это необычно.

HKEY_CURRENT_USER \ Программное обеспечение \ WOW6432Node

 

Этот подход позволяет устанавливать одновременно 32-разрядную и 64-разрядную версии приложения без перезаписи параметров друг друга.

Отражение реестра

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

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

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

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

Двойной щелчок по файлу с расширением XYZ в проводнике загрузит приложение, установленное на шаге 3, так как оно последним связалось с этим расширением.

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

WOW64 имеет несколько ограничений

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

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

Инъекция кода не может смешиваться между 32- и 64-разрядными версиями

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

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

WOW64 не поддерживает 16-битные установщики

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

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

Windows Виртуальный ПК

Windows Virtual PC - это бесплатное программное обеспечение, которое обеспечивает среду, которая будет поддерживать устаревшее оборудование и программное обеспечение, которое не будет работать под Windows 7.Гостевые операционные системы (ОС) могут работать на виртуальной машине, что означает, что они не знают, что работают под другой операционной системой.

Системные требования и функции значительно различаются в зависимости от версии Virtual PC и версии Windows, поэтому проверьте перед тем, как попробовать Virtual PC. Последняя версия, пожалуй, самая ограниченная без поддержки операционных систем до текущей поддерживаемой версии Windows XP, то есть Service Pack 3.

Режим Windows XP (XPM)

Windows XP Mode - это особая реализация Windows Virtual PC, которая поставляется с предустановленной лицензионной копией Windows XP Professional с Service Pack 3.Он доступен только с выпусками Enterprise, Ultimate и Professional 64-разрядной версии Windows 7, поэтому ожидается, что вы обновитесь до этих версий, если захотите.

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

Двойная загрузка Windows

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

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

Как запускать 32-битные программы Windows на 64-битной Ubuntu 18.04 LTS - Linux Hint

Wine - это программное обеспечение для Linux, которое делает уровень совместимости Windows доступным для Linux. С Wine вы можете запускать большинство программ Windows в Linux. Wine - это не какой-либо эмулятор. Полная форма WINE - это W, и I s N или преобразователь E .Поскольку это не эмулятор, он не занимает много памяти для запуска приложений Windows. Приложения Windows работают так же, как и любые другие приложения Linux.

В этой статье я покажу вам, как запускать 32-битные приложения Windows в 64-битной версии Ubuntu 18.04 LTS. Давайте начнем.

Вы должны убедиться, что официальные источники программного обеспечения Ubuntu 18.04 LTS main, limited, universe и multiverse программные источники включены.

Вы можете проверить, включены они или нет, в приложении Software & Updates в Ubuntu 18.04 LTS.

Чтобы открыть Программное обеспечение и обновления , перейдите в меню приложений в Ubuntu 18. 04 LTS и найдите его. Теперь щелкните значок, как показано на скриншоте ниже.

Убедитесь, что все элементы в отмеченном разделе на скриншоте ниже отмечены в приложении «Программное обеспечение и обновления».

Включение Multi Arch в Ubuntu 18.04 LTS:

Если у вас установлен Ubuntu 18.04 LTS, он должен быть 64-битным, как Ubuntu 18.04 LTS не имеет 32-разрядного установщика. Поэтому, если вы установите Wine без включения мультиархитектуры, оно будет запускать только 64-битное приложение Windows.

Вот почему вам необходимо включить 32-битную архитектуру в Ubuntu 18.04 LTS, чтобы установить 32-битную версию Wine.

Выполните следующую команду, чтобы добавить поддержку 32-разрядной архитектуры в Ubuntu 18.04 LTS:

$ sudo dpkg --add-architecture i386

Установка PlayOnLinux:

PlayOnLinux - это графический интерфейс Wine.Это упрощает установку, использование и управление программами Windows в Linux. С PlayOnLinux вы можете установить несколько версий Wine (как 32-разрядную, так и 64-разрядную версию) и использовать разные версии Wine для разных приложений Windows.

Каждое приложение Windows будет изолировано. Таким образом, изменение в одном приложении Windows не может повредить другие приложения Windows. Даже если в установочном файле нужного программного обеспечения есть вирусы, он не повлияет на другие приложения Windows, которые вы установили с помощью PlayOnLinux.PlayOnLinux - действительно отличное приложение для пользователей Linux.

PlayOnLinux доступен в официальном репозитории пакетов Ubuntu 18.04 LTS. Так что установить легко.

Сначала обновите кэш репозитория пакетов APT на вашем компьютере Ubuntu 18.04 LTS с помощью следующей команды:

Кэш репозитория пакетов APT должен быть обновлен.

Теперь установите PlayOnLinux на Ubuntu 18.04 LTS с помощью следующей команды:

$ sudo apt установить playonlinux

Как видно из отмеченного участка на скриншоте ниже, wine32 и wine64 будут установлены с PlayOnLinux. Теперь нажмите y , а затем нажмите , чтобы продолжить.

PlayOnLinux должен быть установлен.

Запуск PlayOnLinux:

Теперь, когда установлен PlayOnLinux , вы можете найти его в меню приложения вашего компьютера Ubuntu 18.04 LTS. Нажмите здесь.

Должен запуститься PlayOnLinux .

Установка 32-битного приложения Windows в Ubuntu 18.04 ЛТС:

Теперь вы можете установить 32-битные и 64-битные приложения Windows на Ubuntu 18.04 LTS с PlayOnLinux и Wine . В этом разделе я покажу вам, как запустить 32-разрядное приложение Windows в Ubuntu 18.04 LTS. Процесс установки 64-битного приложения Windows такой же. Вы легко можете сделать это самостоятельно.

Я собираюсь загрузить установочный файл для 32-разрядной версии текстового редактора Notepad ++ с официального сайта Notepad ++ (https: // notepad-plus-plus. org) и установите его в Ubuntu 18.04 LTS с помощью PlayOnLinux и Wine, просто чтобы показать вам, что он работает идеально.

Теперь, чтобы установить приложение Windows, щелкните Установить в главном окне PlayOnLinux , как показано на снимке экрана ниже.

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

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

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

Notepad ++ доступен в списке, но я просто хочу показать вам, как он работает, если программы, которую вы хотите установить, нет в списке.

Теперь нажмите Далее .

Снова щелкните Далее .

Щелкните Далее .

Выберите Установите программу на новый виртуальный диск и нажмите Далее .

Введите имя вашего виртуального диска и щелкните Далее . Оно должно быть уникальным для каждого приложения.

Теперь вы можете установить эти флажки, чтобы использовать другую версию Wine, если хотите, или настроить Wine, или установить библиотеки, если ваше приложение зависит от них.Notepad ++ - простое приложение. Так что я могу оставить их без внимания. Когда вы закончите, нажмите Далее .

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

Создание виртуального диска займет некоторое время.

Теперь нажмите Обзор .

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

Теперь нажмите Далее .

Теперь должна начаться установка Notepad ++. Вы бы установили его так же, как и в Windows.

После завершения установки вам необходимо создать ярлык. Выберите из списка файл, который запускает ваше приложение Windows, и нажмите Далее .

Введите имя ярлыка и нажмите Далее .

Теперь, если вы не хотите добавлять еще один ярлык, просто выберите Я не хочу создавать еще один ярлык и нажмите Далее .

Ярлык должен быть создан.

Теперь вы можете выбрать ярлык и нажать Выполнить , как отмечено на снимке экрана ниже, чтобы запустить приложение Windows.

Как видите, 32-разрядный Notepad ++ работает на Ubuntu 18.04 LTS с Wine.

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

Бесплатные эмуляторы ПК / Intel x86 и x64 и виртуальные машины / виртуальные машины (thefreecountry.com)

Виртуальные машины («ВМ») позволяют запускать другая операционная система (или даже такой же) поверх текущей системы, в которой вы работаете. Например, можно запустить (скажем) Windows XP на вашем Windows 7 машина в отдельном окне. Это требует, чтобы ваш компьютер в настоящее время использует x86 (32 или 64 бит) процессор (будь то Intel или AMD).Затем виртуальная машина виртуализирует оборудование, чтобы гостевая операционная система ( один, который вы запускаете в отдельном окне) считает, что он единственный, работающий на машине. Программы, запущенные в гостевой изолированы от вашего основного компьютера, что делает такую ​​систему очень полезной для программистов, веб-мастера, использующие несколько браузеров, и даже обычного человека, который хочет протестировать различное программное обеспечение, не нанося вреда его реальной машине. И это также полезно, если вы используете Mac и хотите запускать программы Windows вместе с программным обеспечением Mac.

Эмуляторы немного отличаются. Они позволяют запускать операционную систему, которая требует (скажем) процессор Intel / AMD x86 на совершенно другом процессоре (процессоре). Например, это может позволить вам запустить Windows XP на процессор PowerPC (то, что обычно не работает, поскольку для Windows XP требуется процессор x86). Другими словами, в отличие от виртуальной машины, которая виртуализирует только часть оборудования, эмуляторы должны эмулировать все, включая ЦПУ. Таким образом, эмуляторы обычно намного медленнее, чем виртуальные машины.

На этой странице перечислены виртуальные машины и эмуляторы для процессоров Intel / AMD x86 (32- или 64-разрядные) (это означает, что они либо эмулировать x86 или являются виртуальными машинами, которые работают на x86). Гостевые «машины», которые они создают, могут или не могут (в зависимости от того, какое программное обеспечение вы выберете) иметь возможность предоставлять доступ к USB-накопителям вашего реального компьютера, приводам CD / DVD, принтеры, сеть и т. д.

Требования : Некоторое программное обеспечение виртуальных машин требует, чтобы на вашем компьютере был процессор (ЦП) с поддержка аппаратной виртуализации.Насколько мне известно, он есть во всех современных 64-битных процессорах AMD Athlon (примечание: я сказал Athlon , а не бюджетный Sempron ). Ситуация с процессорами Intel еще более запутана, поскольку поддержка аппаратной виртуализации (или VT, как ее называет Intel) кажется немного случайным во всем их ассортименте (то есть, даже если у вас процессор более высокого уровня, это не обязательно означает, что чип поддерживает VT). Чтобы проверить, поддерживает ли ваш чип Intel VT, найдите его в Список технологий виртуализации Intel.Еще хуже, даже если ваш чип есть такая поддержка, возможно, некоторые производители компьютеров отключили ее в BIOS.

Дополнительная полезная терминология , которая может оказаться вам полезной: в мире эмуляторов и виртуальных машин, хост относится к вашему реальному физическому компьютеру, который вы в настоящее время используете для чтения этого страница. Например, если вы используете компьютер под управлением Mac OS X, то этот компьютер является вашим главным компьютером, Mac OS X - операционная система вашего хоста и т. д.Если вы запустите виртуальную машину на этом компьютере и установите (скажем) Windows 7 в это виртуальная машина, то Windows 7 - это гостевая операционная система .

Обратите внимание, что на этой странице нет списка коммерческого программного обеспечения. Если вам нужно последнее, и вы пользователь macOS, у вас также есть возможность использовать Parallels Desktop для Mac.

VirtualBox

VirtualBox - это решение для виртуализации, которое работает на 32-битных хостах Windows и Linux и поддерживает в качестве гостевых ОС Windows NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8, Windows 10, DOS / Windows 3.x, Linux, Solaris, OpenSolaris, OS / 2 и OpenBSD. Он поддерживает общие папки и виртуальные контроллеры USB в дополнение к обычным Поддержка дисководов для гибких дисков и компакт-дисков. Обратите внимание, что загружаемые двоичные файлы можно использовать только в личных целях или в ознакомительных целях.

Игрок VMWare

VMWare Player позволяет использовать виртуальные машины с такими операционными системами, как Linux, Windows, FreeBSD и т. Д. Поверх ваша существующая система Windows или Linux.

Microsoft Virtual PC для Windows 7

Это специальная версия бесплатного программного обеспечения Microsoft Virtual PC, разработанная специально для пользователей Windows 7. Требуется, чтобы на вашем компьютере поддержка аппаратной виртуализации в CPU. Смысл существования этой виртуальной машины - позволить вам запускать программы Windows XP в виртуальном режиме. вместе с вашими программами Windows 7 высоко интегрированным способом. В отличие от типичной виртуальной машины, ваши программы действуют и ведут себя так, как будто они выполняются непосредственно в вашей хост-системе, и могут взаимодействовать не только с ваше оборудование, а также рабочий стол, папки с документами, музыкой и видео.Другими словами, это подразумевается как обратная совместимость. инструмент для запуска старых программ в Windows 7. Вы не должны использовать его, если вы намерены тестировать / отлаживать программы и хотите защитить вашу основную систему. Очевидно, вы также можете запускать Vista и Windows 7 как гостевые машины.

Эмулятор процессора QEMU

QEMU поддерживает эмуляцию процессоров x86, ARM, SPARC и PowerPC. Хост-процессоры (процессоры, которые могут запускать QEMU эмулятор) включают x86, PowerPC, Alpha, Sparc32, ARM, S390, Sparc64, ia64 и m68k (некоторые из них все еще находятся в разработка). При эмуляции ПК (x86) поддерживаемые гостевые операционные системы включают MSDOS, FreeDOS, Windows 3.11, Windows 98SE, Windows 2000, Linux, SkyOS, ReactOS, NetBSD, Minix и т. Д. При эмуляции PowerPC, в настоящее время протестированы гостевые ОС включить Debian Linux.

Монитор виртуальной машины Xen

Xen - это виртуальная машина с открытым исходным кодом, которая позволяет запускать несколько гостевых операционных систем, разделенных на отдельные разделы. виртуальные машины. В настоящее время он работает в Linux (как основная операционная система).Поддерживаемые гостевые операционные системы включают Linux, Windows XP (в стадии разработки), NetBSD и FreeBSD. Однако, в отличие от некоторых других виртуальных машин и эмуляторов, Xen требует, чтобы у вас была модифицированная версия операционной системы в качестве гостевой ОС.

Эмуляция Bochs IA-32 Проект

Bochs - это эмулятор с открытым исходным кодом для машин IA-32 (Intel x86). Имеет возможность эмулировать 386, 486, Pentium, Pentium Pro, AMD64, с MMX, SSE, SSE2 и 3DNow или без них, с обычными устройствами ввода-вывода (такими как звуковая карта SoundBlaster, сетевая карта, совместимая с NE2000, и т. д.) и собственный BIOS.Вы можете запустить Windows 95 / NT, Linux и DOS в качестве гостевых операционных систем на этом компьютере. Ваша гостевая ОС будет установлена ​​в большой файл, который эмулятор будет использовать для имитации жесткого диска эмулируемой машины. Поддерживаемые платформы (и здесь Я имею в виду платформы, на которых будет работать Bochs) включают Win32 (Windows 9x / ME / 2k / XP), Macintosh, Mac OS X, BeOS, Amiga MorphOS, Системы OS / 2 и Unix / X11 (включая Linux).

JPC: эмулятор ПК Pure Java x86

JPC - это эмулятор ПК, написанный на языке программирования Java, и, таким образом, работает на любом компьютере, имеющем Установленная среда выполнения Java (например, Windows, Linux, Mac OS X и т. Д.).На момент написания этого мини-обзора эмулятор мог запускать все версии DOS, а также некоторые версии Linux и OpenBSD. Примечание: если вам нужно серьезно заняться программ (кроме игр DOS), вам, вероятно, следует выбрать один из других эмуляторов на эта страница. Эмулятор, вероятно, предназначен больше для академических интересов. и развлечение, чем серьезные задачи по эмуляции. (В конце концов, это эмулятор, работающий на виртуальной машине.)

OpenVZ

OpenVZ - это программное обеспечение для виртуализации серверов, построенное на Linux.Если вы когда-либо регистрировались с хостинговая компания, предоставляющая виртуальные частные серверы (VPS), они, вероятно, используют какое-то программное обеспечение для виртуализации серверов, подобное этому. Программное обеспечение позволяет создавать изолированные среды для запускать отдельные копии операционных систем и обеспечивать предположительно безопасную виртуальную среду (VE), которая ведет себя как автономные серверы.

DOSEMU Эмуляция DOS в Linux

DOSEMU - это хорошо известный эмулятор DOS, работающий в Linux (хост-ОС). Он даже может запускать Windows 3.x в режиме эмуляции DOS.

DOSBox, эмулятор x86 с DOS

DOSBox - эмулятор x86 со встроенной DOS. Он был создан в первую очередь для запуска игр DOS. Имитирует 286/386 в реальный и защищенный режимы, XMS / EMS, видеокарта (VGA / EGA / CGA / VESA / Hercules / Tandy), звуковая карта SoundBlaster / Gravis Ultra, и т.д. Очевидно, вы даже можете запустить старую 16-битную Windows 3.1 в эмуляторе. Операционные системы хоста (т. Е. Платформы на который вы можете запустить эмулятор DOSBox), включая Windows, Linux, Mac OS X, BeOS, FreeBSD, MorphOS и Amiga68k.

ВИНО

WINE, что означает WINE Is Not an Emulator, позволяет запускать программы Windows в Linux и других системах типа Unix. Это слой, который имитирует Windows API в системах Unix, работающих под управлением X. Вам совсем не нужно иметь Windows для запуска вашего Приложения Windows в WINE. Если вы ищете эмуляторы или клоны Windows, вы также можете проверить Бесплатные клоны Windows, эмуляторы и слои эмуляции страница.

Проект виртуализации Plex86 x86

Plex86 - это виртуальная машина для запуска Linux на машинах x86.Он работает только на Linux, работающем на машине x86.

Minde

Minde - это эмулятор, который позволяет запускать некоторые приложения, демонстрации и игры DOS под Linux.

Эмулятор ПК
PCEmu 8086 для X

PCEmu эмулирует базовый ПК 8086 с текстовым дисплеем VGA, что позволяет запускать некоторые программы DOS. Работает под Linux. Программа больше не поддерживается.

Q

[ Обновление : похоже, что сайт Q исчез.] Q - это порт QEMU (см. В другом месте на этой странице), который позволяет запускать Windows, Linux и т. д. на вашем Mac. Вы можете обмениваться файлами между хостовой и гостевой операционными системами. Q работает в Mac OS X с процессором Intel или более старым процессором PowerPC G4 / G5. В зависимости от того, запустить его на OS X Lion или более ранней версии, он может эмулировать ПК (процессор x86 или x86_64), PowerPC (PPC), G3, Sun4m (32-разрядный процессор Sparc), Sun4u (64-разрядный процессор Sparc), Malta (32-разрядный процессор MIPS) и Mac99 PowerMac. (На момент написания статьи гостевые системы Sparc, MIPS и, возможно, x86_64 недоступны в Lion.) Он эмулирует карту Soundblaster 16, карту Cirrus CLGD 5446 PCI VGA (или фиктивную карту VGA с расширениями Bochs VESA), мышь и клавиатура PS / 2, 2 интерфейса PCI IDE с жестким диском а также поддержка CD-ROM, дискеты, сетевых адаптеров NE2000 PCI и последовательных портов.

Эмулятор системы

Arm - документация QEMU 5.2.50

QEMU может эмулировать как 32-разрядные, так и 64-разрядные процессоры Arm. Использовать qemu-system-aarch64 исполняемый файл для имитации 64-битной машины Arm.Вы можете использовать qemu-system-arm или qemu-system-aarch64 для имитации 32-битной машины Arm: в общем, командные строки, которые работа для qemu-system-arm будет вести себя так же при использовании с qemu-система-aarch64 .

QEMU обычно хорошо поддерживает гостей Arm. Он поддерживает почти полсотни разных машин. Причина, по которой мы поддерживаем так много, в том, что Аппаратное обеспечение Arm гораздо более разнообразно, чем оборудование x86. Arm процессоры обычно встроены в конструкции «система на кристалле» (SoC), созданные много разных компаний с разными устройствами, и эти SoC затем встроены в машины, которые могут еще больше различаться, даже если они используют тот же SoC.Даже с 50 платами QEMU покрывает не более небольшая часть аппаратной экосистемы Arm.

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

Как и более распространенные процессоры с профилем A (которые имеют блоки MMU и будут работает под Linux) QEMU также поддерживает процессоры с «M-профилем», такие как Cortex-M0, Cortex-M4 и Cortex-M33 (микроконтроллеры, используемые в очень встроенные платы). Для большинства плат тип ЦП фиксированный (соответствует тому, что аппаратное обеспечение), поэтому обычно вам не нужно указывать тип процессора вручную, за исключением особых случаев, таких как плата virt .

Выбор модели доски

Для эмуляции системы QEMU необходимо указать, какая плата модель, которую вы хотите использовать с опцией -M или - машина ; по умолчанию нет.

Потому что системы Arm очень сильно и фундаментально отличаются друг от друга. образы операционной системы или прошивки, предназначенные для работы на одной машине не будет работать ни на каком другом. Это часто удивляет новичков. пользователи, которые привыкли к миру x86, где каждая система выглядит как стандартный ПК.(После загрузки ядра большинство программ пользовательского пространства гораздо меньше заботится о деталях оборудования.)

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

Если вы не заботитесь о воспроизведении идиосинкразии определенного немного оборудования, например, небольшой объем оперативной памяти, отсутствие PCI или других жестких disk и т. д. и просто хотите запустить Linux, лучший вариант - использовать virt доска. Это платформа, которая не соответствует никаким реальное оборудование и предназначено для использования в виртуальных машинах. Вы будете необходимо скомпилировать Linux с подходящей конфигурацией для работы на плата virt . virt поддерживает PCI, virtio, новейшие процессоры и большой объем оперативной памяти.Он также поддерживает 64-битные процессоры.

.

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

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