VirtualBox - XP konukları birden fazla çekirdek / çoklu işlemci görmüyor


13

Çevre:

  • Ana İşletim Sistemi: Win7 Pro 64bit
  • Konuk İşletim Sistemi: WinXP 32bit
  • VirtualBox sürümü: 4.1.4r74291
  • İşlemci: Sanallaştırma özellikli Intel Core i7 2630QM

Sorun:

Birden fazla çekirdek kullanmak için konuk sistemine ihtiyacım var. VirtualBox'da aşağıdaki seçenekleri etkinleştirdim:

  • IO APIC (anakart sekmesi)
  • PAE / NX (işlemci sekmesi)
  • VT-x / AMD-V (hızlanma)
  • iç içe sayfalama (hızlanma)

Sistem alt menüsündeki diğer tüm seçenekler değiştirilir. 'İşlemciler' kaydırıcısı 8 olarak ayarlanmıştır.

Sorun konuk sistem düzgün çalışıyor, ancak yalnızca bir işlemci / çekirdek görünür.

Yanıtlar:


7

XP'de çoklu ve tekli işlemci için kullanılan 2 farklı HAL vardır. Sanal ortamda yalnızca bir işlemci varken XP yüklediyseniz HAL'yi değiştirmeniz veya yeniden yüklemeniz gerekebilir.

HAL'nin nasıl değiştirileceğine ilişkin talimatları Microsoft'un destek sitesinde bulabilirsiniz .

ACPI çok işlemcili seçeneğini belirlemeniz gerekir.


iyi Microsoft sitesi WinXP otomatik olarak HAL değiştirmek gerektiğini söylüyor - benim değil. Garip bir şey, cihaz yöneticime baktığımda 8 işlemci vardı, ama görev yöneticisi sadece 1'i görebiliyordum. Bu yüzden sistemi ve tadam'ı yeniden kurdum - her şey yolunda. Teşekkürler!
lbednaszynski

24

Benzer bir sorunum vardı ve bunun üzerine tökezledim: http://www.nforcershq.com/forum/updating-the-hal-for-multiprocessor-support-t70331.html

devconYardımcı programı Microsoft'tan indirdim ve şu komutları verdim :

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

Sonra yeniden başlattım ve şimdi XP 4 çekirdeğin hepsini görebiliyor.

Sistemin artık önyükleme yapmaması durumunda görüntüyü yedekleyin !


4
Bu benim için iyi çalıştı. Sonunda 2. CPU'yu görmek için Virtual Box VM'mi aldım.
CadentOrange

2
WinXP SP3'te hızlı, kolay ve bitti.
Fiasco Labs

1
Kısa ve iyi cevap, teşekkürler! Benim için iki kez çalıştı. Not: Sanal makineyi aslında 1'den fazla CPU'ya ayarlayana kadar bunu yaptıktan sonra Win XP'yi önyükleyemedim. Ayrıca, daha sonra daha fazla CPU ekleyebilirsiniz ve bunlar doğru şekilde algılanacaktır.
JLH

Yani, doğru anladıysam, bu hack yaptıktan sonra VM artık 1 CPU ile çalışmaz, @jlh?
Sopalajo de Arrierez

3

Temel (pun planlı) sorun, Windows XP'nin iki çekirdek içermesidir: tek çekirdekli ve çok çekirdekli. Büyük olasılıkla, konuk işletim sistemi yükleme sırasında yalnızca 1 çekirdekli algıladı ve Windows XP misafiriniz tek çekirdekli hal ve çekirdek üzerinde çalışıyor. Çok çekirdekli hal ve çekirdek ile önyüklemeyi etkinleştirmek için aşağıdaki talimatları izleyin.

Bu benim için çalıştı (VirtualBox XP Pro) ...

1) c: \ windows'a (kurulum yolunuz) gidin, sp3.cab dosyasını arayın. Bu taksi dosyasını 7-zip ile açın (explorer dosyayı yerel olarak açabilir, ancak daha sonra sourceforge'dan 7-zip'i indiremez).

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

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

3) c: \ boot.ini dosyasını düzenleyin

Not: Değişikliklerinizi kaydedebilmeniz için Salt Okunur özelliğinin işaretini kaldırmanız gerekir. Tamamlandığında Salt okunur olarak ayarlayın.

Şöyle görünen satırı kopyalayın:

multi (0) disk (0) rdisk (0) bölümü (1) \ WINDOWS = "Microsoft Windows XP Professional" / fastdetect / NoExecute = OptIn

Kopyalanan girdinin şu şekilde görünmesini sağlayın:

multi (0) disk (0) rdisk (0) bölümü (1) \ WINDOWS = "Microsoft Windows XP MultiCore" / fastdetect / NoExecute = OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll

Artık tek veya çok çekirdekli kullanmak için çift önyükleme seçeneğiniz var (bu başarılı olursa TaskManager iki CPU grafiği gösterecektir). Çok çekirdekli önyükleme yapar ve düzgün çalışırsa, boot.ini dosyasındaki tek çekirdek girdisini silebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.