Thứ Hai, ngày 10 tháng 10 năm 2016

Kỹ thuật sử dụng DISM quản lý và triển khai dịch vụ hình ảnh Windows 10 trên một máy tính

Xin chào các bạn! Trong bài viết hôm nay tôi giới thiệu với các bạn các kỹ thuật sử dụng DISM quản lý và triển khai hình ảnh Windows Image trên một máy tính. Hay nói theo cách đơn giản trước khi cài đặt Windows trên một máy tính bạn có thể quản lý trước hình ảnh Windows này bằng các tùy chọn như thêm, xóa, và liệt kê các gói ứng dụng, trình điều khiển drivers, ngôn ngữ, bật hoặc tắt tính năng của Windows. Sau đó triển khai hình ảnh Windows này trên một máy tính. Nhằm không đi quá phức tạp vào vấn đề nên tôi chỉ trình bày những phương pháp đơn giản thôi qua đó giúp bạn đọc hiểu được phần nào và có thể tự mình thực hành được.

Trước khi đi vào bài viết các bạn cần hiểu qua đôi chút khái niệm về DISM. Triển khai dịch vụ và quản lý hình ảnh gọi tắt (DISM.exe) là một công cụ dòng lệnh có thể được sử dụng dịch vụ và chuẩn bị hình ảnh Windows, bao gồm cả những người sử dụng cho Windows PE , Windows Recovery Environment (Windows RE) và Windows Setup . DISM có thể được sử dụng để phục vụ một hình ảnh Windows (.wim) hoặc một đĩa cứng ảo (VHD hoặc .vhdx). DISM có rất nhiều lỡi ích trong đó phải kể đến cơ bản bạn có thể sử dụng DISM với các file .wim quản lý và áp dụng các hình ảnh Windows, gắn thêm và xóa những hình ảnh trong một file .wim, chia .wim file thành nhiều file nhỏ hơn. Bạn có thể sử dụng DISM với .wim, VHD, hoặc các tập tin .vhdx để thêm, xóa, và liệt kê các gói ứng dụng, trình điều khiển, ngôn ngữ, bật hoặc tắt tính năng của Windows, áp dụng thay đổi dựa trên phần offlineServicing của một file trả lời Unattend.xml...

DISM được triển khai trong trong Command Prompt (CMD) bằng tùy chọn các dòng lệnh với cú pháp như sau:

Dism /Tùy chọn  /Nguồn  /Tùy chọn mở rộng phụ thuộc vào tùy chọn mà ta triển khai có thể có hoặ không

Ví dụ:
Dism /Unmount-Image /MountDir:E:\wim /Commit

DISM được triển khai theo 2 phương pháp, thứ nhất triển khai trên hình ảnh windows đã được cài đặt và thứ 2 triển trai trên một hình ảnh windows chưa cài đặt. DISM lại được triển khai các dòng lệnh trong Command Prompt và Windows Powershell.

Bạn cần chuẩn bị những gì?

  1. Windows Setup: một hình ảnh Windows được gắn kết trong tập tin install.wim trong bộ cài Windows 10 được tải về
  2. Một máy tính đang chạy hệ điều hành Windows 10 không phân biệt phiên bản, ngôn ngữ và nền tảng
  3. Một phân vùng trống dung lượng tối thiểu 15 gb -20 gb ví dụ phân vùng trong máy tính đang chạy Windows 10 đang trống khoảng 20 gb là được
  4. Windows PE cho Windows 10
Bài viết sẽ đi vào 2 phần chính phần 1 quản lý hình ảnh Windows 10 trong tập tin gắn kết install.wim và phần 2 là triển khai cài đặt tập tin install trên máy tính.

Phần 1: Quản lý hình ảnh Windows 10 trong tập tin gắn kết install.wim

Trong bài thực hành tôi sẽ sử dụng hình ảnh windows trong bộ cài nguyên gốc Windows 10 Multiple Editions Version 1607 32 Bit bao gồm các phiên bản Home và Pro. Sau khi tải về và đã có tập tin ISO bạn click đúp chuột vào file ISO nó sẽ tự mount ra một phân vùng ảo, bạn truy cập phân vùng ảo đó tiếp tục truy cập thư mục sources tìm tập tin gắn kết hình ảnh có tên install.wim và copy đến một phân vùng đang còn trống nào đó ví dụ ở ổ D bạn có thể tạo một thư mục tên WindowsSetup chẳng hạn rồi copy tập tin install.wim vào đó. Lưu ý thư mục lưu tập tin install.wim có tên không dấu và không được có khoảng cách ví dụ như Windows Setup là sai vì khi áp lệnh DISM sẽ lỗi không thao tác được Cách ghi đúng là  WindowsSetup hoặc Windows_Setup chẳng hạn



