Bagaimana cara mengetahui kapan Windows dan semua program startup telah menyelesaikan booting?

37

Mesin saya (Windows 7 64-bit) membutuhkan waktu sekitar 3-4 menit untuk boot sepenuhnya. Apakah ada cara yang akan menunjukkan bahwa boot sudah selesai, semacam suara / pop-up, baik dengan menggunakan fitur bawaan Windows atau oleh aplikasi pihak ke-3?

Saya meminta ketika kedua windows dan semua program startup selesai booting

Saya biasanya kadang duduk dan menunggu di depan mesin, waktu itu bisa lebih baik digunakan untuk quickie.

Begini tampilannya, ketika lampu hard disk berhenti berkedip:

masukkan deskripsi gambar di sini

Firee
sumber
2
Setelah proses masuk ... Semua proses latar belakang dll. Seluruh shebang
Firee
3
Anda mungkin ingin menambahkan apa yang Anda maksud dengan "boot selesai": semua program dimuat atau hanya Windows OS dimuat.
zurfyx
3
Saya cukup yakin tidak ada jawaban yang pasti. Beberapa proses latar belakang menunggu PC menjadi diam sebelum mereka mulai, beberapa hanya menunggu periode yang tetap. Sulit diprediksi bahwa FooUpdater.EXEakan tidur selama 7 menit.
MSalters
2
Mungkin sebaliknya, akan mendeteksi ketika proses sibuk akhirnya menjadi pekerjaan menganggur untuk Anda? Jika demikian, apakah pemicu tugas "On Idle" Windows Task Manager tidak cukup?
Ƭᴇcʜιᴇ007
2
Apakah 3-4 menit benar-benar cukup waktu untuk "quickie"? oO
Jason C

Jawaban:

25

Ada beberapa jawaban yang berpotensi membantu di sini, tetapi saya pikir ada dua poin penting yang belum dibuat:

  1. Tidak, tidak mungkin untuk menentukan secara program bahwa Windows dan semua program startup telah selesai booting. Ini pada dasarnya adalah Masalah Pemutusan Hubungan dan tidak ada program di luar sana yang akan dapat menjawab pertanyaan "Untuk program sewenang-wenang ini, pada titik apa kita harus mengatakan bahwa program telah dimuat?".

  2. Apa masalah sebenarnya yang Anda coba selesaikan? Semua jawaban di sini berupaya menemukan solusi untuk pertanyaan Anda, tetapi pertanyaan itu sendiri terasa seperti kehilangan beberapa informasi penting. Kami ingin menyelesaikan masalah Anda, bukan hanya menjawab pertanyaan .

Membaca pertanyaan Anda lagi dan mengikuti apa yang Anda katakan, tanggapan saya akan menjadi salah satu dari:

  • Hanya saja, jangan khawatir tentang hal itu dan mulai menggunakan komputer Anda. Tugas latar depan diprioritaskan dan kecuali Anda memiliki sesuatu yang benar-benar tidak biasa terjadi, tidak masalah jika tugas latar belakang sedang berjalan.

Atau:

  • Secara manual perhatikan sistem beberapa kali dan cari tahu jumlah waktu maksimum yang diperlukan sebelum sistem "siap" sesuai dengan metrik apa pun yang Anda miliki. Dapatkan program atau skrip pengatur waktu kecil dan tambahkan ke startup sistem Anda. Itu dapat menampilkan pesan atau memutar suara ketika waktu yang Anda pilih telah berlalu.

Ini mungkin tidak langsung menjawab pertanyaan Anda saat ini, tetapi semoga bermanfaat.

