Làm cách nào để kích hoạt nhiều bộ xử lý trên XP SP 3?


13

Tôi đã có một máy tính xách tay Lenovo n100 được 3 năm tuổi. Nó khởi động kép Windows XP gốc đi kèm với nó và Ubuntu, và bây giờ tôi mới nhận thấy rằng bản cài đặt XP, trên Trình quản lý tác vụ, chỉ hiển thị 1 CPU.

Trình quản lý thiết bị hiển thị 2 bộ xử lý (đó là bộ đôi lõi T2300), nhưng có vẻ như một trong số chúng không được sử dụng. Googling đã chỉ ra rằng SP2 cần một bản sửa lỗi nóng cụ thể để kích hoạt tính năng này, nhưng không có gì hiển thị trên SP3 và khi tôi tải xuống bản sửa lỗi nóng nói trên, nó từ chối cài đặt, nói rằng tôi có một giải pháp mới hơn.

(Chỉ để làm cho mọi thứ rõ ràng, tôi đã kiểm tra và không phải Trình quản lý tác vụ hiển thị tất cả các CPU trong cùng một biểu đồ.)

Có ai biết làm thế nào để sửa lỗi này?

Câu trả lời:


5

Chạy tiện ích msconfig, chuyển đến tab BOOT.INI, sau đó nhấp vào Nâng cao.

Hộp kiểm NUMPROC phải được bỏ chọn để sử dụng tất cả các bộ xử lý.
Để kiểm tra, hãy thử kiểm tra và xem danh sách thả xuống chứa gì.
Nếu nó chỉ chứa giá trị 1, thì có gì đó thực sự sai.

hình ảnh

LƯU Ý: Câu trả lời này là từ năm 2009, vui lòng đối xử với nó đối với tuổi già của nó.
Đặc biệt: Không downvote, xin vui lòng.


Nó không được kiểm tra và kiểm tra xem nó có hiển thị 2 CPU không. Còn ý tưởng nào khác không?
abyx

1
@abyx: thử kiểm tra /NUMPROChộp và chọn cụ thể tùy chọn 2 CPU. khởi động lại. Điều đó có cho phép sử dụng cả hai lõi không?
quack quixote

@ ~ quạc - đã làm mánh khóe!
abyx

Sau đó, câu hỏi là tại sao nó cần phải được đặt rõ ràng vì nó không cần phải. Có lẽ đó là một vấn đề trình điều khiển? Có lẽ Computermục trong Trình quản lý thiết bị không chính xác?
Synetech

@Synetech inc.: Tôi không nghĩ bạn sẽ có thêm thông tin từ bài đăng 2 tháng tuổi.
harrymc

23

Điều này đã làm việc cho chúng tôi (từ: http://www.pcreview.co.uk/forums/change-hal-out-reinstall-t2562052.html ):

  1. Vô hiệu hóa ký trình điều khiển (Máy tính của tôi> Thuộc tính> Phần cứng ...)

  2. Chạy dòng lệnh này chính xác:

    rundll32 syssetup,SetupInfObjectInstallAction ACPIAPIC_MP_HAL 128 %windir%\inf\hal.inf
    

1
Yêu cầu khởi động lại 2 lần và mọi thứ hoạt động như một cơ duyên - cảm ơn !!!
Matthias Hryniszak

Điều này hoạt động khi tôi hình dung một máy vật lý từ bản sao lưu của chúng tôi.
Jeff F.

cái này hoạt động trên máy ảo XP cũ, tôi cũng không cần phải tắt trình điều khiển!
Jeff Atwood

Đây là câu trả lời tốt nhất.
Igor Levicki

8

Đ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 Read-onlytính để 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.


Tôi tò mò, chính xác thì nó hoạt động thế nào? Việc thêm vào /kernel=ntkrnlmp.exe /hal=halmacpi.dlllàm gì để buộc nó hiển thị tất cả các lõi CPU? Nhân tiện, chào mừng bạn đến với Siêu người dùng :)
nhinkle

Theo những gì tôi hiểu, điều này buộc Windows phải sử dụng nhân đa lõi: ntkrnlmp.exe và lớp trừu tượng phần cứng: halmacpi.dll. Có khả năng hệ thống đã được cài đặt bằng kernel lõi đơn và HAL.
James

+1 cho cái này! Tôi thấy điều này rất hữu ích. Tôi chỉ cần đề cập rằng tôi đã mắc lỗi khi chỉnh sửa boot.ini và VM của tôi không sử dụng được (cần chỉnh sửa boot.ini bằng hệ điều hành máy chủ để khôi phục nó) vì vậy hãy chỉnh sửa cẩn thận!
Eugenio Miró

Đến buổi tiệc bình luận, nhưng đúng vậy, sao lưu luôn là một ý tưởng hay! Chỉ cần sao chép nó vào boot.ini.orighoặc một cái gì đó tương tự. Nhưng có, nếu bạn vòi nó sẽ cần một số công cụ phục hồi. Một hình ảnh CD trực tiếp linux sẽ hoạt động tốt, chỉ cần gắn nó làm thiết bị CD của bạn trong VirtualBox.
James

Nếu bạn thấy thông báo lỗi sau khi khởi động: Windows could not start because the following file is missing or corrupt: <Windows root>\system32\hal.dll. Please re-install a copy of the above file.thì ... mặc dù lỗi nói rằng bạn hal.dllđang thiếu, bạn quên sao chép halmacpi.dllntkrnlmp.exetệp vào C:\Windows\System32thư mục. Đây cũng có thể được sao chép từ C:\Windows\ServicePackFiles\i386thư mục.
Luôn luôn học tập vào

4

Đây là một khả năng khác.

Bạn đã cài đặt phiên bản đơn bộ xử lý hoặc đa bộ xử lý của XP chưa?

Các hệ thống bộ xử lý có kernel ntoskrnl.exe, trong khi các hệ thống đa bộ xử lý có ntkrnlmp.exe trong C: \ WINDOWS \ system32.

Cũng trong Trình quản lý thiết bị, mở rộng Máy tính. Bạn sẽ thấy "PC đa xử lý ACPI". Nếu bạn đang xem "PC Cấu hình nâng cao và Giao diện nguồn (ACPI)" thì điều này là sai.

Bạn thấy gì?
Nếu một trong hai kiểm tra trên sai, bạn sẽ phải cài đặt lại XP.

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.