Sau khi đã có tập tin gắn kết hình ảnh install.wim trong thư mục WindowsSetup bây giờ chúng ta băt đầu đi vào quản lý hình ảnh install.wim này bằng các tùy chọn trong DISM. Trước tiên bạn cần khởi chạy Command Prompt trước


1. Sử dụng tùy chọn /Get-ImageInfo kiểm tra tập tin hình ảnh install.wim

Ví dụ:
Dism /Get-ImageInfo /ImageFile:D:\WindowsSetup\install.wim


Như vậy sau khi sử dụng tùy chọn /Get-ImageInfo áp dụng với tập tin install.wim thực hành cho ra kết quả như sau:

Details for image : D:\WindowsSetup\install.wim

Index : 1
Name : Windows 10 Pro
Description : Windows 10 Pro
Size : 10,272,238,108 bytes

Index : 2
Name : Windows 10 Home
Description : Windows 10 Home
Size : 10,079,019,521 bytes

Trong tập tin install.wim này có tất cả 2 phiên bản Windows 10 Pro và Home tướng ứng với giá trị index 1 là Pro và 2 là Home. Tương ứng với giá trị và tên phiên bản là phần mô tả và kích thước của hình ảnh windows trước khi nén ( ở đây không bao gồm ram ảo Page file và ngủ đông Hibernate )

2. Sử dụng tùy chọn /Delete-Image để xóa một hình ảnh được gắn kết trong một tập tin install.wim

Ví dụ:
Dism /Delete-Image /ImageFile:D:\WindowsSetup\install.wim /Index:2


Nếu bạn muốn xóa bỏ phiên bản Home ra khỏi tập tin install.wim bạn sử dụng cú pháp như trên và sau khi sử dụng lại tùy chọn /Get-ImageInfo bạn sẽ thấy chỉ còn lại phiên bản Pro.

3. Sử dụng tùy chọn /Mount-Image để xả nén tập tin install.wim trong một thư mục cụ thể

Ví dụ
Dism /Mount-Image /ImageFile:D:\WindowsSetup\install.wim /Name:"Windows 10 Pro" /MountDir:D:\Image


Trước khi bạn muốn quản lý tập tin hình ảnh install.wim này bạn cần phải xả nén nó ra một thư mục trước khi thực hiện các tùy chọn khác. Ví dụ tại phân vùng D ban đầu bạn tạo mới thêm một thư mục có tên Image chẳng hạn sau đó sử dụng lệnh trên để xả nén install.wim

4. Sử dụng tùy chọn /Get-Features liệt kê các tính năng trong hình ảnh Windows 10 hiện có sau khi đã mount và  /Get-FeatureInfo xem thông tin của một tính năng cụ thể

Ví dụ:
Dism /Image:D:\Image /Get-Features

Dism /Image:D:\Image /Get-FeatureInfo /FeatureName:NetFx3


Khi bạn sử dụng tùy chọn này windows sẽ liệt kê tất cả các tính năng bao gồm tên của tính năng và trạng thái bật Enable hoặc tắt Disabled của tính năng


Nếu bạn sử dụng thêm tùy chọn /Get-FeatureInfo bạn sẽ biết được thông tin của tính năng đó


5. Sử dụng tùy chọn /Enable-Feature để bật tính năng và /Disable-Feature để tắt tính năng

Ví dụ:
DISM /Image:D:\Image /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs

Dism /Image:D:\Image /Disable-Feature /FeatureName:MediaPlayback


Bạn kiểm tra trạng thái Enable hoặc Disabled của tính năng đó nếu nó đang ở trạng thái Disabled thì bạn dùng tùy chọn /Enable-Feature và ngược lại là  /Disable-Feature. Lấy ví dụ bạn muốn bật tính năng Net Framework 3.5 bạn sử dụng tùy chọn  /Enable-Feature và file .cab được nằm trong bộ cài ISO Windows 10 theo đường dẫn E:\sources\sxs với E là phân vùng ảo bạn mount ISO ra



