Lỗi Print Spooler kẹt cứng trên Windows 11: Nguyên nhân ngầm và cách dọn dẹp tận gốc

Lỗi Print Spooler kẹt cứng trên Windows 11: Nguyên nhân ngầm và cách dọn dẹp tận gốc

Chia sẻ:

Bạn bấm in, hộp thoại báo đã gửi lệnh, nhưng máy in im lìm và biểu tượng hàng đợi cứ xoay mãi. Bấm Cancel thì tài liệu vẫn nằm đó với trạng thái Deleting. Thủ phạm trong đa số tình huống này là dịch vụ Print Spooler, thành phần trung gian tiếp nhận và điều phối mọi lệnh in trên Windows 11. Khi nó kẹt, toàn bộ hàng đợi in đóng băng theo, bất kể bạn dùng máy in nào. Trong bài này, mình sẽ phân tích các dấu hiệu nhận diện, nguyên nhân ngầm phía sau và các phương án dọn dẹp tận gốc, từ services.msc đến dòng lệnh PowerShell.

Dấu hiệu nhận biết Print Spooler kẹt cứng trên Windows 11

Dấu hiệu thứ nhất và phổ biến nhất là hàng đợi in đóng băng. Bạn mở Settings, vào Bluetooth & devices, Printers & scanners, chọn máy in rồi bấm Open print queue: một hoặc nhiều tài liệu nằm ở trạng thái Printing hay Error nhưng số trang không nhúc nhích. Lệnh in mới gửi xếp phía sau và cũng bất động. Nếu chỉ một tài liệu treo mà các lệnh khác vẫn chạy, bản chất vấn đề nằm ở file cụ thể chứ không phải Print Spooler.

Dấu hiệu nhận biết Print Spooler kẹt cứng trên Windows 11

Dấu hiệu thứ hai là xóa lệnh không được. Bạn bấm Cancel, tài liệu chuyển sang Deleting rồi đứng nguyên hàng giờ. Đây là biểu hiện đặc trưng khi Print Spooler không thể truy cập hoặc không thể giải phóng file spool trên ổ đĩa. Khởi động lại máy in không có tác dụng, vì lệnh treo nằm ở phía laptop chứ không nằm trong bộ nhớ máy in.

Dấu hiệu thứ ba nằm trong Task Manager: tiến trình spoolsv.exe chiếm CPU cao bất thường hoặc dung lượng bộ nhớ tăng liên tục dù bạn không in gì. Mình từng gặp trường hợp spoolsv.exe ngốn trọn một nhân CPU suốt buổi chiều chỉ vì một file spool hỏng bị nạp đi nạp lại. Kèm theo đó, hiệu năng chung suy giảm: Word hay Chrome mở hộp thoại Print rất chậm, thậm chí treo vài giây, vì chúng phải chờ Print Spooler phản hồi danh sách máy in.

Nguyên nhân ngầm khiến hàng đợi in đóng băng và spoolsv.exe ngốn CPU

Theo tài liệu Print Spooler Architecture trên Microsoft Learn, spooler tiếp nhận luồng dữ liệu từ ứng dụng, ghi tạm ra file (spooling), rồi chuyển đổi sang định dạng máy in hỗ trợ như PCL và gửi đi. Mỗi lệnh in vì thế sinh ra hai file trong thư mục C:\Windows\System32\spool\PRINTERS: file .spl chứa dữ liệu trang và file .shd chứa thông tin mô tả lệnh. Chỉ cần một trong hai file này hỏng, spooler đọc mãi không xong và toàn bộ hàng đợi in phía sau bị chặn.

File spool hỏng thường xuất hiện khi laptop mất điện hoặc ngủ đông giữa lúc đang in, khi tài liệu PDF quá nặng hoặc chứa font lỗi, hoặc khi dung lượng ổ hệ thống gần cạn. Điểm mấu chốt là Windows 11 không tự dọn các file này lúc khởi động; chúng nằm nguyên ở đó và tiếp tục gây kẹt cho tới khi bạn xóa thủ công. Vì thế, khởi động lại laptop chỉ có tác dụng tạm thời nếu file hỏng vẫn còn.

Nguyên nhân ngầm khiến hàng đợi in đóng băng và spoolsv.exe ngốn CPU

