VirtualBox-XP 게스트에 여러 코어 / 다중 프로세서가 표시되지 않음


13

환경:

  • 호스트 OS : Win7 Pro 64bit
  • 게스트 OS : WinXP 32 비트
  • VirtualBox 버전 : 4.1.4r74291
  • 프로세서 : 가상화가 활성화 된 Intel Core i7 2630QM

문제 :

여러 코어를 사용하려면 게스트 시스템이 필요합니다. VirtualBox에서 다음 옵션을 활성화했습니다.

  • IO APIC (마더 보드 탭)
  • PAE / NX (프로세서 탭)
  • VT-x / AMD-V (가속)
  • 중첩 된 페이징 (가속)

시스템 하위 메뉴의 다른 모든 옵션이 전환됩니다. '프로세서'슬라이더가 8로 설정되어 있습니다.

문제는 게스트 시스템이 올바르게 실행되지만 프로세서 / 코어가 하나만 표시된다는 것입니다.

답변:


7

XP에는 다중 및 단일 프로세서에 사용되는 2 개의 서로 다른 HAL이 있습니다. 가상 환경에 프로세서가 하나만있을 때 XP를 설치 한 경우 HAL을 변경하거나 다시 설치해야 할 수 있습니다.

Microsoft 지원 사이트 에서 HAL을 변경하는 방법에 대한 지침을 찾을 수 있습니다 .

ACPI 멀티 프로세서 옵션을 선택해야합니다.


잘 Microsoft 사이트에 따르면 WinXP가 자동으로 HAL을 변경해야한다고합니다. 이상한 점은 장치 관리자를 확인했을 때 8 개의 프로세서가 있었지만 menager 작업에서는 1 만 볼 수 있었기 때문에 시스템과 tadam을 다시 설치했습니다. 감사!
lbednaszynski

24

나는 비슷한 문제를 겪었고 이것에 빠져 들었다 : http://www.nforcershq.com/forum/updating-the-hal-for-multiprocessor-support-t70331.html

devconMicrosoft 에서 유틸리티를 다운로드하여 다음 명령을 발행했습니다.

  1. devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
  2. devcon update c:\windows\inf\hal.inf acpiapic_mp

그런 다음 재부팅하여 XP에서 4 개의 코어를 모두 볼 수 있습니다.

시스템이 더 이상 부팅되지 않을 경우를 대비하여 시작하기 전에 이미지를 백업 하십시오!


4
이것은 나를 위해 잘 작동했습니다. 마침내 가상 박스 VM이 두 번째 CPU를 보게되었습니다.
CadentOrange

2
WinXP SP3에서 빠르고 쉽게 수행됩니다.
Fiasco Labs

1
짧고 좋은 답변, 감사합니다! 두 번이나 나를 위해 일했습니다. 참고 : 실제로 가상 시스템이 둘 이상의 CPU를 갖도록 설정할 때까지이 작업을 수행 한 후 Win XP를 부팅 할 수 없었습니다. 또한 나중에 더 많은 CPU를 추가 할 수 있으며 제대로 감지됩니다.
jlh

따라서 올바르게 이해하면이 해킹을 수행 한 후 VM이 더 이상 CPU 1 개에서 작동하지 않습니다.
Sopalajo de Arrierez

3

핵심 (pun 의도 된) 문제는 Windows XP에 단일 코어와 다중 코어라는 두 개의 커널이 포함되어 있다는 것입니다. 아마도 게스트 OS는 설치 중에 1 코어 만 감지했으며 Windows XP 게스트는 단일 코어 정지 및 커널에서 실행 중입니다. 멀티 코어 hal 및 커널로 부팅 할 수 있도록하려면 아래 지침을 따르십시오.

이것은 나를 위해 일했습니다 (VirtualBox XP Pro) ...

1) c : \ windows (설치 경로)로 이동하여 sp3.cab을 검색하십시오. 이 cab 파일을 7-zip으로 엽니 다 (소스 탐색기에서 7-zip을 다운로드 할 수없는 경우 탐색기가 파일을 기본적으로 열 수는 있지만).

2) a) Extract halmacpi.dll to c:\windows\system32

비) Extract ntkrnlmp.exe to c:\windows\system32

3) c : \ boot.ini 편집

참고 : 변경 사항을 저장하려면 읽기 전용 특성을 선택 취소해야합니다. 완료되면 다시 읽기 전용으로 설정하십시오.

다음과 같은 줄을 복사하십시오.

멀티 (0) 디스크 (0) rdisk (0) 파티션 (1) \ WINDOWS = "Microsoft Windows XP Professional"/ fastdetect / NoExecute = OptIn

복사 된 항목을 다음과 같이 만드십시오.

multi (0) disk (0) rdisk (0) 파티션 (1) \ WINDOWS = "Microsoft Windows XP MultiCore"/ fastdetect / NoExecute = OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll

이제 단일 또는 멀티 코어를 활용할 수있는 이중 부팅 옵션이 있습니다 (성공한 경우 TaskManager에 두 개의 CPU 그래프가 표시됨). 멀티 코어가 부팅되어 제대로 작동하면 boot.ini에서 단일 코어 항목을 삭제할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.