3

По независящим от меня причинам я получу мощный ноутбук с местом для 8 ГБ ОЗУ и 64-разрядными процессорами с поддержкой ОС, но с 32-разрядной ОС Windows XP. Если я обновлю ОЗУ, Windows XP увидит только 2 ГБ (без ключа boot.ini ).

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

Прошу прощения за мое незнание работы программного обеспечения ВМ, но можно ли "обмануть"?

4 ответа4

3

Вскоре, VM не поможет вам.

32-разрядное имя операционной системы [ядро] означает, что оно (и его приложения) использует 32-разрядные указатели для обращения к физической и виртуальной памяти. 32-разрядное приложение не может получить доступ к более чем 4 ГиБ памяти одновременно, и часть адресного пространства приложений занимает ядро: целые 4 ГБ возможных адресов памяти разделены на две зоны: это 2 ГБ для ядро и 2 ГиБ для приложений по умолчанию. Опять же, это разделение действительно только для виртуальной памяти: два приложения могут использовать 2 ГБ этой памяти, но извлекать ее из разных частей физической памяти. Это ограничение относится и к ядру.

Вы можете сделать две вещи:

  1. Измените разделение виртуальной памяти. Это, безусловно, возможно при любой установке WinXP и даст дополнительный 1 ГБ памяти для использования в приложениях: после этого можно будет использовать до 4 ГБ памяти одновременно для системы, но 3 ГБ (вместо 2) для каждого приложения. ,

  2. Включить PAE (расширения физических адресов). Это по-прежнему позволит приложениям использовать не более 2 или 3 ГБ ОЗУ в зависимости от разделения виртуальной памяти, но после этого ваша система получит доступ ко всей вашей памяти (максимально 64 ГБ на самом деле; она точно не будет достигнута).

Вот две ссылки на статьи MSDN: одна о включении разделения 3GiB (в нем не рассказывается, как включить PAE, несмотря на его URI), а другая о включении PAE. Таким образом, вы должны поместить /3GB и /PAE соответственно в boot.ini для вашего ядра (не забудьте сделать резервную копию старой загрузочной записи!).

Наконец: даже если вы включите как 3GiB split, так и PAE, виртуальная машина не получит более 3GiB памяти. Никогда в 32-битной системе.

1

Нет, к сожалению нет. Вы можете активировать PAE, чтобы получить от этого немного больше, но это не заменит 64-битную версию.

Нет ли способа убедить того, кто дает вам этот ноутбук, увидеть смысл? Или просто установить на него Win7 64bit?

1

Вы сможете запускать 64-бит /x64 внутри виртуальной машины в 32-битной Windows (при условии, что у вас есть совместимый ЦП с битом VT или аналогичным), однако он не сможет увидеть дополнительный оперативный памяти (кроме от PAE, как сказал Phoshi, однако, опять же, это не замена для 64-битной Windows).

Если у вас есть запасная копия Windows 7 x64, я бы установил ее в качестве основной операционной системы и использовал все 8 ГБ памяти.

1

Это возможно, учитывая, что ваша материнская плата и процессор поддерживают виртуализацию процессора. Из руководства VirtualBox:

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

  1. Вам нужен 64-битный процессор с поддержкой аппаратной виртуализации.

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .