VirtualBox - XP khách không thấy nhiều lõi / nhiều bộ xử lý


13

Môi trường:

  • Hệ điều hành máy chủ: Win7 Pro 64 bit
  • Hệ điều hành khách: WinXP 32 bit
  • Phiên bản VirtualBox: 4.1.4r74291
  • Bộ xử lý: Intel Core i7 2630QM có bật ảo hóa

Vấn đề:

Tôi cần hệ thống khách để sử dụng nhiều lõi. Tôi đã kích hoạt các tùy chọn sau trong VirtualBox:

  • IO APIC (tab bo mạch chủ)
  • PAE / NX (tab bộ xử lý)
  • VT-x / AMD-V (tăng tốc)
  • phân trang lồng nhau (tăng tốc)

Tất cả các tùy chọn khác trên menu con Hệ thống được chuyển sang. Thanh trượt 'bộ xử lý được đặt thành 8.

Vấn đề là hệ thống khách chạy chính xác, nhưng chỉ có một bộ xử lý / lõi được hiển thị.

Câu trả lời:


7

XP có 2 HAL khác nhau được sử dụng cho bộ xử lý đa và đơn. Nếu bạn đã cài đặt XP khi môi trường ảo chỉ có một bộ xử lý thì bạn có thể phải thay đổi HAL hoặc cài đặt lại.

Bạn có thể tìm thấy hướng dẫn về cách thay đổi HAL trên trang web hỗ trợ của Microsoft .

Bạn sẽ cần chọn tùy chọn đa bộ xử lý ACPI.


Trang web của Microsoft cũng nói rằng WinXP sẽ tự động thay đổi HAL - tôi thì không. Điều kỳ lạ, khi tôi kiểm tra trình quản lý thiết bị của mình, có 8 bộ xử lý, nhưng trong trình điều khiển tác vụ, tôi chỉ có thể thấy 1. Vì vậy, tôi đã cài đặt lại hệ thống và tadam - mọi thứ đều ổn. Cảm ơn!
lbednaszynski

24

Tôi đã có một vấn đề tương tự, và tôi đã vấp phải điều này: http://www.nforcershq.com/forum/updating-the-hal-for-multiprocessor-support-t70331.html

Tôi đã tải xuống devcontiện ích từ Microsoft và ban hành các lệnh sau:

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

Sau đó, tôi khởi động lại và bây giờ XP có thể thấy cả 4 lõi.

Tạo một bản sao lưu của hình ảnh trước khi bắt đầu trong trường hợp hệ thống sẽ không khởi động nữa!


4
Điều này làm việc tốt cho tôi. Tôi đã nhận được Virtual Box VM để cuối cùng thấy CPU thứ 2.
CadentOrange

2
Nhanh chóng, dễ dàng và được thực hiện trên WinXP SP3.
Phòng thí nghiệm Fiasco

1
Câu trả lời ngắn gọn và tốt, cảm ơn bạn! Làm việc cho tôi hai lần. Lưu ý: Tôi không thể khởi động Win XP sau khi thực hiện việc này cho đến khi tôi thực sự thiết lập máy ảo có nhiều hơn 1 CPU. Ngoài ra, bạn có thể thêm nhiều CPU sau này và chúng sẽ được phát hiện đúng.
jlh

Vì vậy, nếu tôi đã hiểu chính xác, sau khi thực hiện việc hack này, VM sẽ không hoạt động nữa với 1 CPU, @jlh?
Sopalajo de Arrierez

3

Vấn đề cốt lõi (ý định chơi chữ) là Windows XP chứa hai hạt nhân: lõi đơn và đa lõi. Có khả năng, HĐH khách chỉ phát hiện 1 lõi trong khi cài đặt và máy khách Windows XP của bạn đang chạy trên nhân và lõi đơn. Thực hiện theo các hướng dẫn bên dưới để cho phép khởi động với hal và kernel đa lõi.

Điều này làm việc cho tôi (VirtualBox XP Pro) ...

1) Đi vào c: \ windows (đường dẫn cài đặt của bạn), tìm kiếm sp3.cab. Mở tệp cab này bằng 7-zip (mặc dù explorer có thể tự mở tệp, nếu không thể tải xuống 7-zip từ sourceforge).

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

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

3) Chỉnh sửa c: \ boot.ini

Lưu ý: Bạn sẽ cần bỏ chọn thuộc tính Chỉ đọc để bạn có thể lưu các thay đổi của mình. Đặt lại thành Chỉ đọc khi hoàn thành.

Sao chép dòng trông như thế này:

phân vùng nhiều (0) đĩa (0) rdisk (0) (1) \ WINDOWS = "Microsoft Windows XP Professional" / fastdetect / NoExecute = OptIn

Làm cho mục được sao chép trông như thế này:

nhiều (0) đĩa (0) phân vùng (0)

Bây giờ bạn có tùy chọn khởi động kép để sử dụng đơn hoặc đa lõi (Trình quản lý tác vụ sẽ hiển thị hai biểu đồ CPU nếu điều này thành công). Nếu đa lõi khởi động và hoạt động đúng, thì bạn có thể xóa mục nhập lõi đơn khỏi boot.ini.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.