VirtualBox - tamu XP tidak melihat banyak inti / banyak prosesor

13

Lingkungan Hidup:

  • OS Host: Win7 Pro 64bit
  • OS Tamu: WinXP 32bit
  • Versi VirtualBox: 4.1.4r74291
  • Prosesor: Intel Core i7 2630QM dengan virtualisasi diaktifkan

Masalah:

Saya perlu sistem tamu untuk menggunakan beberapa core. Saya telah mengaktifkan opsi berikut di VirtualBox:

  • IO APIC (tab motherboard)
  • PAE / NX (tab prosesor)
  • VT-x / AMD-V (akselerasi)
  • pager bersarang (akselerasi)

Semua opsi lain pada submenu Sistem diaktifkan. Slider 'prosesor' diatur ke 8.

Masalahnya adalah bahwa sistem tamu berjalan dengan benar, tetapi hanya satu prosesor / inti yang terlihat.

lbednaszynski
sumber

Jawaban:

7

XP memiliki 2 HAL berbeda yang digunakan untuk prosesor multi dan tunggal. Jika Anda menginstal XP ketika lingkungan virtual hanya memiliki satu prosesor maka Anda mungkin harus mengubah HAL atau menginstal ulang.

Anda dapat menemukan instruksi tentang cara mengubah HAL di Microsoft situs pendukung .

Anda harus memilih opsi multiprosesor ACPI.

Matthew Steeples
sumber
baik situs Microsoft mengatakan bahwa WinXP harus secara otomatis mengubah HAL - saya tidak. Anehnya, ketika saya memeriksa manajer perangkat saya ada 8 prosesor, tetapi dalam tugas menager saya hanya bisa melihat 1. Jadi saya menginstal ulang sistem dan tadam - semuanya baik-baik saja. Terima kasih!
lbednaszynski
24

Saya memiliki masalah yang sama, dan saya menemukan ini: http://www.nforcershq.com/forum/updating-the-hal-for-multiprocessor-support-t70331.html

Saya mengunduh devcon utilitas dari Microsoft dan mengeluarkan perintah-perintah ini:

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

Lalu saya reboot dan sekarang XP dapat melihat semua 4 core.

Buat cadangan dari gambar sebelum memulai jika sistem tidak mau boot lagi!

dawez
sumber
4
Ini bekerja dengan baik untuk saya. Saya mendapatkan VM Kotak Virtual saya untuk akhirnya melihat CPU ke-2.
CadentOrange
2
Cepat, mudah, dan dilakukan pada WinXP SP3.
Fiasco Labs
1
Jawaban singkat dan bagus, terima kasih! Bekerja untuk saya pada dua kesempatan. Catatan: Saya tidak dapat boot Win XP setelah melakukan ini sampai saya benar-benar mengatur mesin virtual untuk memiliki lebih dari 1 CPU Anda juga dapat menambahkan lebih banyak CPU di kemudian hari dan mereka akan terdeteksi dengan benar.
jlh
Jadi, jika saya mengerti dengan benar, setelah melakukan peretasan ini VM tidak akan berfungsi lagi dengan 1 CPU, @jlh?
Sopalajo de Arrierez
3

Masalah inti (pun intended) adalah bahwa Windows XP berisi dua kernel: single-core dan multi-core. Kemungkinan, OS tamu hanya mendeteksi 1-core selama instalasi dan tamu Windows XP Anda berjalan pada core dan hal tunggal. Ikuti petunjuk di bawah ini untuk mengaktifkan booting dengan hal dan kernel multi-core.

Ini bekerja untuk saya (VirtualBox XP Pro) ...

1) Masuk ke c: \ windows (jalur instal Anda), cari sp3.cab. Buka file cab ini dengan 7-zip (walaupun explorer mungkin dapat membuka file tersebut secara asli, jika tidak bisa mengunduh 7-zip dari sourceforge)

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

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

3) Edit c: \ boot.ini

Catatan: Anda harus menghapus centang properti Read-only sehingga Anda dapat menyimpan   perubahan Anda. Atur kembali ke Read-only setelah selesai.

Salin garis yang terlihat seperti ini:

multi (0) disk (0) rdisk (0) partisi (1) \ WINDOWS = "Microsoft Windows XP   Profesional "/ fastdetect / NoExecute = OptIn

Buat entri yang disalin terlihat seperti ini:

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

Sekarang Anda memiliki opsi dual-boot untuk menggunakan tunggal atau multicore (TaskManager akan menampilkan dua grafik CPU jika ini berhasil). Jika multicore melakukan booting dan berfungsi dengan baik, maka Anda dapat menghapus entri inti tunggal dari boot.ini.

James
sumber