가상 머신 내에서 머신 에뮬레이터 (Boch)를 실행할 수 있습니까?


82

예를 들어 Linux 게스트를 사용하여 Windows 7에서 VirtualBox를 실행하고 해당 Linux 컴퓨터에서 Bochs를 실행할 수 있습니까?

그 이유는 OS 개발을 시작하는 데 관심이 있기 때문에 모든 자습서와 내용이 * nix 컴퓨터에서 훨씬 쉽게 따라갈 수 있다는 것을 알았습니다. Cygwin을 사용해 보았지만 다른 계층을 추가하고 반드시 일을 더 쉽게 만드는 것은 아닙니다.


1
이중 부팅은 Linux이고 Windows는 비교적 쉽게 수행 할 수 있으며 최종 결과는 훨씬 빠르게 실행됩니다. OS를 전환하려면 재부팅해야하는 유일한 단점이 있습니다.
lyallcooper

@AUAnonymous : 알고 있지만 Windows를 계속 실행하고 싶습니다.
Javier

VM을 작동시킬 수 없거나 제대로 작동하지 않는 경우 항상 옵션입니다.
lyallcooper

12
나는이 질문의 제목이 잘못되었다고 주장 할 것이다. Bochs는 VirtualBox 및 VMWare와 같은 의미에서 가상화 소프트웨어가 아닙니다. 에뮬레이터입니다. CPU 가상화는 제공하지 않습니다. 여기에서의 구별은 단지 단순한 것이 아닙니다. boch와 같은 에뮬레이터가 VM 내에서 상당히 높은 신뢰도로 작동 할 것으로 기대할 수 있습니다. VM에서 "중첩 된"진정한 가상화 소프트웨어를 실행하는 것은 훨씬 까다로운 문제입니다. 예를 들어,이 기능은 Fusion 4 기준으로 VMWare 에서만 구현되었습니다 .
superbatfish

2
VirtualMachine-ception : D 가상 머신의 깊이 수준을 추적 할 수없는 위험이 있습니다. 테스트하려는 중첩 가상 디스크 대신 실제 하드 디스크가 손상되었다는 사실을 알게 된 순간 : P
developerbmw

답변:


63

간단히 말해 : .

각 가상 머신은 기술적으로 서로 "독립적"이며 VirtualBox 를 사용하면 Windows 및 Linux 호스트 운영 체제 (에뮬레이트 된 여부에 상관없이)에서 지원되므로 쉽게 수행 할 수 있습니다. Windows를 "기본 호스트"OS로 사용하고 VM에서 Linux를 실행 한 다음 해당 운영 체제를 Bochs의 새 기본 호스트로 사용할 수 있습니다.

여기서 유일한 제한 사항은 하드웨어입니다. 개발 요구 사항에 따라 더 많은 메모리가 필요하거나 64 비트 "기본 호스트"운영 체제로 업그레이드해야 할 수 있습니다. 즉, Linux 배포판을 현명하게 선택하면 최신 시스템은 이와 같이 임의의 중첩을 수행 할 수 있어야합니다.

컴퓨터에서 x86 가상화 지원을 활성화하면 (마더 보드 및 CPU가 지원하는 경우) AFAIK를 사용하면이 기능을 여러 개의 중첩 된 가상 머신으로 "통과"할 수 있습니다. 우리가있는 경우 n서로에 중첩 된 가상 머신을, 이것은로 너무 오래 지원 1 받는 n-1 중첩 된 게스트 OS는 x86 가상화 (기본 호스트는 또한 그것을 지원해야합니다)을 지원한다. 이 작업을 수행하는 경우 여전히 알아야 할 일부 보안 문제 가 있으므로 적절한 예방 조치를 취하십시오.


2
실제로 작동하는 것 같습니다. 결국, 속도가 필요하다면 처음에는 Bochs를 사용하지 않을 것입니다. 가장 반항적이지는 않지만 귀하의 답변이 더 완전하고 요점이라고 생각하므로 동의합니다.
Javier

그것은 단지 나입니까, 아니면이 대답은 중첩 된 가상 머신이 아닌 여러 가상 머신을 실행 하는 것 같습니다 .
Thomas Padron-McCarthy

@Thomas padrón을-맥카시, 나는 중첩 된 것들에 대해 이야기. 이와 관련하여 답변을보다 명확하게 수정했습니다.
획기적인

