การฆ่า wininit.exe จะปิด Windows


13

เมื่อฉันฆ่าwininit.exeWindows 7 ก็ปิดตัวลงอย่างกระทันหัน ใครสามารถอธิบายสิ่งนี้โดยใช้กลไกของ Windows

ฉันรู้สึกว่าอาจเป็นเพราะกระบวนการนี้ให้บางสิ่งที่สำคัญหรืออาจเป็นคุณลักษณะความปลอดภัย


นี่คือการเก็งกำไรที่บริสุทธิ์ แต่ฉันคิดว่า wininit นั้นคล้ายกับ init ของ linux สิ่งนี้จะเริ่มต้นกระบวนการทำงานอื่น ๆ ทั้งหมด (และเป็นกระบวนการลูกของมัน) ดังนั้นการฆ่ามันจะปิดทุกกระบวนการ - ดังนั้นจึงเป็นการปิดระบบ
w4etwetewtwet

5
การเก็งกำไรนั้นผิดและมีกลไก Windows NT เฉพาะที่เล่นที่นี่ดังที่กล่าวไว้ในคำตอบบางส่วน
JdeBP

7
สำหรับผู้คนจำนวนมากการฆ่าwininit.exe(กระบวนการของระบบ) ทำให้เกิดความผิดพลาดนั้นไม่น่าแปลกใจเลยดังนั้นคุณอาจต้องการอธิบายว่าทำไมคุณถึงถามคำถามเลย มันคล้ายกับการถามเฮ้ทำไมระบบของฉันถึงปิดเมื่อฉันดึงสายไฟออก? ; มีคำตอบที่ดีอย่างสมบูรณ์ แต่ชัดเจนเกินไปดังนั้นบางคนอาจคิดว่ามันโง่และไร้จุดหมาย ฉันเดาได้ดีที่สุดว่าทำไมคุณถึงถามเพราะคุณคิดว่ามันควรจะเป็นเพียงส่วนหนึ่งของกระบวนการบู๊ตเพราะชื่อและคุณคาดหวังว่ามันจะไม่ถูกใช้หลังจากการบูทสำเร็จ
Synetech

@Synetech ฉันไม่พบว่ามีความโปร่งใสตามที่คุณดูเหมือนจะ
Simon Kuang

1
แน่นอน แต่ข้อสังเกตเกี่ยวกับสาเหตุที่คุณพบว่าน่าแปลกใจจะให้ความเชื่อถือกับคำถามนั้นมากขึ้น บางครั้งผู้คนถามคำถามที่ดูเหมือนชัดเจนเกินไปซึ่งถูกดูหมิ่นเพราะคนอื่นคิดว่าผู้โพสต์นั้นไม่ได้มองหาคำตอบจริงๆและพยายามที่จะทำบางประเด็นเท่านั้น คำถามของคุณอาจอยู่ในประเภทใดประเภทหนึ่งและฉันแค่คิดว่าคำอธิบายของความสับสนของคุณจะช่วยชี้แจง คำถามนี้ดูเหมือนชัดเจนเพราะwininit.exeเป็นลำดับความสำคัญสูง, การป้องกันSYSTEMและกระบวนการไม่ได้จบลงได้ง่ายดังนั้นจึงควรจะไม่แปลกใจว่ามันทำให้เกิดปัญหาถ้าฆ่า
Synetech

คำตอบ:


41

จาก Windows Internals ตอนที่ 1

