จะบอกได้อย่างไรว่า Windows และโปรแกรมเริ่มต้นทั้งหมดได้ทำการบูทเสร็จสิ้นแล้ว?


37

เครื่องของฉัน (Windows 7 64 บิต) ใช้เวลาประมาณ 3-4 นาทีในการบูตโดยสมบูรณ์ มีวิธีใดบ้างที่จะบ่งบอกว่าการบู๊ตเสร็จสมบูรณ์เสียง / ป๊อปอัพบางอย่างไม่ว่าจะโดยการใช้ฟีเจอร์ Windows in-built หรือแอพพลิเคชั่นอื่น ๆ

ฉันต้องการเมื่อทั้ง windows และโปรแกรมเริ่มต้นทั้งหมดได้ทำการบูทเสร็จสิ้น

บางครั้งฉันมักจะนั่งรอหน้าเครื่องเวลานั้นสามารถนำไปใช้กับกุ๊กกิ๊กได้ดีขึ้น

นี่คือลักษณะที่ปรากฏเมื่อไฟฮาร์ดดิสก์หยุดกะพริบ:

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


2
หลังจากกระบวนการเข้าสู่ระบบ ... กระบวนการพื้นหลังทั้งหมด ฯลฯ shebang ทั้งหมด
Firee

3
คุณอาจต้องการเพิ่มความหมายของ "การบูทเสร็จสมบูรณ์": โหลดโปรแกรมทั้งหมดหรือโหลดระบบปฏิบัติการ Windows แล้ว
zurfyx

3
ฉันค่อนข้างแน่ใจว่าไม่มีคำตอบที่ชัดเจน กระบวนการพื้นหลังบางอย่างรอให้พีซีว่างก่อนที่จะเริ่มกระบวนการบางอย่างจะรอช่วงเวลาที่แน่นอน มันยากที่จะคาดการณ์ว่าFooUpdater.EXEจะนอนหลับเป็นเวลา 7 นาที
MSalters

2
บางทีอาจจะตรวจพบเมื่อกระบวนการยุ่งในที่สุดกลายเป็นงานว่างสำหรับคุณ? ถ้าเป็นเช่นนั้นทริกเกอร์งาน "On Idle" ของ Windows Task Manager จะไม่เพียงพอหรือไม่
Ƭᴇcʜιᴇ007

2
มีเวลาเพียงพอสำหรับ "กุ๊กกิ๊ก" 3-4 นาทีจริงหรือ oO
Jason C

คำตอบ:


25

มีคำตอบที่อาจเป็นประโยชน์มากมายที่นี่ แต่ฉันคิดว่ามีสองจุดสำคัญที่ยังไม่ได้ทำ:

  1. ไม่มันเป็นไปไม่ได้ที่จะกำหนดโดยทางโปรแกรมว่า Windows และโปรแกรมเริ่มต้นทั้งหมดได้ทำการบูทเสร็จสิ้นแล้ว นี่เป็นปัญหาการหยุดชะงักและไม่มีโปรแกรมออกไปที่นั่นที่จะสามารถตอบคำถาม "สำหรับโปรแกรมที่กำหนดเองนี้เราควรจะบอกว่ามันโหลดแล้ว ณ จุดใด?"

  2. ปัญหาจริงที่คุณพยายามแก้ไขคืออะไร คำตอบทั้งหมดที่นี่พยายามค้นหาวิธีแก้ปัญหาสำหรับคำถามของคุณ แต่คำถามนั้นรู้สึกเหมือนว่าอาจขาดข้อมูลสำคัญบางอย่าง เราต้องการที่จะแก้ปัญหาของคุณไม่เพียงตอบคำถามที่ว่า

อ่านคำถามของคุณอีกครั้งและทำตามสิ่งที่คุณพูดการตอบของฉันจะเป็นหนึ่งใน:

  • ไม่ต้องกังวลและเริ่มใช้คอมพิวเตอร์ของคุณ งานเบื้องหน้าได้รับการจัดลำดับความสำคัญและหากคุณไม่มีสิ่งผิดปกติเกิดขึ้นจริง ๆ มันก็ไม่สำคัญว่างานพื้นหลังกำลังทำงานอยู่หรือไม่

หรือ:

  • คอยดูระบบด้วยตนเองสองสามครั้งและหาระยะเวลาสูงสุดก่อนที่ระบบจะ "พร้อม" ตามเมตริกที่คุณมี รับโปรแกรมตัวจับเวลาหรือสคริปต์ขนาดเล็กแล้วเพิ่มลงในการเริ่มต้นระบบของคุณ มันสามารถแสดงข้อความหรือเล่นเสียงเมื่อเวลาที่คุณเลือกได้ผ่านไป