Nick
sumber
3
Ini adalah jawaban terbaik (dan secara teknis paling benar) untuk satu alasan IMO: ini menyoroti ketidakjelasan dalam mendefinisikan "semua program startup telah selesai booting". Saya setuju bahwa masalah penghentian cukup relevan, tetapi hanya dalam kasus proses yang diluncurkan selesai. Meskipun seseorang dapat memantau konsumsi CPU dari berbagai program setelah boot, dan menggunakan ambang yang telah ditentukan untuk menentukan kapan komputer telah "selesai boot", ini hanya mencakup sebagian kecil kasus (terutama, proses yang kinerja pemuatannya sebagian besar terikat pada CPU) .
Terobosan
@Breakthrough Good point dan edit, terima kasih. Saya benar-benar mencoba untuk secara ringkas mengungkapkan gagasan bahwa untuk setiap program yang diberikan yang dijalankan pada saat startup, ia dapat melakukan sejumlah hal yang tidak dapat diprediksi: (1) mulai dan kemudian berakhir, (2) mulai dan terus berjalan, (3) mulai dan muncul tambahan proses, kemudian lakukan (1) atau (2). Bahkan mendasarkan ide "lengkap" pada konsumsi sumber daya tidak ideal karena penundaan pemuatan dan fakta bahwa beberapa program bahkan mungkin menunggu sampai sistem "idle" untuk mulai melakukan pekerjaan tambahan.
Nick
membuat orang bertanya-tanya seberapa berguna bendera "idle" atau "boot" untuk proses persistent / daemon (peringatan, itu hanya berguna jika diimplementasikan dalam setiap proses yang Anda tunggu ...).
Terobosan
@Breakthrough Jika saya tidak salah, linux ' systemdmemiliki ini, di mana, pada prinsipnya, seseorang dapat memulai layanan setelah semua yang lain mulai melalui mekanisme ketergantungannya. Anda harus menentukan semuanya secara manual ( systemdpengetahuan saya tidak terlalu bagus).
rubenvb
@Nick Terima kasih atas alasan di balik mencari solusi, ini sebenarnya memberikan perspektif baru. Saya berasumsi akan ada solusi yang sangat sederhana, tetapi tampaknya tidak begitu ... Untuk saat ini saya akan menggunakan program timer kecil, yang membuat saya tahu bahwa waktu yang ditentukan sudah berakhir.
Firee
11

Mengapa tidak menggunakan Penjadwal Tugas Windows dan ID Peristiwa 100 untuk memainkan suara khusus ketika Windows benar-benar selesai?

Di bawah Pemicu pilih "Di suatu acara" dan

  • Log: LogMicrosoft-Windows-Diagnostics-Performance / Operational
  • Sumber: Diagnostik-Kinerja
  • ID Peristiwa: 100

Di bawah Tindakan pilih "Mulai program" dengan

  • Program / skrip: "%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe"
  • Tambahkan argumen: "%windir%\Media\Windows Logon Sound.wav"

    Event ID: 100   
    Decription: Windows has started up
    

    Sumber Event ID 100: Windows Diagnostics-Performance

nixda
sumber
1
Saya membutuhkan ketika kedua windows dan semua program startup telah selesai boot
Firee
2
FWIW: Pada saat jawaban ini diberikan, OP hanya menyebut "startup Windows". Bagian kedua termasuk semua program startup ditambahkan kemudian!
nixda
Komentar oleh pengguna anonim: Metode ini bekerja dengan sangat baik jika waktu startup Anda agak lambat atau sangat lambat. Sederhana dan akurat. Namun jika waktu startup Anda cepat, kurang dari 3 menit, (atau dalam batas yang ditentukan oleh desain Windows) tidak ada peristiwa 100 dicatat, jadi tidak ada suara yang diputar
nixda
9

Windows akan menyelesaikan proses boot jika 80% idle (tidak termasuk CPU prioritas rendah dan aktivitas disk) selama 10 detik setelah mencapai Desktop UI.

Untuk melihat waktu boot yang tepat, gunakan xbootmgr untuk melacak mengapa Windows melakukan booting dengan lambat .

magicandre1981
sumber
1
Pertanyaan saya bukan untuk mempercepat booting, saya hanya ingin indikasi ketika booting lengkap (dengan semua program startup dll) selesai
Firee
5
Anda harus memperbaiki boot yang lambat alih-alih mencoba memainkan suara.
magicandre1981
8

