Đây là loạt bài hướng dẫn chi tiết cách rebuild bộ cài Windows. Hướng dẫn này dùng chung cho cả Windows Client và Windows Server. Những bài hướng dẫn về cách rebuild bộ cài Windows này sẽ giúp bạn nắm bắt được những kiến thức sau:
- Cấu trúc file .wim và các công cụ quản lý.
- Cấu trúc bộ cài đặt Windows (từ Windows Vista trở lên)
- Cách thêm các bản vá updates, drivers, language và tùy biến bộ cài windows.
- Cách build một bộ cài Windows theo ý muốn của bạn.
NỘI DUNG
Trong phần 1 của loạt bày rebuild bộ cài Windows chúng ta sẽ tìm hiểu các nội dung sau:
- Cấu trúc file .wim và các công cụ quản lý.
- Cấu trúc bộ cài đặt Windows.
Cấu trúc file .wim và các công cụ quản lý.
Cấu trúc file .wim
WIM (Microsoft® Windows® Imaging ) là một định dạng ảnh đĩa đã được giới thiệu trong Windows Vista®. File WIM cũng là một định dạng file nén giống như .rar, .zip, .tar, bz2,… Định dạng của file WIM được tối ưu hóa để nén tối đa bằng LZX, nén nhanh bằng XPRESS hoặc không nén.
Cấu trúc file WIM chứa tối đa sáu loại tài nguyên: header, file resource, metadata resource, lookup table, XML data, and integrity table. Hình minh họa sau đây cho thấy bố cục chung của file WIM có chứa hai images.
WIM File Layout:
- WIM Header—Defines the content of the .wim file, including memory location of key resources (metadata resource, lookup table, XML data), and various .wim file attributes (version, size, compression type).
- File Resources—A series of packages that contain captured data, such as source files.
Metadata Resource—Contains information about the files that you are capturing, including directory structure and file attributes. There is one metadata resource for each image in a .wim file.- Lookup Table—Contains the memory location of resource files in the .wim file.
- XML Data—Contains additional data about the image.
- Integrity Table—Contains security hash information that is used to verify an image’s integrity during an apply operation.
Công cụ quản lý
Chúng ta có một số công cụ để quản lý cũng như chỉnh sửa file wim như: DISM command, NTLite, GimageX, Dism++,… Trong bài viết này tôi sẽ giới thiệu tới các bạn hai công cụ đó là DISM command và NTLite.
DISM (Deployment Image Servicing and Management)
DISM là một công cụ dòng lệnh của Microsoft dùng để mount các images Windows trước khi nó được triển khai. Ngoài việc mount các images ra thì công cụ DISM còn có thể lấy được các thông tin về Windows image hoặc các virtual hard disks (VHD). Bạn cũng có thể dùng DISM để capture, split wim files. Chi tiết các lệnh quản lý như nào thì tôi sẽ giới thiệu tới các bạn ở phần sau của bài viết này.
Với công cụ ImageX thì Microsoft đã không dùng kể từ Windows 8 và đã được thay thế bằng DISM để quản lý các image.
Bạn cũng có thể dùng DISM để install, uninstall, configure, và update Windows features, packages, drivers, and international settings bên trong .wim file hoặc VHD using the DISM servicing commands.
NTLite
NTlite là một công cụ dạng giao diện để tích hợp và tùy chỉnh Windows. Nó có những tính năng sau đây:
- Image Management
- Deployed install editing (e.g. C:\Windows or a mounted VHD)
- Updates Download and Organization
- Update and Language Integration
- Registry Integration and Editing
- Driver Integration
- Hardware Targeting
- Component Removal
- Tweaks
- Unattended Setup
- Application Integration
- Pending Changes Overview and Post-process Automation
- Native Runtime, 32 and 64-bit
Cách sử dụng NTLite để tích hợp và tùy chỉnh Windows tôi sẽ hướng dẫn các bạn ở phần sau của bài viết này và những phần khác của loạt bài Hướng dẫn rebuild hệ điều hành Windows.
Cấu trúc bộ cài Windows
Trong một file iso khi chúng ta mở ra sẽ thấy có các folder như trong hình bên trên. Những file và folder được khoanh đỏ là rất quan trọng. Ý nghĩa của chúng như sau:
- Folder boot chứa toàn bộ cấu trúc menu boot khi chúng ta cài Windows ở chế độ BIOS – Legacy. File chứa menu là \boot\bcd
- Folder efi chứa toàn bộ cấu trúc menu boot khi chúng ta cài Windows ở chế độ EFI. File chứa menu là \efi\microsoft\boot\bcd
- Folder sources như trong hình bên trên là nơi chứa các image của bộ cài Windows. Trong folder này có hai file quan trọng nhất là boot.wim và install.wim. File boot.wim là file sẽ được gọi sau khi hệ thống đọc xong menu boot. Nó có nhiệm vụ khởi động vào giao diện để cài đặt. File install.wim là file chứa các phiên bản hệ điều hành đã được đóng gói dưới dạng ảnh. Mỗi một con số là một ảnh của các phiên bản windows đã được chụp lại.
Quá trình cài đặt các phiên bản trước Windows Vista là quá trình Windows setup. Còn từ Windows Vista trở lại đây là quá trình Windows Image install hay còn gọi là quá trình cài đặt ảnh.
Ngoài ra trong folder source còn có một file nữa là ei.cfg. Đây là file xác định xem bộ cài này là Volume License hay Retail, OEM. Trong bộ cài Windows 10 bản consumer thì không có file này. Điều này có nghĩa là bạn phải sử dụng key Retail để kích hoạt; ngược lại trong bộ cài business thì có file này cho nên bạn phải dùng key dạng Volume License để kích hoạt.
Windows 7 thì sẽ chỉ rõ loại key.
Cách sử dụng công cụ DISM để quản lý file wim
Lệnh xem thông tin image
Install.wim
Dism /Get-ImageInfo /ImageFile:F:\sources\install.wim
Xem chi tiết một Image:
Dism /Get-ImageInfo /ImageFile:F:\sources\install.wim /Index:6
boot.wim
Cấu trúc lệnh tương tự như trong lệnh xem các image trong file install.wim
Trong file boot.wim có hai image tương ứng với hai quá trình cài đặt:
- Microsoft Windows PE: Bắt đầu từ đoạn load logo đến hết bước chọn ngôn ngữ
- Microsoft Windows Setup: Bắt đầu đầu từ giao diện chọn phiên bản cài đặt đến khi dòng Expanding Windows file (Windows 7) hoặc Getting file ready for installation (Windows 10) có dấu tích xanh (pass 1)
Lệnh xóa image
Dism /Delete-Image /ImageFile:D:\LAB\x64\sources\install.wim /Index:1
Sau khi thực hiện lệnh Dism /Delete-Image
chúng ta dùng 7-Zip File Manager để mở file install.wim
Chúng ta thấy ở đây có một folder [DELETED]. Thực ra lệnh xóa image chỉ là xóa thông tin image có trong file [1].xml. vậy để xóa hẳn khỏi file install.wim thì chúng ta phải thực hiện lệnh Dism /Export-Image
Lệnh Export image
Dism /Export-Image /SourceImageFile: /SourceIndex: /DestinationImageFile: [/DestinationName:<Name>] [/Compress:{fast|max|none|recovery}]
- /SourceImageFile: Đường dẫn đến file install.wim
- /SourceIndex: Số image index trong file install.wim
- /DestinationImageFile: Đường dẫn nơi lưu file .wim sau khi export
- /DestinationName: Tên của mới của image trong trường hợp bạn muốn đổi tên.
- /Compress:{fast|max|none|recovery}: là các cấp độ nén. Độ nén tăng dần: none -> fast -> max -> Recovery.
Ví dụ:
Dism /Export-Image /SourceImageFile:D:\LAB\x64\sources\install.wim /SourceIndex:1 /DestinationImageFile:D:\LAB\wim\install.wim /Compress:max
Mở lại bằng 7-Zip File Manager
Riêng với cấp độ nén recovery thì file sau khi xuất ra sẽ là .esd và chỉ hỗ trợ các hệ điều hành từ Windows 8 trở lên. Khi chúng ta thực hiện lệnh Export Image với tham số /Compress:recovery thì hệ thống sử dụng CPU, RAM và ổ cứng ở mức rất cao. Image đầu tiên nén sẽ rất lâu (45′ – 90′ tùy theo lượng data và cấu hình máy), nhưng các image sau sẽ rất nhanh (tùy theo sự khác nhau giữa các image).
Lệnh cắt image
Dism /Split-Image /ImageFile:C:\sources\install.wim /SWMFile:C:\sources\install.swm /FileSize:4700
- C:\sources\install.wim: đường dẫn đến file install.wim
- C:\sources\install.swm: đường dẫn đến file sau khi cắt .swm. File .swm sau cắt đầu tiên là install.swm. Những file tiếp theo sẽ có dạng install2.swm, install3.swm,…
- 4700: dung lượng file sau khi cắt lớn nhất được tính bằng MB.
Ví dụ:
Dism /Split-Image /ImageFile:D:\LAB\wim\install.wim /SWMFile:D:\LAB\SWMFile\install.swm /FileSize:4000
Sau khi cắt xong bạn thay thế file install.wim trong bộ cài bằng những file .swm. Khi cài đặt thì dòng Copy Windows files sẽ cho bạn biết tiến trình file được nối lại.
Lệnh cắt image này được sử dụng trong trường hợp bạn muốn ghi ra đĩa DVD hoặc ghi ra usb với định dạng FAT32. Các file SWM không hỗ trợ nén recovery.
Tóm lại, trong phần bài viết này tôi chỉ giới thiệu các bệnh cơ bản để rebuild bộ cài Windows như: info, export, delete, split. Các lệnh còn lại bạn xem thêm ở phần sau của loạt bài này và trên trang Microsoft.
Cách sử dụng công cụ NTLite để quản lý file wim
Như đã giới thiệu ở phần trên, NTLite là một công cụ giao diện đồ họa để giúp chúng ta quản lý, chỉnh sửa, thêm bớt,… các thành phần vào trong file wim. Các bạn tải NTLite tại đây: https://www.ntlite.com/download/
Sau khi tải về xong thì chúng ta cài đặt nó. Chúng ta chỉ cần sử dụng bản free thôi là cũng đáp ứng đủ nhu cầu trong các bài hướng dẫn của tôi. Sau khi setup xong phần mềm bạn mở NTLite lên. Bạn cần phải xả nén một file iso windows vào một folder nào đó. Trong góc trên bên trái chúng ta nhấn vào Add -> Image file (WIM, ESD, SWM) và chọn đến vị trí của file install.wim trong bộ cài bạn vừa mới xả nén.
Trong hình bên trên thì thông tin cũng như thứ tự các Image cũng đã hiển thị rất rõ ràng. Tuy nhiên, tôi cần lưu ý với các bạn một số cột sau:
- Flags: hay còn gọi với cái tên khác là SKU (Stock Keeping Unit). Nó chính là mã mà Microsoft đặt cho mỗi phiên bản Hệ điều hành của mình. Mã này là duy nhất và không giống nhau giữa các phiên bản.
- Size: Như trong hình bên trên thì con số 4567 chính là dung lượng chính xác của file install.wim tính bằng MB. Tiếp theo ở dòng của phiên bản Education chúng ta thấy có ghi là 14351 | 8739 có nghĩa là 14351 là dung lượng chính các mà phiên bản Education này sẽ sử dụng khi được cài vào ổ cứng tính bằng MB.
- Last change: đây chính là ngày cuối cùng image này được chỉnh sửa. Chúng ta sẽ thấy mỗi khi thực hiện xong các lệnh export, delete, split thì cột này nó lại thay đổi. Nhưng ngày là bạn nhìn thấy trong hộp thoại chọn phiên bản trong quá trình Windows Setup sẽ không thay đổi. Nó chỉ thay đổi khi bạn thực hiện lệnh dism /captureimage.
Thao tác Edit
Khi cần chỉnh sửa tên, mô tả và flags cho image nào thì bạn chỉ cần click phải chuột lên image đó và chọn Edit. Mặc định Tên và Mô tả sẽ giống nhau. Nếu giữa Tên và mô tả khác nhau nó sẽ hiển thị theo dạng Tên | Mô tả ở trong NTLite.
Thao tác Delete
Khi cần xóa image nào thì bạn chỉ cần click phải chuột lên image và chọn Delete.
Chọn Yes để xóa image 6
Thao tác Export
Như tôi đã chia sẻ ở bên trên, thao tác Delete ở bên trên là chỉ xóa thông tin trong file [1].xml. Những file dành riêng cho Image 6 này sẽ được di chuyển vào filer [DELETED]. Vậy để loại bỏ hoàn toàn thì chúng ta phải thực hiện thao tác export. Chúng ta sẽ thực hiện export lần lượt từ image 1. Click phải chuột lên image 1 và chọn Export -> WIM.
Nhập tên file và chọn vị trí lưu file install.wim
Kết quả
Tiếp tục với Image 2. Bạn cần export vào đúng vị trí vừa export image 1. Bạn sẽ thấy thông báo như bên dưới:
Chọn Yes nếu bạn muốn ghi đè file install.wim có sẵn từ trước. Chọn No thì sẽ ghi thêm một image nữa vào bên trong file install.wim. Click chọn No sẽ cho kết quả như bên dưới:
Lặp lại thao tác đó cho đến hết:
Nếu bạn không muốn làm từng thao tác thì bạn có thể click phải chuột lên trên dòng Operating systems | install.wim và chọn Export all -> WIM
Thao tác split
Click phải chuột lên dòng Operating systems | install.wim -> Convert -> SWM (Spanned, split)
Nhập vào ô Enter part size dung lượng tính bằng MB và giữa nguyên lựa chọn Replace source image nếu bạn muốn thay thế ngay lập tức file install.wim bằng install.swm
Kết quả:
Đây chỉ là file đầu tiên, file còn lại bạn vào vị trí như trong hình sẽ thấy nó.
Nếu bạn bỏ tích chọn Replace source image thì bạn cần chọn vị trí cho các file .swm sau khi cắt
Chọn vị trí lưu file:
Kết quả
Tóm lại, trong phần bài viết này tôi đã giới thiệu tới bạn các thao tác cơ bản để rebuild bộ cài Windows bằng NTLite như: Edit, Delete, Export, và split các image. Các thao tác còn lại tôi sẽ giới thiệu ở những phần sau của loạt bài viết này.
Kinh nghiệm
Chỉ với những hướng dẫn trong bài viết này tôi đã rebuild bộ cài Windows sau:
- Bộ cài Windows 7 SP1 All In One
- Bộ cài Windows 10 All In One
- Bộ cài Windows 10 – 7 All in One
- Bộ cài Windows 11 All In One
Công cụ bạn cần là những file iso nguyên gốc, NTLite (nếu bạn không muốn gõ lệnh), UltraISO và file MediaCreationTool được tải về từ đây. Khi tải bạn cần chọn cả 2 arch để Microsoft tạo ra menu boot cho cả x64 và x86. Sau khi tải về bạn mở file đó bằng UltraISO và xóa bỏ file install.esd trong folder \x64\sources và \x86\sources khi bạn build Windows 7. Với Windows 10 thì bạn xóa toàn bộ file và folder bên trong folder x64 và x86 và thay nó bằng toàn bộ file và folder trong 2 bản Windows 10 business x64 và Windows 10 business x86 (đã xóa file install.wim) tương ứng. Sau khi xóa xong thì bạn có thể thêm những file install.wim hoặc install.esd mà bạn vừa build và Save as nó sang một file khác.
Kết luận
Trong phần 1 của loạt bài viết về rebuild bộ cài Windows này tôi đã giới thiệu tới bạn cách sử dụng công cụ DISM và NTLite để quản lý, sắp xếp và thêm bớt các phiên bản Windows trong bộ bộ cài. Bạn có thể copy các lệnh bên trên tại đây. Trong quá trình bạn thao tác nếu còn vướng mắc gì bạn có thể để lại trong phần bình luận nhé. Cảm ơn bạn đã đọc bài!
Chúc bạn thành công!
Xem thêm: