ฉันพบข้อผิดพลาดแปลก ๆ เมื่อพยายามเรียกใช้ SysPrep บนระบบที่ติดตั้ง ซึ่งจะใช้สร้างอิมเมจอ้างอิงเพื่อปรับใช้ Windows 10 โดยใช้ System Center Configuration Manager 2012 R2 หลังจากเริ่ม SysPrep ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น:
Sysprep ไม่สามารถตรวจสอบการติดตั้ง Windows ของคุณได้ โปรดดูรายละเอียดในล็อกไฟล์ที่ %Windows%\System32\Sysprep\Panther\setupact.log หลังจากแก้ไขปัญหาแล้ว ให้ใช้ Sysprep เพื่อตรวจสอบการติดตั้งของคุณอีกครั้ง
มาเปิดไฟล์บันทึก Sysprep setupact.log และวิเคราะห์ข้อผิดพลาด
2016-10-23 13:12:51 เกิดข้อผิดพลาด [0x0f0036] SYSPRP spopk.dll::Sysprep จะไม่ทำงานบนระบบปฏิบัติการที่อัปเกรดแล้ว . คุณสามารถเรียกใช้ Sysprep ได้เฉพาะใน Windows เวอร์ชันการติดตั้งแบบกำหนดเอง (ใหม่ทั้งหมด)ข้อผิดพลาดนี้ชัดเจนว่าไม่สามารถเรียกใช้ SysPrep ได้บนระบบที่อัปเกรดจาก Windows เวอร์ชันก่อนหน้า เป็นเพียงกรณีของเรา:ระบบได้รับการอัพเกรดจาก Windows 7 เป็น Windows 10 ตามบทความในฐานความรู้ KB828287:Microsoft ไม่สนับสนุนการใช้ Sysprep เพื่อสร้างภาพของการติดตั้งที่ได้รับการอัพเกรด ( การติดตั้ง SP ไม่ถือเป็นการอัปเกรด) . รองรับ SysPrep ในการติดตั้งใหม่ทั้งหมดเท่านั้น คุณต้องติดตั้งระบบใหม่ทั้งหมดหรือไม่
ฉันจัดการเพื่อหาวิธีแก้ปัญหาง่ายๆ การใช้ Process Monitor กับตัวกรองตามกระบวนการ sysprep.exe และเมื่อเปรียบเทียบ Windows 10 เวอร์ชันที่สะอาดและอัปเกรดแล้ว ฉันจะได้รับรายการคีย์การลงทะเบียนที่ SysPrep ตรวจสอบเมื่อเริ่มต้น ซึ่งอนุญาตให้ระบุได้ว่าระบบสะอาดหรืออัปเกรดแล้ว นี่คือสิ่งที่คุณต้องทำเพื่อลบเครื่องหมายของระบบที่อัปเกรดแล้วสำหรับ Windows 10 ที่ตรวจสอบโดย SysPrep (ใช้งานได้ใน Windows เวอร์ชันอื่นด้วย):
สำคัญ . Microsoft ไม่รองรับโซลูชันที่อธิบายไว้อย่างเป็นทางการ และไม่รับประกันว่าคุณจะไม่มีปัญหากับอิมเมจระบบที่คุณได้รับในลักษณะนี้- เปิด Registry Editor (regedit.exe )
- ไปที่ HKEY_LOCAL_MACHINE\SYSTEM\Setup\
- ลบ อัปเกรด คีย์ (ถ้ามี) และค่ารีจิสทรีที่มีชื่อ อัปเกรด
- ใน HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus คีย์ ระบุ CleanupState มีค่าเท่ากับ 7
- รีสตาร์ทคอมพิวเตอร์แล้วลองเรียกใช้ SysPrep อีกครั้ง
คุณสามารถทำได้โดยลบโปรไฟล์ผู้ใช้ทั้งหมด (ถ้ามี) ถอนการติดตั้งแอปพลิเคชัน Metro ทั้งหมดสำหรับผู้ใช้ทั้งหมด (ไม่แนะนำ) หรือถอนการติดตั้งแอปพลิเคชันดังกล่าวด้วยตนเอง ตัวเลือกสุดท้ายสามารถทำได้ดังนี้:
- รับรายการแอปพลิเคชัน Metro ที่ติดตั้งทั้งหมดในโปรไฟล์ผู้ใช้ทั้งหมด (เราต้องการเฉพาะแพ็คเกจที่มีสถานะติดตั้ง):
Get-AppxPackage -AllUser | Format-List -Property PackageFullName,PackageUserInformation
- และถอนการติดตั้งทีละรายการดังนี้
Remove-AppxPackage -Package <packagefullname>
. หรือเช่นนี้Remove-AppxProvisionedPackage -Online -PackageName <packagefullname>