Saya sudah menginstal program gratis yang sudah lama saya gunakan, Soluto: https://www.soluto.com/

Saya hanya pengguna, tidak terhubung.

Ini bekerja untuk saya.

Itu menghitung mundur dan memungkinkan Anda untuk memilih apa yang ingin Anda muat saat boot.

Ini juga memungkinkan Anda untuk menunda mulai.

Xavierjazz
sumber
Apakah ini berfungsi offline?
Firee
Situs / perusahaan ini sekarang menyediakan aplikasi seluler untuk fitur keamanan jarak jauh; Saya menganggap domain tersebut dimiliki oleh orang lain sekarang.
mbuc91
6

Jalankan skrip Python ini saat startup. Ini akan memainkan suara startup setelah penggunaan cpu di bawah 20 persen selama 5 detik berturut-turut:

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()
Benjamin Schug
sumber
2

Anda dapat menambahkan suara ke startup.

Anda dapat menunda proses startup dan memberikan efek suara untuk dieksekusi terlebih dahulu. Alat Startup Delayer melakukan ini.

masukkan deskripsi gambar di sini

stderr
sumber
Apakah ini akan mendeteksi booting selesai, atau apakah saya harus meletakkan timer yang ideal?
Firee
@ Firasat Tidak perlu timer, cukup gunakan opsi "tunda otomatis"
stderr
1

Ini mungkin tidak terlalu efektif, tetapi murah.

Saya biasanya melihat aktivitas hard disk yang dipimpin (Anda dapat mengidentifikasinya pada kasing dengan sesuatu seperti ikon basis data), hingga led tidak stabil dan berkedip jarang, maka saya tahu saya sekarang dapat menggunakan PC tanpa banyak lag. Hard disk biasanya merupakan hambatan PC, dan jika tidak banyak digunakan, maka Anda memiliki ruang untuk bekerja.

Semoga itu bisa membantu.

MadeOfAir
sumber
1
Itu diketahui, tetapi saya harus duduk dan menunggu ...
Firee
4
Anda tidak harus melakukannya. Anda dapat mendelegasikan siapa pun di rumah untuk melakukan itu untuk Anda. Bayangkan. mudah!. : D
MadeOfAir
0

Saya tidak pernah menggunakannya sendiri tetapi Penjadwal Tugas Windows akan memungkinkan Anda untuk membuat tugas yang dipicu untuk menjalankan "Saat Startup" atau "Saat Masuk". Anda mungkin dapat menjadwalkan tugas untuk menjalankan skrip PowerShell untuk mengakses metode Console.Beep () dari .NET Framework. Anda bahkan dapat mengubahnya menjadi nada yang layak.

Dari Hey Scripting Guy! Blog

[console]::beep(500,300)

Ubah nilai angka pertama untuk mengubah nada (sesuatu yang lebih rendah dari 190 atau lebih tinggi dari 8500 tidak dapat didengar), dan ubah nilai angka kedua untuk mengubah durasi

Sunting: Ternyata metode Console.Beep () mungkin tidak berfungsi pada sistem 64-bit sesuai dengan dokumentasi .NET MSDN. Diuji bip dalam PowerShell Script dan berfungsi dengan baik.

Anda mungkin juga ingin memeriksa proses startup Anda. Anda dapat melakukan ini dengan menjalankan msconfig dan mengklik layanan. Anda juga dapat menggunakan Autoruns alat Sysinternals.

Sandwich Ikan Mas
sumber
0

Dokumentasi windows yang terakhir dalam urutan pemuatan adalah pemakai saat ini / runOnce registri (setelah folder start-up) ... tetapi apa pun urutan pemuatannya, beberapa program dapat memakan waktu lama untuk memulai.

Jadi mungkin menonton aktivitas CPU dalam file batch dapat menjadi solusi yang baik:

@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
)

... dan BEEEP setelah mengetahui bahwa dalam 10 cpu-load-cek terakhir, ada cpu-load di bawah 15%. file batch ini dapat dimulai dengan tautan di folder start-up, atau lebih baik di registri HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run