Còn nếu bạn muốn tắt tính năng MediaPlayback ( bao gồm tính năng WindowsMediaPlayer ) bạn sử dụng tùy chọn /Disable-Feature để tắt tính năng này. 

Một điều bạn cần lưu ý các tính năng này có thể bật hoặc tặt trở lại khi bạn triển khai hình ảnh cài đặt Windows 10  trên một máy tính. 

6. Sử dụng tùy chọn /Add-Package thêm trước các bản cập nhật

Ví dụ:
Dism /Image:D:\Image /Add-Package /Packagepath:D:\Updates



Bạn gõ từ khóa view installed updates vào khung tìm kiếm dưới thanh tác vụ và  truy cập Installed Updates trong Control Panel để xem bản cập nhật gần đây nhất có tên gì như ví dụ là KB3194496 chẳng hạn.


Sau đó bạn truy cập theo địa chỉ http://ms-vnext.net/UpdateArchive/ trên trình duyệt web để tải về gói cập nhật tương ứng


Tạo một thư mục mới có tên Updates ở ổ D chẳng hạn và tải về bản cập nhật lưu vào thư mục đó


7. Sử dụng tùy chọn /Export-Driver và /Add-Driver để sao lưu trình điều khiển drivers của hệ điều hành Windows 10 cũ đã được cài đặt trên máy trước khi thêm chúng vào lại tập tin hình ảnh install.wim

Ví dụ:
Dism /Online /Export-Driver /Destination:D:\MyDrivers

Dism /Add-Driver /Image:"D:\Image" /Driver:D:\MyDrivers /Recurse 



Để sao lưu trình điều khiển driver cũ bạn tạo một thư mục mới có tên MyDrivers ở ổ D chẳng hạn sau đó dùng tùy chọn /Export-Driver sao lưu và tùy chọn /Add-Driver thêm vào lại hình ảnh Windows mà bạn muốn triển khai

 8. Sử dụng tùy chọn /Get-ProvisionedAppxPackages và /Remove-ProvisionedAppxPackage để liệt kê các ứng dụng mặc định trong hình ảnh Windows 10 và xóa bỏ một ứng dụng cụ thể

Ví dụ:
Dism /Image:D:\Image /Get-ProvisionedAppxPackages

Dism /Image:D:\Image /Remove-ProvisionedAppxPackage /PackageName:Microsoft.3DBuilder_11.0.47.0_neutral_~_8wekyb3d8bbwe



Sử dụng tùy chọn /Get-ProvisionedAppxPackages là để liệt kê các ứng dụng đã được tích hợp sẵn và  /Remove-ProvisionedAppxPackage  là để gỡ bỏ 1 ứng dụng cụ thể bạn cần nhớ tên của dòng PackageName ví dụ như hình trên muốn gơ bỏ ứng dụng 3D Builder thì tên gói của nó là Microsoft.3DBuilder_11.0.47.0_neutral_~_8wekyb3d8bbwe

Giả sử sau khi gỡ rồi bạn vẫn có thể thêm lại bằng tùy chọn /Add-ProvisionedAppxPackage ví dụ

Dism /Image:D:\Image /Add-ProvisionedAppxPackage /PackageName:Microsoft.3DBuilder_11.0.47.0_neutral_~_8wekyb3d8bbwe

9. Sử dụng tùy chọn /Unmount-Image gắn kết lại hình ảnh Windows 10 đã mount ra thư mục ban đầu về lại tập tin hình ảnh install.wim

Ví dụ
Dism /Unmount-Image /MountDir:D:\Image /Commit


Phần 2: Triển khai cài đặt tập tin gắn kết hình ảnh install.wim trên một máy tính

Trong phần 2 này chúng ta sẽ đi vào việc  triển khai dịch vụ hình ảnh Windows 10 trên một máy tính bằng cách sử dụng tùy chọn Apply-Image kết hợp với quản lý phân vùng Diskpart. Có 2 cách triển khai được tập tin gắn kết hình ảnh install.wim này cách thứ nhất chúng ta sử dụng winpe cho Windows 10 và win pe này được lấy từ Windows ADK. Cách thứ 2 chúng ta sẽ sử dụng luôn Command Prompt tại màn hình Advanced optios

