Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
16/01/2018 19:01 # 1
binhthuong
Cấp độ: 9 - Kỹ năng: 3

Kinh nghiệm: 47/90 (52%)
Kĩ năng: 13/30 (43%)
Ngày gia nhập: 03/02/2012
Bài gởi: 407
Được cảm ơn: 43
Hướng dẫn gỡ các bản cập nhật đã cài đặt trong Windows 10 nhưng không thể không gỡ bỏ


Đôi khi vì một vài lý do nào đó bạn không muốn cài đặt các bản cập nhật cho Windows 10 vì bạn thấy ở build hiện tại máy chạy rất ổn định nhưng nếu cập nhật lên build mới hơn có thể máy sẽ gặp một số lỗi khá khó chịu thường liên quan đến drivers hay kết nối mạng.

Gải pháp chặn auto update trong Windows 10 cũng được mình viết một số bài về thủ thuật khá chi tiết trong Blog. Tuy nhiên nếu bạn không chặn từ đầu mà hệ thống đã cập nhật lên build mới hơn thì bạn phải tìm cách gỡ bỏ bản cập nhật phiền phức này đi.

Tuy nhiên không phải lúc nào chúng ta muốn cũng được vì các bản cập nhật hệ thống này rất bảo mật đặc biệt trong Windows 10 nếu bạn không tìm hiểu kỹ bạn sẽ không tìm thấy phương pháp gỡ bỏ hay theo cách khác gỡ bản cập nhật đôi khi còn khó hơn gỡ bỏ ứng dụng hệ thống nhưng không phải là không có cách nó chỉ phức tạp hơn so với gỡ ứng dụng hệ thống thôi và nếu bạn biết bạn sẽ không còn cảm thấy khó khăn nữa và bạn cũng có thể tự gỡ bỏ

Trong bài viết này mình sẽ làm ví dụ với bản cập nhật có tên KB4054022 bạn có thể nhìn hình dưới đây bản cập nhật trong Control Panel đã bị ẩn đi tùy chọn Uninstall
 

uninstall-updates


Mình sẽ làm theo trình tự từng bước dưới đây như sau các bạn theo dõi thật kỹ:

1. Tìm và xóa bỏ các bản cập nhật đã tải về lưu trong thư mục Download theo đường dẫn C:\Windows\SoftwareDistribution\Download, bạn nên xóa bỏ vĩnh viễn

 

uninstall-updates-1


2. Đi tìm các gói packages (gói cài đặt) có tên KB4054022 và có định dạng .mum được lưu trong thư mục Packages theo đường dẫn C:\Windows\servicing\Packages. Trên góc phải bạn nhập từ khóa KB4054022.mum sẽ được một danh sách tên các gói packages liên quan
 

uninstall-updates-2


Bây giờ bạn hãy để ý thật kỹ đa số tất cả các gói packages này đêu được đánh số thứ tự ví dụ 606162...nhưng trong đó lại có một gói không được đánh số thì chắc chắn trong gói package không được đánh số này sẽ được bảo vệ.

Tất nhiên không phải các gói packages nào cũng có một gói không đánh số như ví dụ với gói tên KB4054517 thì tất cả đều được đánh số thứ tự như vậy với gói tên KB4054517 không được bảo vệ nhưng vẫn bị ẩn tùy chọn Uninstall trong Control Panel

3. Chuột phải gói package không có số chọn TakeOwnership (thay quyền)

 

uninstall-updates-3


4. Khi thay quyền xong chọn mở gói này bằng Notepad (chuột phải chọn Open with...) trong tệp này bạn tìm sẽ thấy dòng permanence="permanent"
 

uninstall-updates-4


5. Bạn hãy sửa chữ permanent thành removable sau đó lưu lại.
 

uninstall-updates-5


6. Trong bước 6 này bạn sẽ tháo gói packages có tên KB4054022 nhưng trước hết bạn cần loại bỏ sự bào vệ gói của hệ thông trong Registry Editor. Mở registry điều hướng đến đường dẫn sau:

 Copy

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages

Chuột phải vào khóa Packages chọn Permissions...



uninstall-updates-6

Tìm đến tài khoản nhóm có tên Administrators tích vào ô Full Control bấm OK áp dụng thay đổi

7. Khi thay quyền xong bạn hãy tìm các khóa con bên dưới khóa Packages bạn sẽ thấy một số khóa có tên KB4054022 như hình bên dưới nhưng bạn chỉ đi tìm một khóa không đánh dấu số thứ tự như mình đã đề cập ở trên ví dụ là Package_for_KB4054022~31bf3856ad364e35~x86~~16299.96.1.7



uninstall-updates-7

Nhiệm vụ của bạn khi tìm thấy khóa này mở rông khóa ra sẽ một khóa con tên Owners bạn chuột phải xóa nó đi và bên khóa có một giá trị tên Visibility đang được đặt bằng 2 bạn sửa nó thành 1

8. Khi sửa xong bạn đóng resitry lại chạy dấu nhắc lệnh cmd quyền admin trong dấu nhắc lệnh sử dụng lệnh sau gỡ bỏ gói package



