Labels

[TIPS] Kỹ thuật sử dụng DISM triển khai bộ cài đặt Windows


Chào các bạn, như các bạn đã biết tập tin cài đặt ISO là thứ ta cần đến đầu tiên khi cài đặt lại hệ điều hành, một số thì thích để nguyên gốc cài, còn 1 số khác trong đó có mình :) thì phải sửa lại cho ưng ý rồi mới cài. Vì sao ? Vì nó có nhiều thứ ta không dùng tới, cài vào rồi lại phải gỡ rất mệt. Vì vậy chỉnh sửa trong file iso trước thì hay hơn nhỉ

Trong nội dung bài viết này mình sẽ đề cập tới một số thao tác với file cài đặt như sau

  • Xóa index trong bộ cài có nhiều giá trị index
  • Mount wim và Set key kích hoạt
  • Xóa các ứng dụng metro
  • Tắt bật các tính năng có trong Programs Feature
  • Tích hợp NET 3.5 cũng như các gói cập nhật offline
  • Thêm các file reg tùy chỉnh
  • Tạo tập tin EI.CFG, Unmount wim và tạo file ISO mới

Bây giờ chúng ta vào vấn đề nhé. Trước tiên hãy chắc chắn bạn đã tài về cho mình 1 file ISO chuẩn không cần chỉnh của Microsoft. Tìm trên web của mình nhé ^-^.

Toàn bộ bài viết mình sẽ thao tác trên ổ E:\ còn bạn ? C,D,E,F thì tùy nhé miễn là thống nhất đường dẫn.

Mình tạo 1 thư mục ở ổ E:\ tên là win và double click vào file iso cho nó mount ra ổ ảo sau đó copy toàn bộ nội dung ở ổ ảo vào thư mục win vừa tạo.

Sau khi copy xong, mình bay vào bên trong copy thư mục sxs (E:\win\sources\sxs) ra ổ E. Vì đó là thư mục chứa gói KB kích hoạt NET 3.5, thư mục sxs  (E:\sxs ) này bạn có thể bỏ thêm vào các gói KB update có đuôi .msu hoặc .cab để tích hợp  luôn cùng NET 3.5. Tải các gói KB tại đây. Đồng thời mình tạo thêm 1 thư mục mount ở ổ E để chút mount file install.wim ra nhé

Tiếp theo bạn tiến hành mở cmd (admin) bằng cách Right Click vào nút Start chọn Command Prompt(Admin) hoặc tổ hợp phím Windows + X, A chúng ta sẽ thao tác các dòng DISM tại đây

1. Xóa index trong bộ cài có nhiều giá trị index

Kiểm tra các index có trong bộ cài bằng lệnh
Dism /Get-ImageInfo /ImageFile:E:\win\sources\install.wim

Ở đây của mình có 2 giá trị.
Để xóa giá trị index ta dán lệnh sau
Dism /Delete-Image /ImageFile:E:\win\sources\install.wim /Index:2
Theo lệnh trên thì mình xóa bản Home ra khỏi bộ cài

Các bạn xóa thì phải để lại tối thiểu 1 index nhé, xóa hết là không còn gì chơi đâu ^-^.

Giờ mình sẽ triển khai trên phiên bản Pro

2. Mount wim và Set key kích hoạt

Mount file install.wim ra thư mục E:\mount
Dism /Mount-wim /wimfile:E:\win\sources\install.wim /index:1 /Mountdir:E:\mount

Tiếp theo set product key kích hoạt cho phiên bản 
Dism /Image:E:\mount /Set-productkey:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Thay các kí tự x bằng key của bạn

3. Xóa các ứng dụng metro

Đây là thứ mình muốn loại bỏ nhất
Dán lệnh sau để lấy copy toàn bộ danh sách các ứng dụng metro ra clipboard của bạn 
Dism /image:E:\mount /Get-ProvisionedAppxPackages | clip
Sau khi dán và con trỏ lệnh xuống dòng, bạn mở notepad lên Ctrl V là nó ra danh sách nhé

Để gỡ bỏ 1 thí sinh bất kì dán lệnh
Dism /Image:E:\mount /Remove-ProvisionedAppxPackage /PackageName:<PackageName>
Ví dụ
Dism /Image:E:\mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.3DBuilder_11.0.47.0_neutral_~_8wekyb3d8bbwe

Và cứ thế gỡ đến khi nào bạn thấy hài lòng thì thôi :). 

*Mẹo: nên liệt kê các dòng lệnh gỡ tuần tự và lưu thành file .bat thì sẽ nhàn hơn

Ví dụ: 