Cách 1: Sử dụng win pe trong Windows 10

Nếu bạn không cài đặt  sẵn Windows ADK bạn có thể tải về theo liên kết dưới đây

winpe_x86.iso
winpe_x64.iso

Các bạn chỉ cần tải về mout iso ra ổ ảo sau đó format usb định dạng Fat32 rồi copy tất cả các tập tin trong file iso của win pe vào usb là có thể boot được. Hoặc bạn cũng có thể ghi ra đĩa Cd cũng được như ví dụ trên máy tôi đang có sẵn Cd winpe_x64


Trước khi đi vào triển khai cài đặt bạn phải nhớ chắc chắn tập tin hình ảnh install.wim đang được lưu tại vị trí nào như ví dụ của tôi vẫn đang lưu trong thư mục WindowsSetup ở ổ D.

Bắt đầu tiến hành triển khai khởi động lại máy boot vào usb winpe hay đĩa winpe khi bạn boot vào nào sẽ có hình như dưới


Trước khi sử dụng dòng lệnh DISM yêu cầu bạn phải sử dụng Diskpart quản lý phân vùng trước bằng cách gõ từ khóa diskpart nhấn enter sau đó sử dụng tùy chọn list volume kiểm tra các phân vùng hiện có trong máy


Ở đây có tổng cộng 4 phân vùng, ổ F là ổ chứa đĩa Cd winpe, ổ C là ổ boot của Windows 10 có tên System Reserved và dung lượng 500MB. Ổ D là ổ cài win cũ và E là ổ đang lưu thư mục WindowsSetup trong đó có tập tin install.wim

Như vậy theo nguyên tắc khi cài windows chỉ cần một phân vùng ẩn chứa boot và một phân vùng chứa hệ điều hành windows là được. Tuy nhiên nếu bạn muốn triển khai hình ảnh windows 10 chuẩn bạn cần làm mới các phân vùng cần thiết trước khi cài đặt và muốn làm mới lại bạn cần phải xóa 2 phân vùng System Reserved và phân vùng đang cài hệ điều hành cũ trước khi tạo mới lại. áp dụng vào bài thực hành tôi sẽ sử dụng các lệnh sau

select volume 1
delete volume
select volume 2
delete volume
list volume


Như vậy sau khi xóa 2 phân vùng này đi sử dụng list volume bạn sẽ chỉ còn thấy còn 2 phân vùng ổ F chứa đĩa Cd winpe và E là ổ đang lưu thư mục WindowsSetup trong đó có tập tin install.wim. Như vậy 2 phân vùng mà bạn đã xóa sẽ không xuất hiện trong list volume bạn cứ hiểu khi bạn xóa 2 phân vùng này liền kề nhau chúng sẽ gộp lại một phân vùng trống chưa đặt tên và chưa được định dạng gì cả và bị ẩn đi.


Sau khi đã xóa thì bước tiếp theo bạn cần tạo mới lại những phân vùng cần thiết dưới đây là các lệnh trong Diskpart

Với hệ thống BIOS Boot

Tạo phân vùng Recovery dung lượng 450 mb sử dụng các lệnh bên dưới
create partition primary size=450mb
format quick fs=ntfs label="Recovery"
assign letter="R"
set id=27

Tạo phân vùng boot System Reserved dung lượng từ 100 tới 500 mb sử dụng các lệnh
create partition primary size=500
format quick fs=ntfs label="System Reserved"
assign letter="S"
active

Tạo phân vùng từ dung lượng trống còn lại để cài Windows sử dụng các lệnh
create partition primary
format quick fs=ntfs label="Windows"
assign letter="W"

Với hệ thống UEFI Boot

Tạo phân vùng Recovery dung lượng 450 mb sử dụng các lệnh bên dưới
create partition primary size=450mb
format quick fs=ntfs label="Recovery"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001


Tạo phân vùng boot EFI dung lượng từ 100 tới 500 mb sử dụng các lệnh
create partition efi size=100
format quick fs=fat32 label="System"
assign letter="S"

Tạo phân vùng Microsoft Reserved (MSR) dung lượng 16 mb sử dụng lệnh
create partition msr size=16

