Windows와 모든 시작 프로그램이 부팅을 완료 한 시점을 알려주는 방법은 무엇입니까?


37

내 컴퓨터 (Windows 7 64 비트)가 완전히 부팅 되려면 약 3-4 분이 걸립니다. Windows 내장 기능을 사용하거나 타사 응용 프로그램을 사용하여 부팅이 완료되었음을 나타냅니다. 어떤 종류의 사운드 / 팝업입니까?

창과 시작 프로그램이 모두 부팅을 완료해야합니다

나는 보통 언젠가 앉아서 기계 앞에서 기다립니다.

하드 디스크 표시등이 깜박임을 멈 추면 다음과 같이 나타납니다.

여기에 이미지 설명을 입력하십시오


2
로그온 프로세스 후 ... 모든 백그라운드 프로세스 등. 전체 shebang
Firee

3
"완료된 부팅"이 의미하는 바를 추가 할 수 있습니다.로드 된 모든 프로그램 또는로드 된 Windows OS.
zurfyx

3
나는 확실한 대답이 없다고 확신합니다. 일부 백그라운드 프로세스는 PC가 시작되기 전에 PC가 유휴 상태가되기를 기다립니다. 일부 프로세스는 고정 된 기간을 기다립니다. FooUpdater.EXE7 분 동안 절전 상태 가 될 것으로 예측하기는 어렵습니다 .
MSalters

2
대신, 사용중인 프로세스가 결국 유휴 작업이되는시기를 감지 할 수 있습니까? 그렇다면 Windows 작업 관리자의 "유휴 상태"작업 트리거로 충분하지 않습니까?
Ƭᴇcʜιᴇ007

2
3-4 분이 "quickie"를위한 충분한 시간입니까? oO
Jason C

답변:


25

여기에는 잠재적으로 유용한 답변이 몇 가지 있지만 아직 작성하지 않은 두 가지 중요한 사항이 있다고 생각합니다.

  1. 아니요, Windows 및 모든 시작 프로그램이 부팅을 완료했는지 프로그래밍 방식으로 확인할 수는 없습니다 . 이것은 본질적으로 Halting Problem 이며 어떤 프로그램도 "이 임의의 프로그램에 대해 어떤 시점에서로드 되었어야합니까?"라는 질문에 대답 할 수 없습니다.

  2. 해결하려는 실제 문제는 무엇입니까? 여기에있는 모든 답변은 귀하의 질문에 대한 해결책을 찾으려고하지만 질문 자체에 중요한 정보가 누락 된 것 같습니다. 우리는 질문에 대답하는 것이 아니라 문제를 해결하고 싶습니다 .

당신의 질문을 다시 읽고 당신이 말한대로 진행하면 내 대답은 다음 중 하나 일 것입니다.

  • 걱정하지 말고 컴퓨터 사용을 시작하십시오. 포 그라운드 작업은 우선 순위가 결정되며 실제로 비정상적인 작업이 없으면 백그라운드 작업이 실행 중인지 중요하지 않습니다.

또는:

  • 시스템을 몇 번 수동으로보고 어떤 메트릭에 따라 시스템이 "준비"되기까지 걸리는 최대 시간을 계산하십시오. 작은 타이머 프로그램이나 스크립트를 받아 시스템 시작에 추가하십시오. 선택한 시간이 경과하면 메시지를 표시하거나 소리를 재생할 수 있습니다.

현재 질문에 직접 대답하지는 않지만 도움이 되길 바랍니다.


3
이것은 IMO의 한 가지 이유 중 가장 좋고 (기술적으로 가장 정확한) 답변입니다. "모든 시작 프로그램이 부팅을 마쳤습니다"를 정의 할 때의 모호성을 강조합니다. 중지 문제는 매우 관련이 있지만 시작된 프로세스가 완료되는 경우에만 동의합니다. 부팅 후 다양한 프로그램의 CPU 소비를 모니터링하고 미리 정의 된 임계 값을 사용하여 컴퓨터가 "부팅 완료"시점을 지시 할 수는 있지만, 일부 경우 (특히로드 성능이 주로 CPU 바인딩 된 프로세스)에 대해서만 설명합니다. .
획기적인

@Breakthrough 좋은 지적과 편집, 감사합니다. 나는 시작시 실행 된 주어진 프로그램에 대해 (1) 시작 및 종료, (2) 시작 및 계속 실행, (3) 추가 시작 및 생성과 같은 예측할 수없는 많은 일을 할 수 있다는 생각을 간결하게 표현하려고했습니다. 그런 다음 (1) 또는 (2)를 수행하십시오. 리소스 소비에 대한 "완전한"아이디어를 바탕으로하는 것은 지연된 로딩으로 인해 이상적이지 않으며 일부 프로그램은 시스템이 추가 작업을 시작하기 위해 "유휴 상태"가 될 때까지 대기 할 수도 있습니다.
Nick

