เพื่อวินิจฉัยสาเหตุของการบูท Windows ช้า มีเครื่องมือและเทคนิคการวิเคราะห์ล็อกที่ทรงพลังหลายอย่าง ที่ช่วยให้สามารถดีบั๊กขั้นตอนการบูทและการเริ่มบริการได้อย่างละเอียด (xperf/xbootmgr จาก Windows Performance Toolkit / Analyzer) แต่การใช้งานอาจก่อให้เกิดปัญหาบางอย่าง โดยเฉพาะสำหรับผู้ดูแลระบบมือใหม่ ในบทความนี้เราจะแสดงวิธีตรวจจับอย่างง่ายและรวดเร็วว่า แอป บริการ และไดรเวอร์ตัวไหนทำงานช้าระหว่างการเริ่มระบบ ทำให้เวลาบูทรวมเพิ่มขึ้น
แน่นอนว่าผู้ดูแลระบบ Windows ทุกคนควรคุ้นเคยกับ Process Monitor จากชุดยูทิลิตี้ Sysinternals Process Monitor ช่วยตรวจสอบกิจกรรมของกระบวนการที่กำลังทำงาน การเข้าถึงระบบไฟล์ และรีจิสทรีในเวลาจริง ฟีเจอร์หนึ่งของ Process Monitor ที่น้อยคนรู้ คือ โอกาสในการเปิดใช้งานการตรวจสอบกระบวนการที่เริ่มระหว่างการเริ่มต้น Windows
เพื่อวินิจฉัยขั้นตอนบูท Process Monitor สร้างบริการแยกต่างหากในส่วน HKLM\SYSTEM\CurrentControlSet\Services ของรีจิสทรี บริการนี้โหลดไดรเวอร์โหมดบูท procmon23.sys ที่เริ่มทำงานหลังจาก Winload.exe ทำงาน และบันทึกกิจกรรมของกระบวนการทั้งหมดที่รันระหว่างการบูทระบบและล็อกอินผู้ใช้
- ดาวน์โหลดและแตกไฟล์ที่มี Process Monitor (https://download.sysinternals.com/files/ProcessMonitor.zip)
- รัน procmon.exe ด้วยสิทธิ์แอดมิน
- เลือก Enable Boot Logging ในเมนู Options

- ในหน้าต่างถัดไป เลือก Generate thread profiling events -> Every second ในโหมดนี้ ไดรเวอร์ procmon จะจับสถานะของกระบวนการทั้งหมดทุกวินาที

- รีสตาร์ทคอมพิวเตอร์และรอจนกว่าเดสก์ท็อปจะปรากฏ
- procmon23.sys จะบันทึกเหตุการณ์ทั้งหมดจนกว่าผู้ใช้จะเริ่ม Process Monitor หลังจากนั้น โหมด Boot Logging จะถูกปิดใช้งาน
- ในหน้าต่าง Process Monitor ยอมรับข้อเสนอที่จะบันทึกข้อมูลที่รวบรวมไว้ในไฟล์
- เลือกไดเรกทอรีที่ต้องการบันทึกไฟล์และรอจนเสร็จ ในกรณีของผม มีไฟล์ 3 ไฟล์: Bootlog.pml, Bootlog-1.pml และ Bootlog-2.pml ขนาดรวม 700 MB ปรากฏในไดเรกทอรีเป้าหมาย
- ในหน้าต่าง ProcMon คลิกที่ส่วนหัวตาราง แล้วคลิก Select Columns และเปิดใช้งานการแสดงคอลัมน์ Duration

- สร้างตัวกรองใหม่ในเมนู Filter

- เลือก Duration เป็นพารามิเตอร์ตัวกรอง more than เป็นเงื่อนไข และระบุค่า 10

- ดังนั้น ในรายการกระบวนการจะเหลือเฉพาะกระบวนการที่ใช้เวลาเกิน 10 วินาทีในการดำเนินการบางอย่าง (ผมเลือก 10 วินาทีเพื่อให้ตัวอย่างชัดเจนขึ้น)

- เพื่อวิเคราะห์กระบวนการบูท คุณยังสามารถใช้ฟีเจอร์ Tools -> Process Tree ที่แสดงกระบวนการทั้งหมดเป็นต้นไม้กราฟิก พร้อมข้อมูลเกี่ยวกับการเริ่มต้น ระยะเวลา และการสิ้นสุดของแต่ละกระบวนการ

คุณเพียงแค่ต้องวิเคราะห์รายการกระบวนการที่ได้ (หากจำเป็น สามารถวิเคราะห์เพิ่มเติมของกระบวนการที่มีปัญหาได้ โดยเปิดใช้งานตัวกรองตามชื่อไฟล์ที่ทำงาน) จับคู่กระบวนการและบริการ แอป หรือไดรเวอร์ และเพิ่มประสิทธิภาพระบบของคุณ
โดยทั่วไป การวิเคราะห์แบบนี้ช่วยตรวจจับกระบวนการช้า โปรแกรมติดไวรัส (ควรวิเคราะห์กระบวนการลูกของ Winlogon.exe ก่อน) ตัดสินใจถอนการติดตั้ง/อัปเดตซอฟต์แวร์หรือไดรเวอร์ที่มีปัญหา ปิดใช้งานบริการบางอย่าง หรือเปลี่ยนประเภทการเริ่มต้น (Delayed หรือ Manual start) นำแอปบางอย่างออกจาก Autostart บ่อยครั้งซอฟต์แวร์แอนตี้ไวรัสและซอฟต์แวร์ที่ใช้ทรัพยากรมาก จะอยู่ในรายการนี้