Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 10

อัปเกรด Windows 10 Build ด้วยคำสั่ง Setup.exe Command-Line Switches

โปรแกรมติดตั้ง setup.exe ในไฟล์ติดตั้ง Windows 10 มีพารามิเตอร์บรรทัดคำสั่ง (Command-Line Parameters) จำนวนมาก ซึ่งผู้ดูแลระบบสามารถนำไปใช้เพื่อทำ In-place Upgrade แบบเงียบ (Silent) และไม่ต้องดูแล (Unattended) บนคอมพิวเตอร์ผู้ใช้ผ่าน SCCM, MDT หรือเครื่องมือปรับติดตั้งอื่นๆ บทความนี้จะแสดงวิธีใช้พารามิเตอร์ setup.exe สำหรับตรวจสอบความเข้ากันได้และอัปเกรดเป็น Windows 10 Build ล่าสุด

พารามิเตอร์บรรทัดคำสั่งของ Windows 10 Setup.exe

รูปแบบทั่วไปและพารามิเตอร์หลักของ Setup.exe มีดังนี้:

/1394Debug:<channel> [BaudRate:<baudrate>]
/AddBootMgrLast
/Auto {Clean | DataOnly | Upgrade}
 BitLocker {AlwaysSuspend | TryKeepActive | ForceKeepActive}
 /BusParams:<bus.device.function>
 /CompactOS {Enable / Disable}
 /Compat {IgnoreWarning / ScanOnly}
 /CopyLogs<location>
 /Debug:<port> [BaudRate:<baudrate>]
 /DiagnosticPrompt {enable | disable}
 /DynamicUpdate {enable | disable}
 /EMSPort: {COM1 | COM2 | off} [/emsbaudrate:<baudrate>]
 /InstallDrivers<location>
 /InstallFrom<path>
 /InstallLangPacks<location>
 /m:<folder_name>
 /MigNEO Disable
 /MigrateDrivers {all | none}
 /NetDebug:hostip=<w.x.y.z>,port=<n>,key=<q.r.s.t>[,nodhcp][,busparams=n.o.p]
 /NoReboot
 /PKey<product key>
 /Priority Normal
 /PostOOBE<location> [\setupcomplete.cmd]
 /PostRollback<location> [\setuprollback.cmd] [/postrollbackcontext {system / user}]
 /Quiet
 /ReflectDrivers<location>
 /ResizeRecoveryPartition {Enable / Disable}
 /ShowOOBE {full / none}
 /Telemetry {Enable / Disable}
 /TempDrive <drive_letter>
 /Unattend:<answer_file>
 /Uninstall {enable / disable}
 /USBDebug:<hostname>
 /WDSDiscover
 /WDSServer:<servername>

รายละเอียดครบถ้วนดูได้ที่เอกสาร Microsoft: Windows Setup Command-Line Options

สร้างไฟล์ ISO ติดตั้ง Windows 10 เวอร์ชันล่าสุด

ก่อนอัปเกรด ต้องมี ISO Image ที่มี Windows 10 Build ล่าสุด สร้างได้ด้วย Media Creation Tool:

  1. ดาวน์โหลด Media Creation Tool จาก Microsoft
  2. รัน MediaCreationTool2004.exe (หรือเวอร์ชันใหม่กว่า) เลือก Create installation media (USB flash drive, DVD, or ISO file)
  3. เลือก Language, Edition, Architecture
  4. เลือก ISO file ระบุชื่อไฟล์และตำแหน่งจัดเก็บ
  5. รอจนดาวน์โหลดและสร้าง ISO เสร็จสิ้น

แตกไฟล์ ISO ไปไว้ที่ File Server หรือ Shared Folder สำหรับการปรับติดตั้ง

ตรวจสอบความเข้ากันได้ก่อนอัปเกรด (Compatibility Check)

รันคำสั่งต่อไปนี้เพื่อตรวจสอบความเข้ากันได้โดยไม่ทำการอัปเกรดจริง:

start /wait setup.exe /Auto Upgrade /Quiet /NoReboot /DynamicUpdate Disable /Compat ScanOnly

คำอธิบายพารามิเตอร์:

  • /Auto Upgrade – โหมดอัปเกรดอัตโนมัติ
  • /Quiet – ซ่อนหน้าต่าง Wizard
  • /NoReboot – ปิดการรีสตาร์ทอัตโนมัติ
  • /DynamicUpdate Disable – ไม่ดาวน์โหลดอัปเดตล่าสุดจาก Windows Update
  • /Compat ScanOnly – ตรวจสอบความเข้ากันได้อย่างเดียว

ตรวจสอบผลลัพธ์จากไฟล์ Log:

  • C:\$Windows.~BT\Sources\Panther\setupact.log – ดูความคืบหน้า
  • C:\$Windows.~BT\Sources\Panther\setuperr.log – ดูรหัสข้อผิดพลาด

รหัสผลลัพธ์ (Result Code) จะอยู่ในบรรทัด CSetupHost::Execute(xxx): Result = xxxxxxxx แปลงจาก Decimal เป็น Hexadecimal (เช่น -1047526896 → 0xC1900210)

รหัสข้อผิดพลาดที่พบบ่อย:

รหัส (Hex)ความหมาย
0xC1900210ไม่พบปัญหา (เข้ากันได้)
0xC1900208พบปัญหาความเข้ากันได้ (แอป/ไดรเวอร์บล็อก)
0xC1900204 / 0xC190010Eอัปเกรดอัตโนมัติไม่ได้ (Edition/Architecture ผิด)
0xC1900200ไม่ผ่านข้อกำหนดฮาร์ดแวร์ขั้นต่ำ
0xC190020Eพื้นที่ดิสก์ไม่เพียงพอ
0xC1420127ปัญหา WIM Image

ใช้เครื่องมือ SetupDiag.exe เพื่อวิเคราะห์รายละเอียดสาเหตุ (เช่น แอปบล็อก เช่น McAfee VirusScan Enterprise)

ทำให้การอัปเกรดเป็นอัตโนมัติจาก Command Prompt

หากไม่มีปัญหาความเข้ากันได้ ให้สร้างไฟล์ Batch run_win10_upgrade.bat ใน Shared Folder ที่แตก ISO ไว้:

start /wait .\W102004\Windows10x64-2004\setup.exe /auto upgrade /DynamicUpdate disable /showoobe None /Telemetry Disable
  • /Auto:Upgrade – เก็บแอปและข้อมูลผู้ใช้ทั้งหมด
  • /Auto:DataOnly – เก็บเฉพาะข้อมูลผู้ใช้ (ไม่เก็บแอป)
  • /MigrateDrivers all – บังคับย้ายไดรเวอร์ทั้งหมด

ใช้ไฟล์ SetupConfig.ini (Windows 10 1607+)

สร้างไฟล์ SetupConfig.ini ในโฟลเดอร์เดียวกับ setup.exe:

[SetupConfig]
NoReboot
ShowOobe=None
Telemetry=Disable
DynamicUpdate=Disable

รันคำสั่ง:

Setup.exe /ConfigFile setupconfig.ini

วิธีนี้เหมาะสำหรับการปรับติดตั้งจำนวนมากผ่าน SCCM/MDT ลดความซับซ้อนของบรรทัดคำสั่ง