dism /online /remove-package /packagename:Package_for_KB4054022~31bf3856ad364e35~x86~~16299.96.1.7

Hình minh họa



uninstall-updates-8

Như vậy tới bước này bạn đã tháo được gói package cũng như gỡ bỏ bản cập nhật trong Windows 10. Bây giờ mình sẽ làm ví dụ với bản cập nhật tích lũy mà khi cài đặt xong sẽ nâng lên build cao hơn cụ thể trong các bước bên dưới mình sẽ tiến hành gỡ gói cập nhật có tên KB4054517 trong Windows 10, version 1709 OS Build 16299.125

Như trong bước 3 mình đã đề cập không phải các gói packages nào cũng có một gói không đánh số như ví dụ với gói tên KB4054517 thì tất cả đều được đánh số thứ tự như vậy với gói tên KB4054517 không được bảo vệ nhưng vẫn bị ẩn tùy chọn tùy chọn Uninstall trong Control Panel

Như vậy nếu bạn kiểm tra không có thì bạn có thể bỏ qua các bước 34 và 5 rồi và tiếp tục làm bước 6 và sau khi thay quyền khóa Packages trong Registry xong bạn cũng tìm các khóa con có tên KB4054517 sẽ ra rất nhiều khóa liên quan vậy nếu phải xóa và gỡ thủ công như bước 7 và 8 sẽ rất lâu do vậy bạn sẽ tạo một tập tin batch có nội dung đi tìm gói package có tên KB4054517 để xóa khóa Owners và thay giá trị Visibility bằng 2 rồi sử dụng lệnh gỡ bỏ tất các gói packages liên quan. Tập tin batch sẽ có nội dung như sau:



@echo off
set key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages
for /f "tokens=*" %%a in ('reg query "%key%" ^| findstr /c:KB4054517 ') do (
 reg delete "%%a\Owners" /f
 reg add "%%a" /v "Visibility" /t REG_DWORD /d 1 /f
)
for /f "tokens=4" %%a in ('dism /online /get-packages ^| findstr /c:KB4054517 ') do (   
 dism /online /remove-package /packagename:"%%a" /norestart
)
pause
Lưu nội dung trong Notepad lấy tên ví dụ remove-packages.cmd định dạng All files và Encoding ANSI. Khi tạo xong chạy tập tin batch bằng quyền admin và đợi cho tập tin batch tự động gỡ bỏ các bản cập nhật hay các gói packages

uninstall-updates-9

Đợi đến khi gỡ xong bạn nên khởi động lại máy để hoàn thành quá trình, có thể mất một chút thời gian để hệ thống hạ xuống build cũ hơn

uninstall-updates-10

Đến đây bạn đã gỡ bản cập nhật hoàn toàn bây giờ việc tiếp theo là ngăn cho Windows tự động tải và cài đặt lại bản cập nhật đã gỡ. Mình vẫn thường thấy các bạn sử dụng cách đơn giản nhất là tắt dịch vụ (service) Windows Update 

uninstall-updates-11

Tuy nhiên hệ thống vẫn tự động bật trở lại cho dù bạn có đặt giá trị khóa DelayedAutoStart=0 trong Registry. Để ngăn hệ thống tự động bật dịch vụ trở lại bạn cần đổi tên tập tin hệ thống trong thư mục System32 có tên wuaueng.dll

uninstall-updates-12

Trong thư mục System32 tìm file này chuột phải chọn TakeOwnership trước

uninstall-updates-13

Xong đổi tên nó thành ví dụ wuaueng.dll_ tức thêm dấu _ đằng sau

uninstall-updates-14

Đến đây bạn lại gặp một rắc rối cũng rất khó chịu liên đến thông báo từ Action Center và thông báo xuất hiện ngay màn hình desktop rất khó chịu, bạn làm thêm các bước sau đây nữa

1. Chạy dấu nhắc lệnh cmd bằng quyền admin copy lệnh sau nhấn enter để tắt thông báo từ Action Center


reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.WindowsUpdate.Notification" /v "Enabled" /t REG_DWORD /d 0 /f


2. Truy cập thư mục System32 tìm 2 file có tên MusNotification.exe và MusNotificationUx.exe chuột phải lần lượt 2 file này chọn TakeOwnership xong đổi tên chúng thành ví dụ MusNotification_backup.exe và MusNotificationUx_backup.exe

Sau khi làm xong hai bước này bạn sẽ không còn gặp các thông báo yêu cầu cập nhật tự hệ thống nữa. Nếu sau này bạn muốn cập nhật thì truy cập vào services bật dịch vụ Windows Update lên là xong còn 2 bước bạn vừa thực hiện tắt thông báo cứ nguyên cũng không sao hoặc bạn có thể đổi tên chúng về lại như cũ.

Chúc các bạn vui ! 

 

 

Bài viết

 




Đừng từ chối nếu bạn vẫn còn cái để cho.


 
Copyright© Đại học Duy Tân 2010 - 2024