Как я могу установить 64-битную виртуальную машину Linux на 32-битную Linux?

11

У меня есть компьютер (Intel Core i5) с установленным 32-битным Linux (ubuntu 11.04), и я хотел бы установить на него 64-битную виртуальную машину Linux, чтобы на ней можно было тестировать 64-битные приложения командной строки.

719016
источник

Ответы:

6

И VMware, и VirtualBox могут запускать 64-разрядную виртуальную машину на 32-разрядной хост-системе, если у вас есть 64-разрядный процессор. Для VirtualBox ваш процессор должен иметь поддержку аппаратной виртуализации (либо AMD-V, либо VT-x , показанный как svmи vmxв flags:строке /proc/cpuinfoпод Linux); большинство процессоров x86-64, за исключением более ранних, и, в частности, я думаю, что все модели Core i5 имеют такую ​​поддержку.

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

Я рекомендую просто получить 64-битный хост или хотя бы 64-битное ядро. Вы можете запускать 32-битные приложения на ядре x86-64 (он же amd64), фактически вы можете запустить полностью 32-битную область Linux на ядре amd64 Linux.

Ubuntu не предоставляет 64-битное ядро ​​в своем дистрибутиве i386 (Debian делает). Вы можете взять ядро ​​из дистрибутива amd64, и приложения должны просто запуститься, но под natty пакет не легко установить .

Таким образом, самый простой способ запуска 64-битных приложений - это параллельная установка Ubuntu amd64. Установите его в отдельный раздел, сохраняя при этом существующую 32-разрядную установку. В 64-битной системе смонтируйте существующие разделы, а затем установите 32-битный schroot (см. Это руководство ) для запуска 32-битных программ.

Жиль "ТАК - прекрати быть злым"
источник
Я выбрал vmware, создающий образ 64-битного 11.04 сервера ubuntu, и он работает.
719016
5

Жиль отмечает, что я ошибся из-за того, что VirtualBox и VMware поддерживают 64-битные гостевые системы на 32-битных хостах. VirtualBox доступен в репозиториях Ubuntu в virtualbox-oseпакете.

Документация VirtualBox содержит следующие рекомендации по работе с 64-битными операционными системами:

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

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

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

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

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

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

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

Если вам необходимо использовать виртуализацию программного обеспечения, вы можете установить qemuпакет из репозиториев Ubuntu. Есть несколько пакетов GUI для управления им (я предпочитаю aqemu), но вы также можете использовать его из командной строки.

В качестве альтернативы рассмотрите возможность запуска 64-битной версии Linux. Ubuntu x86_64 поддерживает запуск 32-битных двоичных файлов без какой-либо виртуализации.

Патчи
источник
Спасибо. пробовал aqemu, но получил ошибку: unix.stackexchange.com/questions/15789/…
719016
Вы можете запустить 64-битный гость на 32-битном хосте в VMware или VirtualBox, если ваше оборудование поддерживает это.
Жиль "ТАК - перестань быть злым"
@ Жиль: Ты прав; только у KVM есть проблема с этим. Спасибо!
патчи