7
Bochs는 VM이 ​​아닌 에뮬레이터이므로이 일반적인 질문에 가장 적합한 테스트 사례는 아닙니다. (OP에 대한 나의 의견 참조)
superbatfish

이 답변은 TobyJ의 답변해결되지 않은 VirtualBox 기능 요청 이 답변과 연결되어 있지 않습니까?
ChrisW

40

자체 학습 및 테스트 목적으로 가상 Cisco 라우터 및 스위치, EMC Celerra Virtualized Storage Appliance와 함께 VMware Workstation 내에서 전체 VMware vSphere 가상 인프라를 실행하는 경우가 있습니다.

나는 그것을 'Inception Computing'이라고 부르며 혼란 스러울 수 있습니다. 그러나 실제 기어를 사용하는 것보다 다소 저렴합니다.


1
이것은 이것의 생존 가능성을 증명해야합니다. vinf.net/2010/02/25/…
Mike Soule

1
@ Mike : ESXi에서 ESXi를 실행하는 링크 세부 정보이지만 TechHead와 같은 링크 중 일부를 사용했습니다. VMware 워크 스테이션 내에서 vSphere 인프라를 실행하는 데 대한 많은 정보가 있습니다. google.co.uk/…
paradroid

2
"시작"이라는 용어는 [사물 안에있는 것] 개념을 의미하지 않습니다.
ekillaby

7
@countfloortiles : 물론 영화에 대한 참조입니다.
paradroid

1
@paradroid의 이름은 "CompCeption"또는 "VirtuaCeption"입니다.
Mohd Abdul Mujib

32

이 질문을 읽고 받아 들인 답변을보고 이것이 VirtualBox에도 적용될 것이라고 생각 하는 사람은 원래 질문에 대한 @superbatfish의 의견을 참조하십시오 . 그는 가상화와 에뮬레이션의 차이점을 잘 지적합니다.

특히 "하드웨어 지원 VM"은 "최상위"게스트 OS에서 사용할 수 없습니다 (즉,이 문서를 작성할 당시 VirtualBox는 게스트 OS에서 하드웨어 VM을 제공하지 않습니다 ). VirtualBox를 사용하면 최상위 게스트가 64 비트이고 "실제"호스트에 하드웨어 VM이있는 경우에도 32 비트 "중첩 게스트"OS 만 만들 수 있습니다.

당신을 위해 showtopper가 아닐 수도 있지만 주목할 가치가 있습니다. Chef cookbook 테스트를 위해 Windows의 Ubuntu 게스트에서 Vagrant를 실행하려면 이것이 필요했습니다.


Windows 호스트의 Ubuntu 게스트에서 Vagrant를 실행할 수 있었습니까?
wisbucky

2
@ wisbucky 예, 32 비트 모드에서는 실행할 수 있지만 64 비트에서는 실행할 수 없습니다. 모든 프로덕션 시스템은 64 비트이기 때문에 완벽한 테스트는 아니지만 여전히 잘 작동했습니다.
Toby J

3
컨테이너가 하드웨어 가상화에 의존하지 않기 때문에 Vagrantup.com/docs/docker 와 같이 Vagrant 용 Docker 공급자를 사용하여 Ubuntu VM 내에서 64 비트 Vagrant 상자를 실행할 수 있습니다 . 그래도 사용중인 Vagrant 상자가이를 지원해야합니다.
Brendan

@Brendan, 특정 64 비트 프로그램을 실행 해야하는 경우가 아니라면 32 비트 가상 상자를 실행하는 것과 비교하여 도커 컨테이너를 사용하면 성능이 동일합니까?
serup

11

Linux-KVM은 중첩 가상 머신을 지원합니다. KVM IRC 채널에 요청하여 다음 정보를 얻었습니다 (그러나 내 말을하지 말고 직접 시도하십시오).

  • AMD CPU는 잘 작동하고 Xen 및 Hyper-V를 사용하는 게스트는 작동하는 것으로 알려져 있습니다.
  • 인텔 CPU에는 최신 KVM Git 소스 코드가 필요하며 KVM을 사용하는 게스트 만

나는 이것을 직접 시도하지 않았다. "KVM nested"를 검색하면 충분한 정보를 얻을 수 있습니다.