สิ่งนี้อาจไม่ตอบคำถามปัจจุบันของคุณโดยตรง แต่หวังว่าจะเป็นประโยชน์


3
นี่คือคำตอบที่ดีที่สุด (และถูกต้องที่สุดในด้านเทคนิค) สำหรับหนึ่งในเหตุผลที่ IMO: จะเน้นถึงความกำกวมในการกำหนด "โปรแกรมเริ่มต้นทั้งหมดได้ทำการบูทเสร็จสิ้น" ฉันยอมรับว่าปัญหาการหยุดชะงักนั้นค่อนข้างเกี่ยวข้อง แต่เฉพาะในกรณีของกระบวนการที่เปิดตัวซึ่งจะสิ้นสุดลง แม้ว่าใครสามารถตรวจสอบปริมาณการใช้ CPU ของโปรแกรมต่าง ๆ หลังจากการบูทและใช้ขีด จำกัด ที่กำหนดไว้ล่วงหน้าเพื่อกำหนดเมื่อคอมพิวเตอร์ "บูทเสร็จสิ้น" ซึ่งครอบคลุมเฉพาะกรณีย่อย ๆ (โดยเฉพาะกระบวนการที่ประสิทธิภาพการโหลดส่วนใหญ่เป็น CPU) .
Breakthrough

@Breakthrough จุดดีและแก้ไขขอบคุณ ฉันพยายามแสดงความคิดที่ชัดเจนว่าสำหรับโปรแกรมใดก็ตามที่ดำเนินการเมื่อเริ่มต้นมันอาจทำสิ่งที่คาดเดาไม่ได้: (1) เริ่มแล้วสิ้นสุด (2) เริ่มและทำงานต่อ (3) เริ่มต้นและวางไข่เพิ่มเติม กระบวนการจากนั้นทำ (1) หรือ (2) แม้ว่าการอ้างอิงแนวคิดของ "สมบูรณ์" กับการใช้ทรัพยากรก็ไม่เหมาะอย่างยิ่งเนื่องจากการโหลดล่าช้าและความจริงที่ว่าบางโปรแกรมอาจรอจนกว่าระบบจะ "ว่าง" เพื่อเริ่มทำงานเพิ่มเติมบางอย่าง
Nick

ทำให้หนึ่งสงสัยว่ามีประโยชน์ธง "ไม่ได้ใช้งาน" หรือ "booted" จะเป็นกระบวนการถาวร / daemon (คำเตือนคือมันจะมีประโยชน์เฉพาะในกรณีที่ดำเนินการในทุกกระบวนการที่คุณรอ ... )
Breakthrough

@Breakthrough หากฉันไม่เข้าใจผิด linux ก็systemdมีสิ่งนี้ซึ่งโดยหลักการแล้วใคร ๆ ก็สามารถเริ่มบริการได้หลังจากที่คนอื่น ๆ เริ่มต้นผ่านกลไกการพึ่งพาของมัน คุณต้องระบุทั้งหมดด้วยตนเอง ( systemdความรู้ของฉันไม่ค่อยดีนัก)
rubenvb

@Nick ขอบคุณสำหรับเหตุผลที่อยู่เบื้องหลังการพยายามหาทางแก้ปัญหามันให้มุมมองที่สดใหม่ ฉันคิดว่าคงเป็นวิธีแก้ปัญหาที่ง่ายมาก แต่มันก็ไม่ได้เป็นเช่นนั้น ... ในตอนนี้ฉันจะใช้โปรแกรมจับเวลาขนาดเล็กซึ่งทำให้ฉันรู้ว่าเวลาที่กำหนดนั้นสิ้นสุดลง
Firee

11

ทำไมไม่ใช้ Windows Task Scheduler และ Event ID 100 เพื่อเล่นเสียงที่กำหนดเองเมื่อ Windows เสร็จสิ้นจริงๆ

ภายใต้ทริกเกอร์เลือก "ในเหตุการณ์" และ

  • บันทึก: LogMicrosoft-Windows-Diagnostics-Performance / Operational
  • ที่มา: การวินิจฉัยประสิทธิภาพ
  • รหัสเหตุการณ์: 100

ภายใต้การกระทำเลือก "เริ่มโปรแกรม" ด้วย


1
ฉันต้องการเมื่อทั้งหน้าต่างและโปรแกรมเริ่มต้นทั้งหมดได้บูตเสร็จ
Firee