Nguyên nhân thứ hai là xung đột trình điều khiển. Windows hiện duy trì song song hai mô hình driver in: v3 truyền thống và v4 mới hơn, được Microsoft mô tả là bản tinh chỉnh của v3 nhằm giảm chi phí quản trị và hỗ trợ ứng dụng UWP. Nhiều laptop cài chồng driver hãng (thường là phiên bản v3) lên driver lớp v4 hoặc driver IPP có sẵn của hệ điều hành, hai bên tranh nhau cùng một cổng, và Print Spooler rơi vào trạng thái chờ vô hạn.

Nguyên nhân thứ ba ít người để ý: driver in đời cũ chạy trong cùng tiến trình với spooler. Microsoft đã đưa cơ chế Printer Driver Isolation vào từ Windows 7 theo nguyên lý tách driver ra tiến trình riêng, nhưng driver v3 cũ vẫn có thể yêu cầu chạy chung. Khi driver ấy lỗi, nó kéo sập luôn spoolsv.exe, và bạn thấy dịch vụ tự dừng hoặc tự khởi động lại liên tục trong Event Viewer.

PrintNightmare và chính sách Point and Print làm Print Spooler chặn driver

Tháng 7 năm 2021, lỗ hổng CVE-2021-34527, được giới bảo mật gọi là PrintNightmare, cho phép kẻ tấn công lợi dụng Print Spooler để thực thi mã từ xa với quyền SYSTEM. Microsoft phản ứng bằng cách siết chặt cơ chế Point and Print: từ bản cập nhật ngày 10 tháng 8 năm 2021 (tài liệu KB5005652), việc cài hoặc cập nhật driver máy in từ máy chủ in mặc định yêu cầu quyền quản trị. Chính sách này vẫn được duy trì nguyên vẹn trên Windows 11 hiện nay.

Khóa registry Giá trị Ý nghĩa theo KB5005652
HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint, DWORD RestrictDriverInstallationToAdministrators 1 hoặc không tồn tại Chỉ quản trị viên được cài driver qua Point and Print. Mặc định từ bản vá 10/08/2021, ghi đè mọi Group Policy về Point and Print.
Cùng khóa trên 0 Cho phép tài khoản thường cài driver từ máy chủ in. Microsoft cảnh báo thiết bị dễ bị tấn công, chỉ dùng tạm thời.
Thay đổi giá trị Không cần khởi động lại Có hiệu lực ngay; Windows Update không tự đặt hay thay đổi khóa này.

Hệ quả với bạn: laptop văn phòng kết nối máy in chia sẻ qua mạng nội bộ có thể nhận thông báo yêu cầu quyền admin, hoặc lặng lẽ thất bại khi máy chủ in cập nhật driver mới. Lệnh in gửi đi vẫn vào hàng đợi in, nhưng spooler không nạp được driver tương ứng nên tài liệu treo ở trạng thái Error. Nhiều hướng dẫn trên mạng khuyên đặt RestrictDriverInstallationToAdministrators về 0; Microsoft cảnh báo rõ giá trị 0 khiến thiết bị trở nên nhạy cảm với tấn công và chỉ nên dùng tạm thời.

Phương án an toàn hơn là cài driver trực tiếp trên laptop bằng tài khoản quản trị, chọn đúng phiên bản driver ứng với máy chủ in, hoặc chuyển sang kết nối IPP với driver lớp có sẵn của Windows 11. Nếu bạn thắc mắc vì sao driver mới tải về lại hiển thị ngày tháng rất cũ trong Device Manager, bài Microsoft giải đáp bí ẩn lý do driver Windows thường hiển thị ngày tháng lạ trên reviewlaptop.vn giải thích khá kỹ cách Windows xếp hạng driver.

Dọn hàng đợi in tận gốc bằng services.msc và thư mục PRINTERS

Quy trình chuẩn gồm ba bước theo đúng thứ tự: dừng dịch vụ, xóa file spool, khởi động lại dịch vụ. Bỏ qua bước dừng thì Windows không cho xóa file đang bị spoolsv.exe giữ. Bạn nhấn Win + R, gõ services.msc rồi Enter, cuộn tới dòng Print Spooler, chuột phải và chọn Stop. Cột Status chuyển sang trống là xác nhận dịch vụ đã dừng hẳn.

