軟的操作系統很早就開始使用安全標識符(SID)對計算機和用戶進行識別,如果你是域管理員,應該知道:分配給計算機賬號的叫 Machine SID,分配給用戶賬戶的是用戶賬戶 SID。處于工作組計算機的 SID 是由算法生成的,除特殊賬戶外,其它用戶的 SID 也是由算法生成的;而域中各對象的 SID 是由域范圍的 SID 和具有唯一性的相對標識符 (RID) 連接組成,RID 是在創建安全主體時由域中的 RID Master 分配的。RID Master 的作用是:分配可用 RID 池給域內的 DC 以及防止對象的 SID 重復。
為什么要進行Sysprep
當你從一臺主機克隆出多個 PC,或者使用同一虛擬機母板克隆出多臺 VM 之后,其 SID 勢必會相同,在加入域時會造成安全主體的識別混亂和加域失敗等。對于同一局域網中,存在相同 SID 的計算機或賬戶也可能會導致很多奇怪的問題,特別是權限和安全方面的問題。以上原理說清楚之后,大家便知道為什么要進行 Windows 10 Sysprep 操作了。
不可回避的是,也有很多 IT 管理員采用了各種克隆技術來快速批量部署數十、數百甚至上千臺的 PC 或服務器,這種以映像方式將 Windows 操作系統、應用程序和軟件配置進行批量分發的場景已經非常常見。那么 SID 是否重復就顯得尤為重要,如果不確定你的 Windows 10 客戶端是否有 SID 相同的情況,可以使用我們在之前介紹 Sysinternals 系列中所介紹的 psgetsid 工具進行查看。
之前 sysinternals 套件中提供了一個 newsid 小工具也可以實現清除 SID 的功能,但由于各種原因目前該工具已被取消,其作者 mark 也在其博客文章中進行了詳細解釋。因此,現在 Sysprep 已是被微軟所支持用于解決 SID 重復問題的唯一工具。
如何使用Windows 10 Sysprep
要在 Windwos 10 中執行 Sysprep 操作非常簡單,只需瀏覽到 C:\Windows\System32\sysprep 目錄執行sysprep.exe 文件即可。
在彈出的「系統準備工具」窗口中,我們通常會選擇「OOBE」和「通用」選項,其中的 OOBE 是指系統下次啟動之后重新進入配置界面(與全新安裝 Windows 10 之后的操作幾乎一樣),選擇「關機」是為方便管理員將該系統制作成虛擬機母板或要分發的映像母板。
如果你喜歡使用命令行,Sysprep 也支持命令行操作,可通過如下命令實現上述圖形界面的功能:
Sysprep /generalize /shutdown /oobe
為方便管理員制作虛擬機模板,Windwos 10 中的 sysprep 還支持 VM 模式,該模式可以方便地幫助管理員制作 VHD(X) 進行快速部署。VM 模式只支持在虛擬機中使用,而且只能通過命令行來操作:
Sysprep /generalize /oobe /mode:vm
一旦 Sysprep 開始執行操作,Windows 10 將在相關工作處理完成后按管理員的選擇進行關機或重啟。
操作執行完成后,我們就可以使用映像抓取工具進行捕獲后部署或將 VHD/VMDK 用于全新的虛擬機當中。所有進行過 Sysprep 操作的 Windows 10 由于剔除了安全標識符等操作系統主體信息,在下次啟動時會重新進入 OOBE 階段。
Windows 10內核涉及的文件包括但不限于以下幾類:
內核文件:Windows 10內核的核心組件文件存儲在C:\Windows\System32\ntoskrnl.exe。這個文件是操作系統的主要組成部分,負責管理系統資源、進程調度、內存管理等核心功能。
驅動程序文件:Windows 10內核支持各種硬件設備的驅動程序,這些驅動程序文件存儲在C:\Windows\System32\Drivers\目錄下。每個設備的驅動程序都有一個對應的.sys文件,如C:\Windows\System32\Drivers\nvlddmkm.sys 是NVIDIA顯卡驅動程序文件。
系統配置文件:Windows 10內核的系統配置文件存儲在C:\Windows\System32\Config\目錄下。其中最重要的是注冊表文件,包括SAM、SOFTWARE、SYSTEM和SECURITY等文件,用于存儲系統設置、用戶配置、安全策略等信息。
日志文件:Windows 10內核生成的日志文件存儲在C:\Windows\System32\LogFiles\目錄下。這些日志文件記錄了系統的運行狀態、錯誤和警告信息,有助于故障排查和性能分析。
DLL文件:Windows 10內核使用許多動態鏈接庫(DLL)文件來提供額外的功能和服務。這些DLL文件存儲在C:\Windows\System32\目錄下,如kernel32.dll、user32.dll等。
重要系統文件:除了上述文件外,Windows 10內核還包括一些重要的系統文件,如啟動文件bootmgr、引導配置數據BCD、系統恢復環境WinRE等。
服務文件:Windows 10內核提供了許多系統服務,這些服務的相關文件存儲在C:\Windows\System32\services.exe、C:\Windows\System32\svchost.exe等目錄下。其中,services.exe是系統服務控制管理器,負責啟動、停止、暫停和恢復系統服務;svchost.exe則是一個通用的進程承載器,可以運行多個服務。
文件系統驅動程序:Windows 10內核有多種文件系統驅動程序,用于處理不同類型的文件系統。例如,NTFS文件系統的驅動程序NTFS.sys存儲在C:\Windows\System32\Drivers\目錄下,FAT32文件系統的驅動程序FAT32.sys存儲在同一目錄下。
網絡協議驅動程序:Windows 10內核支持多種網絡協議,如TCP/IP、UDP、ICMP等。這些協議的驅動程序存儲在C:\Windows\System32\Drivers\目錄下,如tcpip.sys、udp.sys等文件。
安全性文件:Windows 10內核有多種安全性相關文件,如安全性標識符(SID)映射表文件、安全帳戶管理器文件、安全策略文件等,它們存儲在C:\Windows\System32\config\目錄下。
其他文件:除了上述文件之外,Windows 10內核還包括各種其他文件,如動態鏈接庫(DLL)文件、系統程序文件、數據文件等。這些文件在系統的正常運行中都扮演了重要的角色。
用戶數據文件:Windows 10內核涉及的用戶數據文件包括個人文檔、圖片、音樂、視頻等。這些文件通常存儲在用戶的個人文件夾(如C:\Users\用戶名\Documents)或公共文件夾(如C:\Users\Public\Documents)中。
應用程序文件:Windows 10內核支持各種應用程序的安裝和運行。這些應用程序的文件通常存儲在C:\Program Files\或C:\Program Files (x86)\目錄下,每個應用程序都有自己的文件和文件夾結構。
系統更新文件:Windows 10內核通過系統更新來提供安全性補丁和功能改進。這些更新文件通常存儲在C:\Windows\SoftwareDistribution\Download\目錄下,包括安裝程序、補丁文件等。
日志和錯誤報告文件:Windows 10內核生成的日志和錯誤報告文件有助于故障排查和問題解決。這些文件通常存儲在C:\Windows\Logs\目錄下,如Event Viewer日志文件、Windows Error Reporting錯誤報告文件等。
配置文件:Windows 10內核的配置文件存儲在各個目錄中,控制著系統的行為和設置。其中包括注冊表文件、組策略文件、配置腳本等。
媒體文件:Windows 10內核支持各種媒體格式的播放和處理,相關的媒體文件通常存儲在各個用戶文件夾中,如圖片文件、音樂文件、視頻文件等。