Phần 19: Tạo một WinPE Tools CD tùy chỉnh

Trong phần 18 của loạt bài này, chúng tôi đã giới thiệu cho các bạn cách tạo một kịch bản WMI để xác định UUID của một máy tính. Lý do muốn thực hiện điều này là vì bạn sẽ muốn sử dụng cơ sở dữ liệu MDT cho việc tùy chỉnh triển khai Windows 7 dựa theo UUID của các máy tính mục tiêu (xem trong phần 16 của loạt bài về cách thực hiện). Giờ đây, bạn có thể chạy kịch bản này trên máy tính đã cài đặt hệ điều hành Windows, tuy nhiên cách xác định UUID của hệ thống mới (hệ thống bare-metal), một máy tính chưa có hệ điều hành, như thế nào? Câu trả lời đơn giản là tạo một WinPE tools CD có chứa kịch bản. Sau đó sử dụng CD đó để khởi động hệ thống bare-metal, chạy kịch bản và hiển thị UUID của hệ thống. Đó là những gì chúng tôi sẽ giới thiệu trong bài viết này.
Lưu ý: Các bước tạo một image Windows PE tùy chỉnh cho Windows 7 có sự thay đổi so với Windows Vista. Để tìm hiểu về cách tạo Windows PE 2.1 (Windows Vista SP1 hoặc các phiên bản cũ hơn), bạn có thể tham khảo các bài viết trước với tiều đề: Triển khai Vista – Phần 11: Làm việc với Windows PE.
Bước 1: Tạo môi trường
Để tạo môi trường tạo Windows PE 3.0, đăng nhập vào máy tính kỹ thuật viên đã cài đặt Windows AIK 2.0. Sau đó kích Start, All Programs, Windows AIK, kích phải vào Deployment Command Prompt và chọn Run As Administrator. Bạn sẽ thấy cửa sổ Deployment Tools Command Prompt xuất hiện như trong hình 1 bên dưới:

Hình 1: Nhắc lệnh của công cụ triển khai
Trong hướng dẫn này, chúng tôi sẽ thiết lập môi trường cho việc tạo image Windows PE 64-bit. Để thực hiện điều đó, hãy đánh vào lệnh dưới đây:
copype.cmd amd64 C:\BUILDPE
Ở đây \BUILDPE là thư mục sẽ được tạo trên ổ C: (thư mục gốc) trong máy tính kỹ thuật viên. Thư mục này sẽ được sử dụng để chứa môi trường tạo. Đầu ra của lệnh được thể hiện trong hình 2:

Hình 2: Tạo thư mục có chứa môi trường
Chúng ta hãy đi khảo sát môi trường tạo trong Windows Explorer (hình 3):
 

Hình 3
Các thư mục và các file trong thư mục gốc của thư mục tạo gồm có:
  • Thư mục \ISO có chứa các file cần thiết cho việc tạo file .iso cho Windows PE và burn CD.
  • Thư mục \mount là một thư mục trống rỗng, nơi chúng ta sẽ gắn image của mình bằng DISM.exe để sử dụng nó.
  • etfsboot là một chương trình được dùng để tạo phân vùng khởi động cho CD Windows của chúng ta.
  • efisys.bin được sử dụng thay cho etfsboot trên các hệ thống khởi động bằng Extensible Firmware Interface (EFI)
  • efisys_noprompt.bin được sử dụng thay vì etfsboot trên các hệ thống IA64
  • winpe.wim là một file image Windows PE cơ bản, đây là file chúng ta có thể tùy chỉnh nếu muốn.
Để kết thúc việc thiết lập môi trường tạo Windows PE, sử dụng lệnh copy sau đây:
copy C:\BUILDPE\winpe.wim C:\BUILDPE\ISO\sources\boot.wim
Lệnh này sẽ copy image Windows PE cơ bản (winpe.wim) từ thư mục root \BUILDPE vào thư mục \ISO\sources và thay tên nó bằng boot.wim (hình 4):

Hình 4: Copy image Windows PE cơ bản vào thư mục \ISO\sources và đặt lại tên cho nó thành boot.wim
Chúng ta hãy đi thẩm định kết quả bằng cách sử dụng Windows Explorer (hình 5):