Tiếp theo mở File Explorer, dán đường dẫn C:\Windows\System32\spool\PRINTERS vào thanh địa chỉ. Windows sẽ hỏi quyền quản trị, bạn đồng ý. Chọn toàn bộ file bên trong (thường có đuôi .spl và .shd) rồi xóa. Chỉ xóa file, tuyệt đối không xóa thư mục PRINTERS, vì spooler cần thư mục này để ghi tạm và không tự tạo lại ở mọi cấu hình.

Dọn hàng đợi in tận gốc bằng services.msc và thư mục PRINTERS

Quay lại services.msc, chuột phải Print Spooler, chọn Start. Trong cửa sổ Properties của dịch vụ, bạn xác minh thêm Startup type đang là Automatic; một số phần mềm dọn máy từng đặt nó về Manual và khiến máy in biến mất sau mỗi lần khởi động. Mở lại hàng đợi in, danh sách phải trống hoàn toàn, và lệnh in mới lúc này chạy bình thường.

Nếu thư mục PRINTERS chứa hàng trăm file hoặc dung lượng tới vài GB, đó là dấu hiệu ổ C của bạn đã ở ngưỡng báo động và spooler không còn chỗ ghi tạm. Hãy dọn thêm theo hướng dẫn Giải phóng ổ đĩa C: Thao tác thực tế để dọn rác và giữ tệp hệ thống trước khi in tiếp, nếu không tình trạng kẹt sẽ tái diễn ngay lệnh sau.

Xử lý bằng dòng lệnh net stop spooler và PowerShell Remove-PrintJob

Nếu bạn ưu tiên thao tác gõ lệnh, ba bước trên gói gọn trong ba dòng lệnh. Bạn mở Terminal với quyền Administrator (chuột phải nút Start, chọn Terminal (Admin)) rồi chạy lần lượt: net stop spooler, tiếp đến del /Q /F /S “%systemroot%\System32\spool\PRINTERS\*.*”, và cuối cùng net start spooler. Lệnh del với tham số /Q không hỏi xác nhận, /F ép xóa cả file chỉ đọc, nên bạn cần gõ đúng đường dẫn.

Xử lý bằng dòng lệnh net stop spooler và PowerShell Remove-PrintJob

Ưu thế của cách này là lưu được thành file .bat để dùng lại, phù hợp với văn phòng có máy in chia sẻ hay kẹt. Nhược điểm là nó xóa sạch mọi lệnh đang chờ của tất cả máy in, kể cả tài liệu chưa kịp in của đồng nghiệp nếu laptop bạn đang đóng vai trò máy chủ in. Muốn xử lý chọn lọc hơn, PowerShell đáp ứng tốt hơn.

Module PrintManagement có sẵn trên Windows 11 cung cấp cmdlet Get-PrintJob để liệt kê lệnh đang chờ của một máy in cụ thể, và Remove-PrintJob để xóa từng lệnh theo ID. Theo tài liệu Microsoft Learn, Get-PrintJob không cần quyền quản trị, chạy được trong phiên PowerShell remoting và không hỗ trợ ký tự đại diện trong tên máy in. Ví dụ, lệnh Get-PrintJob -PrinterName “May in ke toan” | Remove-PrintJob xóa toàn bộ lệnh của riêng máy in đó mà không đụng tới hàng đợi in của máy khác.

Gỡ driver cũ trong Print Management và phòng ngừa Print Spooler tái kẹt

Khi dọn hàng đợi in xong mà vài ngày sau lại kẹt, bản chất vấn đề thường nằm ở driver chứ không ở file spool. Bạn nhấn Win + R, gõ printmanagement.msc để mở Print Management (trên Windows 11 Home có thể phải kích hoạt qua Optional Features). Mục All Drivers liệt kê toàn bộ driver in đã cài, kèm cột Type cho biết đó là driver v3 hay v4. Máy in nào không còn dùng thì gỡ driver của nó bằng Remove Driver Package.