2
FWIW: ในเวลาที่ได้รับคำตอบนี้ OP กล่าวถึง "Windows startup" เท่านั้น ส่วนที่สองรวมถึงโปรแกรมเริ่มต้นทั้งหมดถูกเพิ่มเข้ามาในภายหลัง!
nixda

ความคิดเห็นโดยผู้ใช้ที่ไม่ระบุชื่อ: วิธีนี้ใช้งานได้ดีจริง ๆ ถ้าเวลาเริ่มต้นของคุณช้าหรือช้ามาก มันง่ายและแม่นยำ อย่างไรก็ตามหากเวลาเริ่มต้นของคุณรวดเร็วภายใต้ 3 นาที (หรือภายในขีด จำกัด ที่กำหนดโดยการออกแบบ Windows) ไม่มีการบันทึกเหตุการณ์ 100 จึงไม่มีเสียงเล่น
nixda

9

Windows จะถือว่าการบู๊ตเสร็จสิ้นหากไม่มีการใช้งาน 80% (ไม่รวม CPU และกิจกรรมดิสก์ที่มีลำดับความสำคัญต่ำ) เป็นเวลา 10 วินาทีหลังจากมาถึง Desktop UI

หากต้องการดูตรงเวลาบูตใช้xbootmgr เพื่อติดตามทำไม Windows บูตช้า


1
คำถามของฉันคือไม่เร่งการบูทฉันแค่ต้องการบ่งบอกเมื่อการบูททั้งหมด (ด้วยโปรแกรมเริ่มต้นทั้งหมดเป็นต้น) การบูทเสร็จสมบูรณ์
Firee

5
คุณควรแก้ไขการบูตช้าแทนที่จะพยายามเล่นเสียง
magicandre1981

8

ฉันติดตั้งโปรแกรมฟรีที่ฉันใช้มาเป็นเวลานาน Soluto: https://www.soluto.com/

ฉันเป็นแค่ผู้ใช้ที่ไม่ได้เชื่อมต่อ

มันใช้งานได้สำหรับฉัน

มันนับถอยหลังและให้คุณเลือกเฉพาะสิ่งที่คุณต้องการโหลดในการบูต

นอกจากนี้ยังช่วยให้คุณเริ่มการหน่วงเวลา


มันทำงานออฟไลน์หรือไม่
Firee

ไซต์ / บริษัท นี้มีแอพมือถือสำหรับคุณสมบัติความปลอดภัยระยะไกล ฉันถือว่าโดเมนเป็นของคนอื่นในขณะนี้
mbuc91

6

รันสคริปต์ Python นี้เมื่อเริ่มต้น มันจะเล่นเสียงเริ่มต้นเมื่อการใช้ cpu ต่ำกว่า 20 เปอร์เซ็นต์ติดต่อกัน 5 วินาที:

import subprocess
import time

# set these to whatever works for you
# sound will play when cpu load has been < IDLE_PERCENT for IDLE_TIME consecutive seconds
IDLE_TIME = 5
IDLE_PERCENT = 20

# you can execute any program you want by changing the alert function below


def get_load():
    output = subprocess.check_output('wmic cpu get loadpercentage', shell=True)
    load = output.split()[1]
    return int(load)

def alert():
    subprocess.call([
        r"c:\Program Files (x86)\Windows Media Player\wmplayer.exe",
        r"c:\Windows\Media\Windows Logon Sound.wav"])


idleSeconds = 0

while idleSeconds < IDLE_TIME:
    load = get_load()
    if load < IDLE_PERCENT:
        idleSeconds += 1
    else:
        idleSeconds = 0

    time.sleep(1)

alert()

2

สิ่งนี้อาจไม่ได้ผลมากนัก แต่ราคาถูก

ฉันมักจะดูที่กิจกรรมนำฮาร์ดดิสก์ (คุณสามารถระบุได้ในกรณีโดยบางสิ่งบางอย่างเช่นไอคอนฐานข้อมูล) จนกระทั่งไฟ LED ที่มีเสถียรภาพและกะพริบนาน ๆ ครั้งจากนั้นฉันรู้ว่าตอนนี้ฉันสามารถใช้พีซีโดยไม่ล่าช้ามาก โดยปกติแล้วฮาร์ดดิสก์จะเป็นคอขวดของพีซีและหากไม่ได้ใช้งานอย่างหนักแสดงว่าคุณมีที่ว่างสำหรับการทำงาน

หวังว่าจะช่วย


1
เป็นที่รู้จักกันดี แต่ฉันต้องนั่งรอ ...
Firee

4
คุณไม่จำเป็นต้อง คุณสามารถมอบอำนาจให้ทุกคนในบ้านทำเพื่อคุณ มันเป็นเรื่องง่าย!. : D
MadeOfAir

2