Hình 5: Copy image Windows PE cơ bản
Bước 2: Gắn image cơ bản
Trước khi có thể sử dụng image Windows PE, bạn cần gắn nó bằng lệnh DISM. Để thực hiện điều đó, chúng ta sử dụng tùy chọn dòng lệnh /mount-wim như dưới đây:
dism /mount-wim /wimfile:C:\BUILDPE\ISO\sources\boot.wim /index:1 /mountdir:C:\BUILDPE\mount
Lệnh trên sẽ gắn image Windows có chứa file boot.wim vào thư mục \mount của môi trường tạo Windows PE (hình 6):

Hình 6: Gắn image Windows PE cơ bản để bạn có thể sử dụng nó
Mẹo: Để có thêm thông tin về lệnh DISM, một lệnh mới trong Windows 7, bạn có thể tham khảo phần 2 của loạt bài này.
Chúng ta hãy đi nghiên cứu image Windows PE cơ bản đã gắn trong Windows Explorer (hình 7):

Hình 7: Image Windows PE đã được gắn
Lưu ý rằng cấu trúc thư mục của image Windows đã gắn như thể cấu trúc của hệ điều hành Windows đã được cài đặt.
Tiếp đến, chúng ta sẽ sử dụng image Windows PE đã gắn theo hai cách:
  • Bổ sung thêm sự hỗ trợ chạy kịch bản WMI
  • Bổ sung thêm các kịch bản UUID vào image
Bước 3: Bổ sung sự hỗ trợ cho việc chạy kịch bản WMI
Trước khi có thể chạy các kịch bản WMI từ bên trong Windows PE, bạn phải bổ sung thêm các gói cung cấp các chức năng như vậy cho Windows PE. Chúng ta sẽ bắt đầu việc bổ sung thêm WinPE-WMI Feature Pack, đây là gói tính năng cung cấp sự hỗ trợ cho Windows Management Instrumentation (WMI) từ bên trong Windows PE. Để thực hiện, bạn cần sử dụng tùy chọn dòng lệnh /add-package của DISM. Ngoài ra bạn cũng cần biết vị trí gói nằm ở đâu bên trong kiến trúc thư mục Windows AIK trên máy tính kỹ thuật viên. Đây là lệnh sử dụng để thực hiện điều đó:
dism /image:C:\BUILDPE\mount /add-package /packagepath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\winpe-wmi.cab"
Lệnh này sẽ bổ sung gói chứa chứa file winpe-wmi.cab vào image Windows PE đã gắn của bạn. Hình 8 thể hiện kết quả khi chạy lệnh này:

Hình 8: Bổ sung thêm sự hỗ trợ WMI cho Windows PE (bước 1)
Ngoài việc bổ sung gói, bạn cũng phải bổ sung thêm gói ngôn ngữ tương ứng (winpe-wmi_en-us.cab) cho gói dữ liệu đó. Với US English (en-us), bạn cần sử dụng lệnh sau:
dism /image:C:\BUILDPE\mount /add-package /packagepath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\en-us\winpe-wmi_en-us.cab"
Hình 9 thể hiện kết quả thực hiện của lệnh:

Hình 9: Bổ sung thêm sự hỗ trợ WMI cho Windows PE (bước 2)
Mặc dù đã kết thúc việc bổ sung sự hỗ trợ WMI vào image Windows PE của mình, nhưng chúng ta vẫn chưa thể chạy các kịch bản WMI từ bên trong Windows PE trừ khi đã bổ sung WinPE-Scripting Feature Pack (winpe-scripting.cab) và gói ngôn ngữ tương ứng của nó (winpe-scripting_en-us.cab) vào image. Hình 10 thể hiện cách nó được thực hiện:

Hình 10: Bổ sung thêm sự hỗ trợ kịch bản cho Windows PE 
Chúng ta có thể sử dụng tùy chọn dòng lệnh /get-packages của DISM để thẩm định rằng các gói cần thiết đã được bổ sung vào image (hình 11):

Hình 11: Thẩm định các gói dữ liệu được thêm vào image
Lưu ý rằng trạng thái của mỗi gói được hiển thị là Install Pending. Điều này là vì những thay đổi chúng ta thực hiện vẫn chưa được cam kết cho image.
Bước 4: Thêm các kịch bản vào image
Sau đây chúng ta hãy đi bổ sung thêm hai kịch bản (UUID.vbs và UUID.bat) đã tạo trong phần trước của loạt bài này vào image Windows PE đã gắn. Sử dụng lệnh copy để thực hiện bằng cách copy các kịch bản từ một USB vào thư mục \Windows\System32 bên trong image đã gán của mình (hình 12):