"유휴"또는 "부팅 된"플래그가 영구 / 데몬 프로세스에 얼마나 유용한 지 궁금해합니다 (캐비티, 대기중인 모든 프로세스에서 구현 된 경우에만 유용합니다 ...).
획기적인

@Breakthrough 내가 실수하지 않으면, linux ' systemd는 원칙적으로 다른 모든 사람들이 의존성 메커니즘을 통해 시작한 후에 서비스를 시작할 수있는 이것을 가지고 있습니다. 그래도 수동으로 모든 것을 지정해야합니다 (내 systemd지식은 그다지 좋지 않습니다).
rubenvb

@Nick 솔루션을 찾기 위해 노력한 이유에 대해 감사합니다. 실제로 새로운 관점을 제공합니다. 나는 매우 간단한 해결책이 있다고 가정했지만 그렇게 보이지는 않습니다 ... 당분간은 작은 타이머 프로그램을 사용하여 지정된 시간이 끝났다는 것을 알려줍니다.
Firee

11

Windows가 실제로 끝났을 때 Windows 작업 스케줄러와 이벤트 ID 100을 사용하여 사용자 지정 사운드를 재생하지 않는 이유는 무엇입니까?

트리거에서 "이벤트에서"를 선택하고

  • 로그 : LogMicrosoft-Windows-Diagnostics-Performance / Operational
  • 출처 : 진단 성능
  • 이벤트 ID : 100

작업 아래에서 "프로그램 시작"을 선택하십시오.

  • 프로그램 / 스크립트 : "%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe"
  • 인수 추가 : "%windir%\Media\Windows Logon Sound.wav"

    Event ID: 100   
    Decription: Windows has started up
    

    원본 이벤트 ID 100 : Windows 진단 성능


1
창과 모든 시작 프로그램이 모두 부팅을 완료해야합니다.
Firee

2
FWIW :이 답변을 받았을 때 OP는 "Windows 시작"만 언급했습니다. 모든 시작 프로그램을 포함한 두 번째 부분이 나중에 추가되었습니다!
nixda

익명 사용자의 설명 :이 방법은 시작 시간이 약간 느리거나 매우 느린 경우에 효과적입니다. 간단하고 정확합니다. 그러나 시작 시간이 빠르거나 약 3 분 미만 (또는 Windows 디자인에서 정의한 한계 이내)이면 이벤트 100이 기록되지 않으므로 사운드가 재생되지 않습니다.
nixda

9

Windows는 데스크톱 UI에 도달 한 후 10 초 동안 80 % 유휴 상태 (낮은 우선 순위의 CPU 및 디스크 활동 제외) 인 경우 부팅 완료를 처리 합니다.

정확한 부팅 시간을 보려면 xbootmgr을 사용 하여 Windows 부팅 속도가 느린 이유를 추적하십시오 .


1
내 질문은 부팅 속도를 높이는 것이 아니라 전체 (모든 시작 프로그램 등) 부팅이 완료되면 표시를
원합니다

5
사운드를 재생하는 대신 느린 부팅을 수정해야합니다.
magicandre1981

8

Soluto : https://www.soluto.com/ 에서 오랫동안 사용해온 무료 프로그램이 설치되어 있습니다.

나는 단지 사용자이며 연결되어 있지 않습니다.

그것은 나를 위해 작동합니다.

카운트 다운을 수행하고 부팅시로드 할 항목을 선택할 수 있습니다.

또한 시작을 지연시킬 수 있습니다.


오프라인으로 작동합니까?
Firee

이 사이트 / 회사는 이제 원격 보안 기능을위한 모바일 앱을 제공합니다. 도메인을 다른 사람이 소유하고 있다고 가정합니다.
mbuc91

6

시작할 때이 Python 스크립트를 실행하십시오. CPU 사용량이 연속 5 초 동안 20 % 미만이되면 시작 사운드가 재생됩니다.

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가 안정되고 가끔씩 깜박일 때까지 led 하드 디스크 활동을 보았습니다 (데이터베이스 아이콘과 같은 경우 케이스에서 식별 할 수 있습니다). 하드 디스크는 일반적으로 PC 병목 현상이며, 많이 사용하지 않으면 작업 할 공간이 있습니다.

희망이 도움이됩니다.


1
그것은 알려져 있지만, 앉아서 기다려야합니다 ...
Firee

4
당신은 필요가 없습니다. 집안의 어느 누구라도 당신을 위해 그렇게하도록 위임 할 수 있습니다. 그것은 간단합니다!. : D
MadeOfAir

2

시작시 소리를 추가 할 수 있습니다.

시작 프로세스를 지연시키고 사운드 효과를 먼저 실행할 수 있습니다. Startup Delayer 도구 가이를 수행합니다.

여기에 이미지 설명을 입력하십시오


이것이 부팅 완료를 감지합니까, 아니면 이상적인 타이머를 설정해야합니까?
Firee