คุณสามารถเพิ่มเสียงเพื่อเริ่มต้น

คุณสามารถหน่วงเวลากระบวนการเริ่มต้นและวางเอฟเฟกต์เสียงที่จะดำเนินการก่อน เครื่องมือ Startup Delayerทำเช่นนี้

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


สิ่งนี้จะตรวจจับการบูตได้หรือไม่หรือฉันต้องตั้งเวลาในอุดมคติหรือไม่?
Firee

@Firee ไม่จำเป็นต้องใช้ตัวจับเวลาเพียงแค่ใช้ตัวเลือก "การหน่วงเวลาอัตโนมัติ"
stderr

0

ฉันไม่เคยใช้มันมาก่อน แต่ Windows Task Scheduler จะช่วยให้คุณสร้างงานที่เรียกใช้ "At Startup" หรือ "At Logon" คุณอาจสามารถจัดกำหนดการงานให้เรียกใช้สคริปต์ PowerShell เพื่อเข้าถึงวิธีConsole.Beep ()ของ. NET Framework คุณอาจสามารถเปลี่ยนให้เป็นเพลงที่เหมาะสม

จากHey Scripting Guy! บล็อก

[console]::beep(500,300)

เปลี่ยนค่าของหมายเลขแรกเพื่อเปลี่ยนระดับเสียง (ไม่สามารถได้ยินอะไรที่ต่ำกว่า 190 หรือสูงกว่า 8500) และเปลี่ยนค่าของตัวเลขที่สองเพื่อเปลี่ยนระยะเวลา

แก้ไข: ตามที่ปรากฎวิธี Console.Beep () อาจไม่ทำงานบนระบบ 64- บิตตามเอกสาร MSDN .NET ทดสอบบี๊บใน PowerShell Script และทำงานได้ดี

คุณอาจต้องการตรวจสอบกระบวนการเริ่มต้นของคุณ คุณสามารถทำได้โดยใช้ msconfig และคลิกที่บริการ คุณยังสามารถใช้การทำงานอัตโนมัติของเครื่องมือ Sysinternals


0

โดยเอกสารหน้าต่างล่าสุดในลำดับการโหลดคือรีจิสทรี currentuser / runOnce (หลังจากโฟลเดอร์เริ่มต้น) ... แต่สิ่งที่เคยโหลดคำสั่งคือบางโปรแกรมอาจใช้เวลานานเริ่มต้นขึ้น

ดังนั้นการดูกิจกรรมของ CPU ในไฟล์แบตช์อาจเป็นทางออกที่ดี:

@echo off
setlocal ENABLEDELAYEDEXPANSION
set cpuLimit=15
set /a lowCount=0

for /l %%i in (1,1,30) do (
   for /F %%c in ('wmic cpu get loadpercentage ^| findstr "[0-9]"') do (
       echo %%i cpu-Load: %%c  ...lowCnt: !lowCount!
      if %%c gtr %cpuLimit% ( set lowCount=0
      ) else ( set /a lowCount+=1
         if !lowCount! gtr 10 (
            ECHO BEEEEEEP ... mplay32 beep.wav... or something
            exit
         )
      )
   )
   ping -n1 127.0.0.1 >NUL
)

... และ BEEEPING หลังจากพบว่าใน 10 cpu-load-checks ที่ผ่านมามี cpu-load ต่ำกว่า 15% ไฟล์ชุดนี้สามารถเริ่มต้นได้โดยลิงก์ในโฟลเดอร์เริ่มต้นหรือดีกว่าในรีจิสทรี HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run


0

คุณเขียน:

«เครื่องของฉัน (Windows 7 64 บิต) ใช้เวลาประมาณ 3-4 นาทีในการบูตโดยสมบูรณ์ ... »

การบูต "ปกติ" ใช้เวลาประมาณ30 วินาทีรวมถึงการเข้าถึงบัญชีผู้ใช้ มีบางอย่างผิดปกติและต้องแก้ไข ในการแก้ไขคุณต้องได้รับข้อมูล ฉันขอแนะนำให้คุณใช้สองยูทิลิตี้เพื่อแก้ไขปัญหานี้:

1) Autoruns

ด้วยสิ่งนี้คุณสามารถตรวจสอบทุกขั้นตอนโปรแกรมโหลดไดรเวอร์ระหว่างกระบวนการบู๊ต Tka care: นี่เป็นเครื่องมือที่ทรงพลังมากและอย่าลบรายการเว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่ แต่คุณอาจยกเลิกการเลือก (ปิดใช้งาน) บางโปรแกรมเข้าสู่ระบบเริ่มต้น...

2) System Explorer