Hình 12: Copy các kịch bản vào image Windows PE đã gắn
Chúng ta có thể sử dụng Windows Explorer để thẩm định các kịch bản được copy vào image (hình 13):

Hình 13: Hai kịch bản được copy vào thư mục \Windows\System32 của image Windows PE
đã gắn
Tại sao lại phải copy các kịch bản này vào thư mục \Windows\System32? Điều này là vì các kịch bản sẽ được gộp như một phần của đĩa Windows PE RAM, sau đó được nạp vào bộ nhớ và truy cập với ổ đĩa X: từ nhắc lệnh Windows PE. Nếu chúng ta đã copy các kịch bản thay vì thư mục \ISO của môi trường, các kịch bản này sẽ được gộp như một phần của Windows PE CD và chúng ta cần phải thay đổi ký tự ổ CD trước khi chạy kịch bản từ bên trong Windows PE. Vì vậy, copy chúng vào thư mục \Windows\System32 là biện pháp dễ dàng hơn cả để chạy các kịch bản từ bên trong Windows PE.
Lưu ý: Nếu các kịch bản hoặc công cụ mà bạn bổ sung vào Windows PE yêu cầu thêm bộ nhớ, hãy sử dụng tùy chọn /set-scratchspace của DISM để chỉ định 64, 128, 256 hoặc thậm chí 512 MB bộ nhớ bổ sung cho Windows PE (sự chỉ địch mặc định là 32 MB).
Bước 5: Cam kết thay đổi và hủy gắn image
Lúc này chúng ta đã sử dụng image Windows PE bằng cách bổ sung thêm các gói và các kịch bản vào image. Sử dụng tùy chọn lệnh \unmount-wim của DISM để thực hiện điều này:
dism /unmount-wim /mountdir:C:\BUILDPE\mount /commit
Hình 14 hiển thị kết quả chạy lệnh:

Hình 14: Hủy gắn image sau khi cam kết thay đổi
Bước 6: Tạo image Windows PE .iso
Lúc này chúng ta cần biến đổi image Windows PE tùy chỉnh của mình trong thư mục \BUILDPE thành một file .iso để có thể burn vào CD. Để thực hiện, sử dụng lệnh oscdimg như dưới đây:
oscdimg –n –bC:\BUILDPE\etfsboot.com C:\BUILDPE\ISO C:\BUILDPE\WMI-PE-CD.iso
Lệnh này sẽ thêm một hần khởi động cho CD vào image Windows PE và biến đổi nó thành một file .iso, file ở đây mà chúng ta có là WMI-PE-CD.iso (hình 15):

Hình 15: Sử dụng oscdimg để tạo file .iso của Windows PE
Sử dụng Windows Explorer để thẩm định rằng image .iso đã được tạo (hình 16):

Hình 16: File image .iso được tạo bằng oscdimg từ môi trường tạo Windows PE tùy chỉnh
Lúc này copy file .iso vào máy tính có bộ CD burner và burn vào CD.
Bước 7: Test kết quả
Chúng ta đã kết thúc quá trình test với WinPE "tools" CD của mình. Bật hệ thống bare-metal, chèn vào CD vừa tạo và nhấn một phím bất kỳ khi được hỏi có muốn khởi động hệ thống từ ổ CD không. Khi Windows PE được load và khởi chạy, bạn sẽ thấy nhắc lệnh X:\Windows\System32>. Đánh uuid vào nhắc lệnh đó và UUID của máy tính sẽ xuất hiện (hình 17):

Hình 17: Sử dụng UUID.bat và UUID.vbs trên một Windows PE tools CD tùy chỉnh để hiển thị UUID của hệ thống bare-metal
Sau khi thực hiện bước 7 trên cụm hệ thống và copy các kết quả thu được, bạn có thể tạo các entry mới trong cơ sở dữ liệu MDT 2010 để từ đó cho phép triển khai các image Windows PE này vào các máy tính của mình – xem phần 16 của loạt bài này về cách thực hiện đó.

 
 

0 comments:

Post a Comment