Với máy in đang dùng, mình ưu tiên thứ tự: driver lớp v4 hoặc IPP có sẵn của hệ điều hành trước, driver hãng chỉ khi cần tính năng đặc thù như in hai mặt tùy chỉnh hay khay giấy mở rộng. Cài driver mới xong nên xóa máy in cũ trong Printers & scanners và thêm lại, để Windows tạo cổng sạch thay vì tận dụng lại cổng đang lỗi.

Triệu chứng Nguyên nhân khả dĩ Hướng xử lý
Tài liệu treo ở Deleting, xóa không được File .spl/.shd hỏng trong thư mục PRINTERS Dừng Print Spooler, xóa file spool, khởi động lại dịch vụ
spoolsv.exe ngốn CPU dù không in File spool lỗi bị nạp lặp hoặc driver v3 chạy chung tiến trình Dọn PRINTERS, gỡ driver cũ trong Print Management
Máy in mạng báo cần quyền admin Chính sách Point and Print sau PrintNightmare Cài driver bằng tài khoản quản trị hoặc dùng driver IPP có sẵn
Kẹt ngay sau Windows Update Bản cập nhật thay đổi hành vi in, firmware máy in cũ Kiểm tra Update history, cập nhật firmware, gỡ bản vá nếu cần

Windows Update vừa là nguồn vá lỗi vừa là nguồn gây lỗi cho Print Spooler. Sau đợt vá PrintNightmare, Microsoft đã nhiều lần điều chỉnh hành vi in qua các phiên bản cập nhật tích lũy. Vì thế, khi máy in kẹt ngay sau một lần cập nhật, bạn kiểm tra mục Update history và, nếu cần, tạm gỡ bản cập nhật gần nhất để đối chiếu; đồng thời cập nhật firmware máy in, bởi firmware cũ đôi khi không hỗ trợ định dạng dữ liệu mà driver mới gửi tới.

Về phòng ngừa: không rút nguồn hay đóng nắp laptop khi đang in, giữ ổ C còn đủ dung lượng trống, tránh in tài liệu PDF hàng trăm trang một lượt, và định kỳ mở hàng đợi in để xóa lệnh cũ. Với laptop in qua Wi-Fi, một phần lệnh treo đến từ đường mạng chứ không phải spooler; bài Sự cố nghẽn lệnh in Wi-Fi trên laptop: Nhận diện nguyên nhân và cách xử lý tận gốc trên laptopspot đã phân tích riêng nhánh này.

Câu hỏi thường gặp về lỗi Print Spooler trên Windows 11

Xóa file trong thư mục PRINTERS có mất dữ liệu gì không?

Không. Thư mục này chỉ chứa bản sao tạm của các lệnh in đang chờ; tài liệu gốc của bạn vẫn nguyên vẹn trên ổ đĩa. Bạn chỉ cần in lại những tài liệu vừa bị xóa khỏi hàng đợi in.

Print Spooler tự dừng liên tục sau khi khởi động lại thì sao?

Đó là dấu hiệu driver in lỗi kéo sập spoolsv.exe. Bạn dọn thư mục PRINTERS, gỡ driver nghi ngờ trong Print Management, rồi khởi động lại dịch vụ. Nếu vẫn dừng, mở Event Viewer, mục Windows Logs, System, để xem tên driver được ghi trong sự kiện lỗi.

Có nên tắt hẳn Print Spooler để tránh PrintNightmare không?

Chỉ nên tắt trên laptop không bao giờ in. Microsoft đã vá CVE-2021-34527 và siết Point and Print từ năm 2021, nên laptop đã cập nhật đầy đủ đáp ứng được yêu cầu an toàn mà không cần tắt dịch vụ. Tắt spooler đồng nghĩa mất luôn tính năng in ra PDF của Windows 11.

Lệnh net stop spooler báo Access is denied thì xử lý thế nào?

Bạn đang chạy Terminal ở quyền thường. Đóng cửa sổ, chuột phải nút Start, chọn Terminal (Admin) hoặc Windows PowerShell (Admin), rồi chạy lại. Nếu tài khoản không có quyền quản trị, hãy nhờ người quản trị máy, vì cách thủ công qua services.msc cũng yêu cầu quyền tương đương.

← Bài trước

0 phản hồi cho “Lỗi Print Spooler kẹt cứng trên Windows 11: Nguyên nhân ngầm và cách dọn dẹp tận gốc”

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *