ที่สุดของการบริการ (ถ้าไม่ทั้งหมด) สามารถควบคุมผ่านทางค่าStart
ภายใต้คีย์รีจิสทรีHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>
ทราบกรุณาว่าCurrentControlSet
ในรีจิสทรีคีย์ดังกล่าวคือการเชื่อมโยงอย่างใดอย่างหนึ่งControlSet001
หรือControlSet002
ตามที่อธิบายไว้ที่นี่
ตอนนี้ค่า "เริ่มต้น" สามารถมีค่าได้ตั้งแต่ 0 ถึง 4 ( sc config สำหรับการอ้างอิง ):
- 0 - boot - ระบุไดรเวอร์อุปกรณ์ที่โหลดโดยตัวโหลดการบูต
- 1 - ระบบ - ระบุไดรเวอร์อุปกรณ์ที่เริ่มต้นในระหว่างการเริ่มต้นเคอร์เนล
- 2 - อัตโนมัติ - ระบุบริการที่จะเริ่มโดยอัตโนมัติทุกครั้งที่มีการรีสตาร์ทคอมพิวเตอร์และทำงานแม้ว่าจะไม่มีใครเข้าสู่ระบบคอมพิวเตอร์
- 3 - อุปสงค์ (แมนนวล) - ระบุบริการที่ต้องเริ่มด้วยตนเอง นี่เป็นค่าดีฟอลต์หากไม่ได้ระบุ start =
- 4 - ปิดใช้งาน - ระบุบริการที่ไม่สามารถเริ่มได้ หากต้องการเริ่มบริการที่ปิดใช้งานให้เปลี่ยนประเภทเริ่มเป็นค่าอื่น
ในขณะที่ไปที่บริการบ้าที่ปิดการใช้งานครั้งแรกตรวจสอบค่าเริ่มต้นของบริการและทำเครื่องหมายลงเตรียมตัวเองด้วยสื่อการบูตอื่น (สื่อการติดตั้ง Windows ใด ๆ ที่จะทำ) ในกรณีที่ระบบจะไม่สามารถบูตได้เนื่องจากบริการที่จำเป็น
ถ้าอึเกิดขึ้นบูตจากสื่อภายนอกสลับไปยังคอนโซล (Shift + F10 IIRC)> regedit> ชี้ไปที่ HKEY_LOCAL_MACHINE และ <systemdrive>:\Windows\System32\config\SYSTEM
"โหลดรัง"> ตอนนี้ค้นหาภายใต้กลุ่มที่โหลดControlSet001\Services
และคุณสามารถยกเลิกข้อผิดพลาดก่อนหน้าด้วยการตั้งStart
ค่าเป็นค่าเริ่มต้น
ต่อไปนี้เป็นแบตช์สคริปต์เล็กน้อยเพื่อแสดงรายการบริการ "เริ่มต้น" (เริ่มต้นจนกระทั่งแก้ไขโดยผู้ใช้ซึ่งจะกลายเป็นค่า "เริ่มต้น") ภายใต้HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
:
@echo off
setlocal enabledelayedexpansion
set KEY=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
for /f "tokens=5 delims=\" %%a in ('reg query !KEY! /s /v "start"') do (
set SERVICE=%%a
for /f "tokens=3" %%b in ('reg query !KEY!\!SERVICE! /v "start" ^| findstr /i "start"') do (
echo !KEY!\!SERVICE! - "Start" %%d
)
)
endlocal
วางรหัสด้านบนเพื่อdefaultservices.bat
เรียกใช้และdefaultservices.bat > defaultservices.txt
สร้างไฟล์ข้อความซึ่งสามารถนำมาใช้ในภายหลังเพื่อดูค่าเริ่มต้นของบริการ