กระบวนการเตรียมใช้งาน Windows (Wininit.exe)

  • ทำเครื่องหมายว่าสำคัญอย่างยิ่งหากระบบออกก่อนเวลาอันควรและระบบถูกบูตในโหมดการแก้ไขข้อบกพร่องระบบจะหยุดทำงานในดีบักเกอร์ (หากไม่ใช่ระบบจะหยุดทำงาน)
  • ทำให้โครงสร้างพื้นฐานการกำหนดตารางผู้ใช้เป็นค่าเริ่มต้น
  • สร้างโฟลเดอร์% windir% \ temp
  • สร้าง window window (Winsta0) และสองเดสก์ท็อป (Winlogon และ Default) เพื่อให้กระบวนการทำงานในเซสชั่น 0
  • สร้าง Services.exe (Service Control Manager หรือ SCM)
  • เริ่ม Lsass.exe (เซิร์ฟเวอร์ระบบย่อยการรับรองความปลอดภัยในระบบ)
  • เริ่ม Lsm.exe (Local Session Manager)
  • รอตลอดไปสำหรับการปิดระบบ

6
+1 คำตอบที่มาอย่างละเอียด - สิ่งที่หายาก
kinokijuf

20

สิ่งนี้ถูกต้อง wininit.exeถูกกำหนดธงว่ามีความสำคัญ

ป้อนคำอธิบายรูปภาพที่นี่

และไม่อนุญาตให้ฆ่ากระบวนการสำคัญของระบบและ Windows จะตรวจสอบระบบด้วยCRITICAL_OBJECT_TERMINATION


7

โพสต์บน groovypost.comอธิบายที่มาของwinit.exe( "Windows เริ่มต้น") และในวันนี้มันเป็นหลักทำหน้าที่เป็นตัวเปิดที่ส่วนใหญ่ของการใช้งานพื้นหลังที่กำลังทำงานอยู่เสมอ

ดูภาพหน้าจอในบล็อกโพสต์นั้นซึ่งอธิบายว่าการฆ่าwininit.exeกระบวนการจะมีผลกับทุกสิ่งที่เปิดตัวโดยกระบวนการนั้น:

[... ] wininit.exe เป็นกระบวนการสำคัญของระบบ Windows ที่ต้องใช้ในการทำงาน การสิ้นสุดกระบวนการนี้อาจส่งผลให้เกิดข้อผิดพลาดของระบบที่สำคัญซึ่งคุณต้องรีสตาร์ทคอมพิวเตอร์ ที่คุณสามารถดูในรูปด้านล่าง Wininit.exe อยู่ที่ด้านบนของต้นไม้กระบวนการสำหรับบริการทั้งหมดของหน้าต่างรวมทั้งsvchost.exe

ภาพหน้าจอของ process explorer


2
แต่การฆ่ากระบวนการใน Windows ไม่ได้บังคับให้ยกเลิกกระบวนการที่สร้างขึ้น Windows ไม่ทำงานเช่นนั้น
เจมี่ Hanrahan

3

wininit.exeกระบวนการหน้าต่างเริ่มต้นขึ้นโปรแกรมที่พบใน%systemroot%\system32โฟลเดอร์ (ในระบบส่วนใหญ่% systemroot% แมปไปยัง C: \ Windows)

ในระหว่างการบูตกระบวนการ smss.exe จะสร้าง wininit ซึ่งจะสร้าง lsass.exe (ระบบย่อยความปลอดภัยท้องถิ่น), services.exe (ตัวจัดการควบคุมบริการ) และ lsm.exe (Local Session Manager)

เช่นเดียวกับcsrss.exeกระบวนการการยกเลิกกระบวนการ wininit.exe จะทำให้เครื่องเกิดข้อผิดพลาดด้วยรหัส STOP 0xF4 (CRITICAL_OBJECT_TERMINATION) (แต่น่าสนใจคือระงับกระบวนการได้ )

เนื่องจาก wininit.exe อยู่ในโฟลเดอร์ system32 หากพบ wininit.exe อยู่นอกโฟลเดอร์ (ใน C: \ Windows \ หรือในโฟลเดอร์ข้อมูลแอปพลิเคชันของคุณ) นั่นอาจเป็นอันตรายมากที่สุด


นี่เป็นคำตอบที่ซ้ำซ้อนของ David Marshall
kinokijuf

2
@kinokijuf ยังคงรับ 10 reps (และเท่าที่ผ่านมา), ไม่เลว =)
Andrew Savinykh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.