@Firee 타이머가 필요 없습니다. "자동 지연"옵션을 사용하십시오
stderr

0

필자가 직접 사용한 적이 없지만 Windows 작업 스케줄러를 사용하면 "시작시"또는 "로그온시"를 실행하도록 트리거 된 작업을 만들 수 있습니다. .NET Framework 의 Console.Beep () 메서드에 액세스하기 위해 powershell 스크립트를 실행하도록 작업을 예약 할 수 있습니다 . 당신은 그것을 적절한 조정으로 바꿀 수 있습니다.

에서 헤이 스크립팅 가이! 블로그

[console]::beep(500,300)

첫 번째 숫자의 값을 변경하여 피치를 변경하고 (190보다 작거나 8500보다 큰 소리는들을 수 없음) 지속 시간을 변경하려면 두 번째 숫자의 값을 변경하십시오

편집 : MSDN .NET 설명서에 따라 Console.Beep () 메서드가 64 비트 시스템에서 작동하지 않을 수 있습니다. PowerShell 스크립트에서 경고음이 테스트되었으며 정상적으로 작동합니다.

시작 프로세스를 체크인 할 수도 있습니다. msconfig를 실행하고 서비스를 클릭하면됩니다. Sysinternals 도구 자동 실행을 사용할 수도 있습니다.


0

Windows 설명서에서 마지막으로로드 순서는 레지스트리 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
)

... 그리고 지난 10 번의 CPU 부하 확인에서 CPU 부하가 15 % 미만임을 발견 한 후 경고음이 발생했습니다. 이 배치 파일은 시작 폴더의 링크로 시작하거나 레지스트리 HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run에서 더 좋습니다.


0

당신은 썼습니다 :

«내 컴퓨터 (Windows 7 64 비트)는 완전히 부팅하는 데 약 3-4 분이 걸립니다 ...»

"정상"부팅 에는 사용자 계정에 대한 액세스를 포함하여 약 30 초가 걸립니다 . 문제가 있으며 수정해야합니다. 문제를 해결하려면 데이터를 가져와야합니다. 이 문제를 해결하기 위해 두 가지 유틸리티를 제안합니다.

1) 자동 실행

이것으로 부팅 프로세스 중에로드 된 모든 프로세스, 프로그램, 드라이버를 확인할 수 있습니다. Tka care :이 도구는 매우 강력한 도구이므로 수행중인 작업을 모르는 경우 항목을 삭제하지 마십시오. 그러나 일부 시작 로그온 프로그램을 선택 취소 (비활성화) 할 수 있습니다.

2) 시스템 탐색기

이 도구를 사용하면 시스템 탐색기가 시작될 때까지 시작된 모든 프로세스와 기록을 볼 수 있습니다. 또한 프로세스 데이터베이스와 비교하여 보안을 위해 이러한 모든 프로세스를 스캔 할 수 있습니다.

먼저 확인하여 피드백을주세요.

Windows 관리 도구 에서 시작시 서비스 services.mscdevmgmt.msc결함 장치 (노란색 장치의 경우 노란색 삼각형, DMA 대신 PIO 모드의 하드 디스크 등 ...)가있는 장치의 상태를 확인할 수도 있습니다 .

이 도움을 바랍니다. 알려주세요.


내 걱정은 부팅 시간이 너무 길지 않은 이유입니다. 시작 프로그램 등이 많이있을 수 있습니다. Windows, 로그온, 모든 시작 프로그램 등 전체 부팅 프로세스가 완료되면 표시가 필요합니다.
Firee

작업 관리자에게 확인하십시오 ... CPU가 유휴 상태에 있으면 완료됩니다. PC에 3,4 분이 걸립니다. :-/
climenole

하드 디스크 표시등이 깜박임을 멈춘
Firee

"무언가 잘못되었으므로 해결해야합니다." 아니면 바이러스 백신이 그 일을 매우 철저히 수행하는 것입니다.
Thorbjørn Ravn Andersen

트윗 담아 가기 걱정이 오래 걸리지 않았다고 말했듯이 완료 시점을 알아야하며 시작 프로세스의 백그라운드 프로세스로 인해 지연이 발생하지 않고 시스템을 사용할 수 있습니다.
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/

따라서이 스크립트를 시작할 때 모든 이벤트를 폴링하고 이벤트 ID가 100이 될 때까지 기다렸다가 경고합니다. autoit과 같은 스크립팅 도구에서도 동일하게 사용할 수 있습니다.

모두가 알고 싶어했습니다. 내가 이것을 검색했을 때. 내가 찾은 것은 Windows 작업 스케줄러 아이디어 또는 최고의 솔루션이었습니다. 실제로 soluto는 이상한 이유로 얼마 전 x64 PC에서 작동을 멈췄습니다. 그래서 나는이 최종 솔루션으로 이끈 스크립트를 직접 만들고 싶었습니다 ....

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.