Asain Kujovic
sumber
0

Kau menulis:

«Mesin saya (Windows 7 64-bit) membutuhkan waktu sekitar 3-4 menit untuk sepenuhnya mem-boot ...»

Boot "normal" memakan waktu sekitar 30 detik termasuk akses ke akun pengguna. Ada yang salah dan ini harus diperbaiki. Untuk memperbaikinya, Anda harus mendapatkan data. Saya sarankan Anda dua utilitas untuk memecahkan masalah ini:

1) Autoruns

Dengan ini, Anda dapat memeriksa setiap proses, program, driver yang dimuat selama proses boot. Tka care: ini adalah alat yang sangat kuat dan JANGAN hapus item kecuali Anda tahu apa yang Anda lakukan. Tetapi Anda dapat Hapus centang (nonaktifkan) beberapa program masuk startup ...

2) Penjelajah Sistem

Dengan alat ini, Anda dapat melihat semua proses dimulai dan riwayatnya hingga System Explorer dimulai. Juga dimungkinkan untuk memindai semua proses ini untuk tujuan keamanan (dibandingkan dengan database proses ..)

Periksa ini dulu, mereka memberi kami umpan balik.

Anda juga dapat memeriksa layanan saat startup dengan services.mscdan status perangkat dengan devmgmt.msc(segitiga kuning untuk perangkat cacat, Hard disk dalam mode PIO, bukan DMA, dan sebagainya ...) di alat administrasi Windows ...

Semoga bantuan ini. Beritahu kami.

Climenole
sumber
Kekhawatiran saya bukanlah mengapa waktu booting begitu lama. Saya mungkin punya banyak program start-up, dll ... Saya hanya perlu indikasi ketika seluruh proses booting selesai, yang mencakup Windows, Logon, semua program startup, dll
Firee
Cukup periksa dengan pengelola tugas ... Saat CPU dalam kondisi siaga, berarti sudah selesai. Membutuhkan 3,4 menit untuk PC Anda, bukan? : - /
climenole
Ini adalah tampilannya, setelah lampu Hard disk berhenti berkedip i.stack.imgur.com/nVToB.png
Firee
"Ada yang salah dan ini harus diperbaiki". Atau itu hanya anti-virus yang melakukan tugasnya dengan sangat teliti ...
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen Mungkin. Seperti yang saya katakan, kekhawatiran saya bukan berapa lama, saya hanya perlu tahu kapan itu selesai dan saya dapat mulai menggunakan sistem tanpa kemungkinan jeda karena proses latar belakang masih dalam proses memulai.
Firee
0

Saya telah mencari sesuatu seperti ini, dan saya menemukan jawabannya

saya akan memposting kode aktual nanti mungkin, tapi begini saja

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

cukup simpan konten bagian terakhir sebagai file vbs dan jalankan, Anda dapat polling setiap peristiwa sistem dan mengekstrak pesannya yang ditampilkan, sederhana.

apa yang harus dilakukan seseorang untuk menemukan penyelesaian urutan boot adalah menjalankan skrip ini hanya sampai id peristiwa '100' yang sesuai dengan proses penyelesaian boot dalam peristiwa sistem

lihat: http://www.howtogeek.com/72420/how-to-use-event-viewer-to-find-your-pcs-boot-time/

Jadi, ketika Anda memiliki skrip ini di startup, itu akan polling semua acara dan menunggu id acara menjadi 100 dan mengingatkan Anda. hal yang sama dapat digunakan dalam alat skrip seperti autoit

Hanya ingin semua tahu itu. karena ketika saya mencari ini. semua yang saya temukan adalah ide penjadwal tugas windows atau soluto yang terbaik. sebenarnya soluto berhenti bekerja pada PC x64 saya beberapa waktu lalu karena beberapa alasan aneh. jadi saya ingin membuat skrip sendiri yang mengarahkan saya ke solusi akhir ini ....

rajeshontheweb
sumber