ด้วยเครื่องมือนี้คุณจะสามารถเห็นกระบวนการทั้งหมดเริ่มต้นและประวัติของมันจนกระทั่ง System Explorer เริ่มทำงาน นอกจากนี้ยังเป็นไปได้ที่จะสแกนกระบวนการเหล่านี้ทั้งหมดเพื่อความปลอดภัย (เทียบกับฐานข้อมูลกระบวนการ .. )

ตรวจสอบสิ่งนี้ก่อนพวกเขาให้คำติชมกับเรา

คุณสามารถตรวจสอบบริการเมื่อเริ่มต้นด้วยservices.mscและสถานะของอุปกรณ์ที่มีdevmgmt.msc(สามเหลี่ยมสีเหลืองสำหรับอุปกรณ์ที่มีข้อบกพร่อง, ฮาร์ดดิสก์ในโหมด PIO แทน DMA และอื่น ๆ ... ) ในเครื่องมือการดูแลระบบของ Windows ...

หวังว่าความช่วยเหลือนี้ แจ้งให้เราทราบ.


ความกังวลของฉันไม่ใช่เหตุผลว่าทำไมเวลาบูตจึงยาวนาน ฉันอาจมีโปรแกรมเริ่มต้นจำนวนมากและอื่น ๆ ... ฉันต้องการตัวบ่งชี้เมื่อกระบวนการบูทเสร็จสมบูรณ์ซึ่งรวมถึง Windows, เข้าสู่ระบบ, โปรแกรมเริ่มต้นทั้งหมดเป็นต้น
Firee

เพียงตรวจสอบกับตัวจัดการงาน ... เมื่อ CPU อยู่ในสถานะไม่ได้ใช้งาน ใช้เวลา 3,4 นาทีสำหรับพีซีของคุณใช่ไหม : - /
climenole

นี่คือลักษณะที่ปรากฏหลังจากไฟฮาร์ดดิสก์หยุดกะพริบi.stack.imgur.com/nVToB.png
Firee

"มีบางอย่างผิดปกติและต้องแก้ไข" หรือเป็นเพียงโปรแกรมป้องกันไวรัสที่ทำงานอย่างละเอียดมาก ...
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersenบางที อย่างที่ฉันบอกว่าความกังวลของฉันไม่ได้ใช้เวลานานเท่าไหร่ฉันแค่ต้องรู้ว่ามันเสร็จสมบูรณ์แล้วและฉันสามารถเริ่มใช้งานระบบได้โดยไม่เกิดความล่าช้าเนื่องจากกระบวนการพื้นหลังยังอยู่ในกระบวนการเริ่มต้น
Firee

0

ฉันค้นหาอะไรเช่นนี้และฉันพบคำตอบ

ฉันจะโพสต์รหัสจริงในภายหลังอาจ แต่ที่นี่ไป

http://msdn.microsoft.com/en-us/library/aa394226%28v=vs.85%29.aspx

เพียงบันทึกเนื้อหาของส่วนสุดท้ายเป็นไฟล์ vbs และเรียกใช้คุณสามารถสำรวจแต่ละเหตุการณ์ของระบบและแยกข้อความที่จะแสดงได้ง่าย

สิ่งที่ต้องทำเพื่อค้นหาความสมบูรณ์ของลำดับการบู๊ตคือให้สคริปต์นี้ทำงานจนกว่า ID เหตุการณ์คือ '100' ที่สอดคล้องกับกระบวนการเสร็จสิ้นการบู๊ตในเหตุการณ์ของระบบ

อ้างอิง: http://www.howtogeek.com/72420/how-to-use-event-viewer-to-find-your-pcs-boot-time/

ดังนั้นเมื่อคุณมีสคริปต์นี้ในการเริ่มต้นมันจะสำรวจเหตุการณ์ทั้งหมดและรอให้รหัสเหตุการณ์เป็น 100 และแจ้งเตือนคุณ เดียวกันสามารถใช้ในเครื่องมือการเขียนสคริปต์ใด ๆ เช่น autoit

แค่อยากให้ทุกคนรู้ เพราะเมื่อฉันค้นหาสิ่งนี้ สิ่งที่ฉันพบคือความคิดของตัวกำหนดตารางเวลางาน Windows หรือโซลูโตที่ดีที่สุด อันที่จริงแล้วโซลูโตหยุดทำงานบนพีซี x64 ของฉันเมื่อไม่นานมานี้ด้วยเหตุผลแปลก ๆ ดังนั้นฉันต้องการทำสคริปต์ของตัวเองซึ่งนำฉันไปสู่ทางออกสุดท้ายนี้ ....

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