편집 : KVM은 Linux 호스트에서만 실행됩니다. 적절한 중첩 VM 지원과 관련하여 Windows 가상화 소프트웨어에 대한 신뢰할 수있는 정보를 얻지 못했습니다. '적절한'이란 하이퍼 바이저가 가상화 확장을 게스트에 노출한다는 것을 의미합니다. 순수한 소프트웨어 하이퍼 바이저 (예 : 동적 변환)를 사용하여 중첩 된 VM을 항상 실행할 수 있지만 속도가 현저하게 느려집니다.

편집 : 언급 한 Bochs는 소프트웨어 전용 하이퍼 바이저입니다. 이는 항상 속도가 느리다는 것을 의미하며 호스트의 하이퍼 바이저가 게스트에 가상화 확장을 노출하는 경우 (KVM과 같이) 관련이 없습니다. 그러나 대부분의 다른 가상화 소프트웨어 (KVM, VirtualBox, VMWare)는 이러한 확장을 사용할 수 있으며 사용 가능한 경우 성능이 훨씬 향상됩니다.


두 번째 편집으로 : Bochs를 실행하려고한다면 (느린 경우 너무 신경 쓰지 않는다면) KVM에 대해 걱정해야합니까?
Javier

가상 머신 내에서 Bochs를 실행하는 경우 하드웨어에서 가상 머신을 실행하는 것처럼 느리게 진행됩니다 (하드웨어에 가상화 확장 (예 : AMD-v 또는 VT-x)이 있고 BIOS에서 활성화 된 경우). VM의 모든 항목과 마찬가지로 속도가 느려집니다).
Ambroz Bizjak

Windows 가상화와 관련하여 ... 가능할 것으로 보이지만 (2016 년 6 월 현재) HyperV-on-HyperV, "Windows Insider"OS 빌드 및 Intel 하드웨어에서만 작동합니다. 에서 msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/...
마크

3

가능하지만 특히 개발에는 적합하지 않습니다. Linux를 기본 OS로 실행하거나 VM을 호스팅 할 두 번째 상자를 얻는 것이 좋습니다.


복잡 할 가능성이 높다는 것을 알고 있지만 "아주 실행 가능하지 않다"는 것은 무엇을 의미합니까?
Javier

1
@peelman은 "실제 목적으로는 너무 느리다"는 것을 의미한다고 생각합니다. 나는 그것을 직접 시도하지 않았다.
CarlF

정확하게 @carlf.
peelman

1

이 프로세스에 대한 자세한 설명은이 페이지에 있습니다 : https://wiki.openstack.org/wiki/XenServer/VirtualBox

VirtualBox 시스템 네트워크 카드에서는 모두 무차별 모드 및 기타 여러 옵션에서 모두 허용을 설정해야하며 vm 내부의 OS (예 : vm 내부의 Xenserver, VirtualBox)를 가질 수 있습니다.


1

, 가상 머신에서 가상 머신을 실행할 수 있습니다. 내가 한 것은 Windows 7 Ultimate x64 컴퓨터를 가져 와서 가상 컴퓨터에서 동일한 OS를 실행 한 다음 3 번째 레이어에서 32 비트 버전 (3 번째 레이어에서 64 비트를 처리 할 수 ​​없음)을 실행하는 것입니다. 그것은 꽤 게으르다. 그러나 나는 그것으로 인터넷 탐험가에 뉴욕 시간에 도착할 수 있었다. 강력한 컴퓨터가 없지만 가벼운 운영 체제 인 Linux 및 Bochs를 실행하는 경우에는 어려울 수 있으므로 가능해야합니다.


-2

, 컴퓨터가 컴퓨터를 처리 할 수있을만큼 강력 할 수 있습니다.

내 컴퓨터 (i7 4770S, 16GB RAM)에서 4.5의 VM 인식 수준을 얻었습니다 (마지막 시간 절반의 충돌).

VirtualBox는 VM-x를 에뮬레이트하는 것을 좋아하지 않아 VMware Player 12를 사용했습니다. 지금은 XP에서 W2K가 작동하도록 노력하고 있지만 VMware는 설치할 수 없습니다. VirtualBox는 BSOD를 생성하므로 QEMU를 사용하려고합니다.

이 스크린 샷을 참조하십시오 (내가 본 가장 아름다운 스크린 샷 중 하나).

여기에 이미지 설명을 입력하십시오


이 답변은 어떤 새로운 정보를 제공합니까?
Ramhound
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.