32비트 Linux(ubuntu 11.04)가 설치된 컴퓨터(Intel Core i5)가 있고 64비트 명령줄 응용 프로그램을 테스트할 수 있도록 64비트 Linux 가상 머신을 설치하려고 합니다.
답변1
둘 다가상 기기그리고가상 상자64비트 프로세서가 있는 경우 32비트 호스트 시스템에서 64비트 가상 머신을 실행할 수 있습니다. VirtualBox의 경우 프로세서에 하드웨어 가상화 지원(AMD-V또는VT-x, Linux 아래에 표시됨 svm
), 이전 프로세서를 제외하고 대부분의 x86-64 프로세서, 특히 모든 Core i5 모델이 이 지원을 한다고 생각합니다.vmx
flags:
/proc/cpuinfo
실패하면 Qemu와 같은 소프트웨어에서 x86-64 프로세서를 에뮬레이트하는 가상 머신 기술을 사용할 수 있습니다. 하지만 필요하지 않다면 좋은 생각이 아닙니다. 속도가 느리고 메모리를 차지하며 어색합니다.
제가 조언하는 바는 64비트 호스트나 최소한 64비트 커널을 구입하라는 것입니다. x86-64(amd64라고도 함) 커널에서 32비트 애플리케이션을 실행할 수 있으며 실제로 amd64 Linux 커널에서 전체 32비트 Linux 사용자 영역을 실행할 수 있습니다.
Ubuntu는 i386 배포판에 64비트 커널을 제공하지 않습니다(Debian은 제공합니다). amd64 배포판에서 커널을 얻을 수 있고 애플리케이션이 실행되어야 하지만이 패키지는 natty에서 설치하기가 쉽지 않습니다..
따라서 64비트 애플리케이션을 실행하는 가장 쉬운 방법은 amd64 Ubuntu를 나란히 설치하는 것입니다. 기존 32비트 설치를 유지하면서 별도의 파티션에 설치합니다. 64비트 시스템에서는 기존 파티션을 마운트한 다음32비트 schroot(이 가이드 참조)) 32비트 프로그램을 실행합니다.
답변2
Gilles는 제가 VirtualBox와 VMware가 32비트 호스트에서 64비트 게스트를 지원한다고 잘못 믿었다고 지적했습니다. VirtualBox는 Ubuntu 저장소에서 패키지로 제공됩니다 virtualbox-ose
.
VirtualBox 설명서64비트 운영 체제 실행에 대한 다음 권장 사항을 제공합니다.
VirtualBox는 다음 조건이 충족되는 경우 32비트 호스트 운영 체제에서도 64비트 게스트 운영 체제를 지원합니다.
하드웨어 가상화를 지원하는 64비트 프로세서가 필요합니다("하드웨어 및 소프트웨어 가상화" 섹션 참조).[귀하의 프로세서는 이 요구 사항을 충족합니다. ]
64비트 지원이 필요한 특정 VM에 대해서는 하드웨어 가상화를 활성화해야 합니다. 64비트 VM에서는 소프트웨어 가상화가 지원되지 않습니다.
32비트 호스트 운영 체제에서 64비트 게스트 지원을 사용하려면 특정 VM에 대해 64비트 운영 체제도 선택해야 합니다. 32비트 호스트에서 64비트를 지원하는 추가 오버헤드로 인해 VirtualBox는 명시적으로 요청한 경우에만 이 지원을 활성화합니다.
64비트 호스트(일반적으로 하드웨어 가상화 지원)에서는 설정에 관계없이 64비트 게스트 운영 체제가 항상 지원되므로 게스트에 64비트 운영 체제만 설치하면 됩니다.
경고하다
모든 호스트에서 64비트 모드로 사용하려는 가상 머신에 대해 I/O APIC를 활성화해야 합니다. 이는 특히 64비트 Windows VM의 경우에 해당됩니다. 고급 탭 섹션을 참조하세요. 또한 64비트 Windows 게스트의 경우 AMD PCNet 카드에 대한 64비트 드라이버 지원이 없으므로 VM이 Intel 네트워킹 장치를 사용하는지 확인해야 합니다. "가상 네트워크 하드웨어" 섹션을 참조하세요. VirtualBox 그래픽 사용자 인터페이스의 VM 생성 마법사("첫 번째 가상 머신 생성" 섹션 참조)를 사용하는 경우 VirtualBox는 선택한 각 64비트 운영 체제 유형에 대해 자동으로 올바른 설정을 사용합니다.
소프트웨어 가상화를 사용해야 하는 경우 qemu
Ubuntu 리포지토리에서 패키지를 설치할 수 있습니다. 이를 제어하는 데 사용할 수 있는 GUI 패키지가 여러 개 있지만(저는 선호함 aqemu
) 명령줄에서 사용할 수도 있습니다.
또는 64비트 버전의 Linux를 실행하는 것을 고려해 보세요. Ubuntu x86_64는 가상화 없이 32비트 바이너리 실행을 지원합니다.