Tạo phân vùng từ dung lượng trống còn lại để cài Windows sử dụng các lệnh
create partition primary
format quick fs=ntfs label="Windows"
assign letter="W"

Sau khi thưc hiện các câu lệnh trên để tạo mới phân vùng việc tiếp theo sử dụng list volume kiểm tra lại trước khi exit tiến hành triển khai tập tin hình ảnh install.wim lên phân vùng cài windows


Sử dụng các lệnh sau để cài mới lại Windows 10 từ tập tin hình ảnh install.wim đang được lưu trong thư mục WindowsSetup

Sử dụng tùy chọn /Apply-Image của DISM áp dụng một hình ảnh windows trong một tập tin hình ảnh gắn kết install.wim lên một phân vùng cụ thể

dism /Apply-Image /ImageFile:E:\WindowsSetup\install.wim /Index:1 /ApplyDir:W:\ /Compact /EA

Các tùy chọn  /Compact áp dụng một hình ảnh trong chế độ nhỏ gọn, tiết kiệm không gian ổ đĩa. thay thế WIMBoot và tùy chọn /EA Mới trong Windows 10, phiên bản 1607 áp dụng các thuộc tính mở rộng. Hai tùy chọn này không nhật thiết phải thêm vào

Add boot vào phân vùng boot

W:\Windows\System32\bcdboot W:\Windows /s S:

Tạo một thư mục mới Recovery và WindowsRE trong thư mục Recovery trong phân vùng Recovery

md R:\Recovery\WindowsRE

Copy tập tin Winre.wim ( cái này có thể gọi là winpe thu gọn ) từ phân vùng cài win theo đường dẫn W:\Windows\System32\Recovery\ vào thư mục WindowsRE cua phân vùng Recovery theo đường dẫn R:\Recovery\WindowsRE

xcopy /h W:\Windows\System32\Recovery\Winre.wim R:\Recovery\WindowsRE\

Kích hoạt phân vùng Recovery sử dụng Reagentc.exe trong đường dẫn W:\Windows\System32\ với tùy chọn /Setreimage kích hoạt phân vùng Recovery theo đường dẫn R:\Recovery\WindowsRE  và đích là W:\Windows

W:\Windows\System32\Reagentc /Setreimage /Path R:\Recovery\WindowsRE /Target W:\Windows


Bây giờ bạn có thể gõ exit khởi động lại máy tính để windows tiến hành cài đặt các bước tiếp theo




Bản cập nhật được tích hợp
Kích hoạt tính năng Net Framework 3.5 và tắt tính năng Media Features 
Trình điều khiển driver đầy đủ
Các ứng dụng đã gỡ bỏ
Cách 2: Sử dụng Command Prompt trong màn hình Advanced options 

Cách 1: Trên màn hình Desktop nhấp chuột vào nút Start tiếp tục nhấp chuột vào nút Power sau đó giữ phím Shift và nhấp chuột vào Restart
Cách 2: Trên màn hình Desktop nhấp chuột vào nút Start tiếp tục nhấp chuột vào nút Settings sau đó đi đến đường dẫn Update & security > Recovery nhấp chuột vào Restart now
Cách 3: Mở command prompt (cmd) gõ shutdown.exe /r /o nhấn enter
Cach 4: Tại màn hình đăng nhập Windows 10 nhấp chuột vào nút Start tiếp tục nhấp chuột vào nút Power sau đó giữ phím Shift và nhấp chuột vào Restart 
Cách 5: Khởi động Windows 10 khi đang xoay màn hình Logo nhấn và giữ phím nguồn cứng tắt máy, làm lại thao tác như vậy 2 lần Windows 10 sẽ tự động vào màn hình auomatic repair chọn Advanced Option

Chọn Troubleshoot


Chọn Advanced options


Chọn Command Prompt


Windows khởi động lại để vào Command Prompt


Chọn tài khoản đang sử dụng


Nếu đang sử dụng mật khẩu trên Windows 10 thì gõ mật khẩu vào trước khi nhấn Continue, nếu không sử dụng mật khẩu bỏ trống nhấn Continue


Màn hình Command Prompt nó sẽ trông như thế này


Công việc triển khai còn lại giống như cách tôi đã triển khai trong win pe.
Nguyễn Anh Tuấn