@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if "%errorlevel%" NEQ "0" (
 echo: Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
 echo: UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
 "%temp%\getadmin.vbs" & exit 
)
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
Dism /Image:E:\mount /Remove-ProvisionedAppxPackage /PackageName:packagename1
Dism /Image:E:\mount /Remove-ProvisionedAppxPackage /PackageName:packagename2
...
Dism /Image:E:\mount /Remove-ProvisionedAppxPackage /PackageName:packagenamen
pause

4. Tắt bật các tính năng có trong Programs Feature

Tương tự ta dán lệnh sau để lấy list
Dism /Image:E:\mount /Get-Features | clip

Để vô hiệu hóa 1 tính năng
Dism /Image:E:\mount /Disable-Feature /FeatureName:<FeatureName>
Ví dụ
Dism /Image:E:\mount /Disable-Feature /FeatureName:MediaPlayback

Để kích hoạt 1 tính năng
DISM /Image:E:\mount /Enable-Feature /FeatureName:<FeatureName> /All

Và cũng như trên để nhanh hơn, hãy thao tác với file .bat

5. Tích hợp NET 3.5 cũng như các gói cập nhật offline

Sau khi tải và copy các gói KB update vào thư mục E:\sxs ta dán 1 lệnh để cài đồng thời

Dism /Image:E:\mount /Add-Package /Packagepath:E:\sxs


6. Thêm các file reg tùy chỉnh

Bạn truy cập vào thư mục E:\mount tạo thêm 1 số thư mục để lưu phần mềm và file .reg
Ví dụ của mình

Thư mục này mình lưu các phần mềm cài đặt online tại địa chỉ này. Mình hay làm như này vì phần mềm khi cài vào luôn là mới nhất


Thư mục này mình tạo ra để lưu các file .reg tối ưu / tùy chỉnh. bạn có thể tham khảo bài viết [Repository] Windows 10 Tweaks để thêm các tweak bạn mong muốn

Và để chạy được file .reg này bạn truy cập vào E:\mount\Windows\Setup tạo 1 thư mục tên Scripts bên trong nó soạn file .cmd có tên là setupcomplete.cmd và nội dung như sau

@echo off

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if "%errorlevel%" NEQ "0" (
 echo: Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
 echo: UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
 "%temp%\getadmin.vbs" & exit 
)
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 00000000 /f

:: REG
REGEDIT /S %systemdrive%\Hung\Take_Owner_Ship.reg
REGEDIT /S %systemdrive%\Hung\Power_Menu_add.reg
REGEDIT /S %systemdrive%\Hung\Photo.reg
REGEDIT /S %systemdrive%\Hung\user.reg

rd /s /q "C:\Hung"
rd /s /q "C:\Windows\Setup\Scripts"
exit

Các bạn để ý đường dẫn nhé thay Hung bằng tên thư mục bạn tạo, thêm các dòng lệnh
REGEDIT /S %systemdrive%.... nối tiếp nhau nếu có nhiều file reg


7. Tạo tập tin EI.CFG, Unmount wim và tạo file ISO mới

Quay trở lại cmd. Dán lệnh sau để unmount file wim
Để lưu thay đổi và unmount
Dism /Unmount-Image /MountDir:E:\mount /Commit
Để bỏ qua thay đổi và unmount
Dism /Unmount-Image /MountDir:E:\mount /Discard
Sau khi unmount thì thư mục E:\mount trống


Tạo file EI.CFG với những file ISO có nhiều index, tham khảo bài viết Tìm hiểu về file EI.cfg và PID.txt trong sources ISO

Ở đây mình là bản Pro. Lưu ý là những file ISO có 1 index (Enterprise, Education, Home SL...) thì file này đã có sẵn nhé

- Cuối cùng tạo file ISO mới. Có rất nhiều cách ở đây mình dùng công cụ WinTookit để tạo file ISO. Mở tool lên và chọn ISO Maker

Trỏ đường dẫn đến thư mục E:\win và Output điền tên file và thư mục xuất

Label đặt như nào cũng được, label này là tên file khi mount ra ổ ảo

Cuối cùng là chọn Create ISO và chờ đợi hoàn tất. Như vậy là bạn đã có file ISO cài đặt mới tương đối ngon rồi. Chúc các bạn thành công
Bạn được tự do bày tỏ quan điểm nhưng nghiêm cấm spam
  • Chèn ảnh theo mẫu [img]link[/img]
  • Chèn video Youtube theo mẫu [youtube]link[/youtube]
  • Chèn code theo mẫu [pre]code[/pre]. Lưu ý: mã hóa code trước khi bình luận

  • Đình Chung Nguyễn 5/03/2017 02:42:00 PM
    Chào bạn Hoàng Hưng!
    Mình muốn tìm gói Language tiếng Việt cho Windows RS3 mà không có.
    Bạn có thể cho mình xin hoặc chỉ cách trích xuất được không!
    Cám ơn bạn!
    1