Windows'un ve tüm başlangıç ​​programlarının önyüklemenin ne zaman tamamlandığını nasıl anlarsınız?


37

Makinemin (Windows 7 64-bit) tamamen önyüklenmesi yaklaşık 3-4 dakika sürer. Windows'un yerleşik özelliğini kullanarak veya herhangi bir 3. parti uygulamasında, önyüklemenin tamamlandığını, bir tür ses / açılır pencereyi gösteren bir yol var mı?

Hem pencerelerin hem de tüm başlangıç ​​programlarının önyüklemenin bitmesini gerektirir.

Genelde bazen oturup makinenin önünde beklerim, bu zaman daha hızlı bir şekilde kullanılabilir.

Sabit disk ışığı yanıp sönmeyi bıraktığında şöyle görünür:

görüntü tanımını buraya girin


2
Oturum açma işleminden sonra ... Tüm arka plan işlemleri vb. Bütün
shebang

3
"Tamamlanan önyükleme" ile ne demek istediğinizi eklemek isteyebilirsiniz: yüklü tüm programlar veya yalnızca Windows işletim sistemi yüklü.
zurfyx

3
Kesin bir cevabı olmadığından eminim. Bazı arka plan işlemleri, bilgisayarların başlamadan önce boşta kalmasını bekler, bazıları ise sadece sabit bir süre bekler. Bunun FooUpdater.EXE7 dakika boyunca uyuyacağını tahmin etmek zor .
MSalters

2
Belki de bunun yerine, yoğun işlemlerin sonunda sizin için boşta iş haline geldiğini tespit etmek mi istiyorsunuz? Öyleyse, Windows Görev Yöneticisi'nin "Boşta" görevi yeterli değil mi?
ᴇcʜιᴇ007

2
Bir "şipşak" için 3-4 dakika gerçekten yeterli mi? oO
Jason C

Yanıtlar:


25

Burada bazı potansiyel olarak yararlı cevaplar var, fakat henüz iki önemli nokta bulunmadığını düşünüyorum:

  1. Hayır, Windows ve tüm başlangıç ​​programlarının önyüklemeyi tamamladığını programlı olarak belirlemek mümkün değildir . Bu esas olarak Halting Problemidir ve hiçbir program "Bu keyfi program için hangi noktada yüklendiğini söylemeliyiz?" Sorusunu cevaplayamaz.

  2. Çözmeye çalıştığınız asıl sorun nedir? Buradaki cevapların tümü, sorunuza bir çözüm bulmaya çalışır, ancak sorunun kendisi bazı önemli bilgilerin eksik olabileceğini düşünüyor. Sorunu çözmek istiyoruz, sadece soruyu cevaplamakla kalmıyoruz .

Sorunuzu tekrar okuyup söylediklerinize devam ederek cevabım şunlardan biri olabilir:

  • Sadece endişelenmeyin ve bilgisayarınızı kullanmaya başlayın. Ön plan görevlerine öncelik verilir ve olağandışı bir şey olmadıkça, arka plan görevlerinin çalışıp çalışmadığı önemli değildir.

Veya:

  • Sistemi birkaç kez manuel olarak izleyin ve sahip olduğunuz ölçümlere göre sistemin “hazır” olması için ne kadar süre kaldığını belirleyin. Küçük bir zamanlayıcı programı veya komut dosyası edinin ve sisteminizin başlangıcına ekleyin. Seçtiğiniz süre dolduğunda, bir mesaj görüntüleyebilir veya bir ses çalabilir.

Bu, şu anki sorunuza doğrudan cevap vermeyebilir, ancak umarım faydalıdır.


3
Bu, IMO'nun bir nedenden ötürü en iyi (ve teknik olarak en doğru) cevabıdır: “tüm başlangıç ​​programları önyüklemeyi bitirdi” tanımındaki belirsizliği vurgulamaktadır. Durma sorununun oldukça ilgili olduğuna katılıyorum, ancak yalnızca başlatılan süreçlerin sona ermesi durumunda. Biri önyüklemeden sonra çeşitli programların CPU tüketimini izleyebilse ve bilgisayarın "önyüklenmesini bitirdiğinde" dikte etmek için önceden tanımlanmış bir eşiği kullanabilse de, bu yalnızca küçük bir vaka alt kümesini kapsar (özellikle, yükleme performansı çoğunlukla CPU'ya bağlı olan işlemler) .
Atılım

@Breakthrough İyi nokta ve düzenleme, teşekkürler. Başlangıçta yürütülen herhangi bir program için öngörülemeyen birçok şeyi yapabileceği fikrini gerçekten kısaca ifade etmeye çalışıyordum: (1) başla ve sonlandır, (2) çalışmaya başla ve devam et, (3) ek ve başla işler, sonra (1) veya (2) yapın. Kaynak tüketimine "tamamlama" fikrine dayanmak bile gecikmeli yükleme ve bazı programların ek bir iş yapmaya başlamak için "boş" olana kadar bekleyebileceği gerçeğinden dolayı ideal değildir.
Nick

"boşta" veya "önyüklenmiş" bir bayrağın kalıcı / daemon işlemleri için ne kadar yararlı olacağını merak eder (ihtar, yalnızca beklediğiniz her işlemde uygulanırsa yararlı olur ...).
Atılım

@Yanırım Yanılmıyorsam, linux 'buna systemdsahiptir, burada prensipte biri diğerlerine bağımlılık mekanizmasıyla başladıktan sonra bir servisi başlatabilir. Hepsini elle belirtmeniz gerekir ( systemdbilgim o kadar iyi değil).
rubenvb

@Nick Çözümü bulmaya çalışmanın arkasındaki mantık için teşekkürler, aslında yeni bir bakış açısı sunar. Çok basit bir çözüm olacağını düşünmüştüm, fakat öyle gözükmüyor ... Şimdilik belirtilen zamanın bittiğini bildiren küçük bir zamanlayıcı programı kullanacağım.
Firee,

11

Windows gerçekten bittiğinde neden özel bir ses çalmak için Windows Görev Zamanlayıcı'yı ve Olay Kimliği 100'ü kullanmıyorsunuz?

Tetikleyiciler altında "Bir etkinlikte" seçeneğini seçin ve

  • Log: LogMicrosoft-Windows-Teşhis-Performans / Operasyonel
  • Kaynak: Tanı Performansı
  • Etkinlik Kimliği: 100

Eylemler altında "Bir program başlat" ı seçin.

  • Program / komut dosyası: "%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe"
  • Argüman ekle: "%windir%\Media\Windows Logon Sound.wav"

    Event ID: 100   
    Decription: Windows has started up
    

    Kaynak Olay Kimliği 100: Windows Tanılama Performansı


1
Hem pencerelerin hem de tüm başlangıç ​​programlarının önyüklemenin bitmesini gerektirir
Firee

2
FWIW: Bu cevabın verildiği zaman, OP sadece "Windows başlangıcından" bahsetti. Tüm başlangıç ​​programlarını içeren ikinci bölüm daha sonra eklendi!
nixda

İsimsiz bir kullanıcı tarafından yapılan yorum: Bu, başlangıç ​​zamanınız biraz yavaş ya da çok yavaşsa gerçekten işe yarar. Basit ve kesin. Ancak başlangıç ​​zamanınız
hızlıysa

9

Windows önyükleme bitmiş davranacak o (düşük öncelikli CPU ve disk aktivitesi hariç)% 80 boşta olup olmadığını Masaüstü UI ulaştıktan sonra 10 saniye boyunca.

Tam önyükleme süresini görmek için, neden Windows önyüklemesinin yavaşça yapıldığını izlemek için xbootmgr kullanın .


1
Benim sorum önyüklemeyi hızlandırmak değil, sadece (tüm başlangıç ​​programları vb.) Önyüklemenin tamamlandığını belirten bir gösterge istiyorum
Firee

5
yavaş çalmayı ses çalmaya çalışmak yerine düzeltmelisiniz.
magicandre1981

8

Soluto: https://www.soluto.com/ Uzun süredir kullandığım ücretsiz bir program kullanıyorum.

Ben sadece bir kullanıcıyım, bağlı değil.

Benim için çalışıyor.

Geri sayım yapar ve önyüklemede ne yüklemek istediğinizi seçmenize izin verir.

Ayrıca başlangıçları geciktirmenize izin verir.


Çevrimdışı çalışıyor mu?
Firee

Bu site / şirket artık uzaktan güvenlik özellikleri için bir mobil uygulama sunuyor; Etki alanının şimdi bir başkasına ait olduğunu varsayıyorum.
mbuc91

6

Bu Python betiğini başlangıçta çalıştırın. Cpu kullanımı art arda 5 saniye boyunca yüzde 20'nin altına düştüğünde, başlangıç ​​sesini çalacaktır:

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

Başlatma için bir ses ekleyebilirsiniz.

Başlatma işlemlerini geciktirebilir ve ilk önce gerçekleştirilecek bir ses efekti koyabilirsiniz. Startup Delayer aracı bunu yapar.

görüntü tanımını buraya girin


Bu önyükleme işlemini algılayacak mı yoksa ideal bir zamanlayıcı mı koymalıyım?
Firee

@Firee Zamanlayıcıya gerek yok, sadece "otomatik gecikme" seçeneğini kullanın
stderr

1

Bu çok etkili olmayabilir, ama ucuz.

Genellikle sabit disk etkinlik ışığına bakarım (duruma göre bir veritabanı simgesi gibi bir şeyle tanımlayabilirsiniz), led nadiren sabitlenene ve yanıp sönene kadar, ardından bilgisayarı çok gecikmeden kullanabileceğimi biliyorum. Sabit disk genellikle PC'nin darboğazıdır ve çok fazla kullanılmıyorsa, çalışma için yeriniz vardır.

Umarım yardımcı olur.


1
Biliniyor ama oturmak ve beklemek zorundayım ...
Firee

4
Zorunda değilsin. Evdeki herhangi birisini sizin için yapması için yetki verebilirsiniz. bu kolay!. : D
MadeOfAir

0

Bunu kendim hiç kullanmamıştım, ancak Windows Görev Zamanlayıcısı "Başlangıçta" veya "Oturum Açarken" çalışması için tetiklenen bir görev oluşturmanıza izin verecek. .NET Framework'ün Console.Beep () yöntemine erişmek için bir powershell betiğini çalıştırmak için bir görev zamanlayabilirsiniz . Hatta düzgün bir melodi haline getirebilirsiniz.

Gönderen Hey Komut Guy! Blog

[console]::beep(500,300)

Pitch'i değiştirmek için ilk sayının değerini değiştirin (190'dan düşük veya 8500'den yüksek herhangi bir şey duyulamaz) ve süreyi değiştirmek için ikinci sayının değerini değiştirin

Düzenleme: Görünen o ki, Console.Beep () yöntemi, MSDN .NET belgelerine göre 64 bit sistemlerde çalışmayabilir. PowerShell Komut Dosyasında bip sesi test edildi ve iyi çalışıyor.

Ayrıca başlangıç ​​işlemlerinizi kontrol etmek isteyebilirsiniz. Bunu msconfig çalıştırarak ve servislere tıklayarak yapabilirsiniz. Ayrıca Sysinternals aracını Autoruns da kullanabilirsiniz.


0

Windows belgelerine göre yükleme sırasındaki son kayıt defteri currentuser / runOnce (başlangıç ​​klasöründen sonra) ... ... ancak yükleme sırası ne olursa olsun, bazı programlar uzun başlangıç ​​zaman alabilir.

Belki de toplu iş dosyasında CPU etkinliğini izlemek iyi bir çözüm olabilir:

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

... ve son 10 cpu-yük kontrolünde% 15'in altında cpu yükünün olduğunu belirttikten sonra BEEEPing. Bu toplu iş dosyası başlangıç ​​klasöründeki bağlantıyla veya HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run kayıt defterinde daha iyi başlatılabilir


0

Sen yazdın:

«Makinem (Windows 7 64-bit) tamamen önyükleme yapmak için yaklaşık 3-4 dakika sürer ...»

Bir "normal" önyükleme , kullanıcı hesabına erişim dahil yaklaşık 30 saniye sürer . Yanlış şeyler var ve bu düzeltilmelidir. Düzeltmek için veriyi almanız gerekiyor. Bu sorunu gidermek için size iki yardımcı program öneririm:

1) Autoruns

Bununla önyükleme işlemi sırasında yüklenen her işlemi, programı ve sürücüyü kontrol edebilirsiniz. Tka care: Bu çok güçlü bir araçtır ve ne yaptığınızı bilmiyorsanız öğeleri SİLMEYİN. Ancak bazı başlangıç oturum açma programlarının işaretini kaldırabilir (devre dışı bırakabilirsiniz) ...

2) Sistem Gezgini

Bu araçla, tüm işlemlerin başladığını ve Sistem Gezgini başlatılıncaya kadar tarihçelerini görebilirsiniz. Ayrıca tüm bu işlemleri güvenlik amacıyla taramak da mümkündür (işlem veritabanına kıyasla ..)

Önce bunu kontrol edin, bize biraz geri bildirimde bulunun.

Ayrıca hizmetleri başlangıçta services.mscve devmgmt.mscWindows yönetici araçlarında (hatalı aygıtlar için sarı üçgen, DIO yerine PIO modunda sabit disk vb.) Olan aygıtların durumunu da kontrol edebilirsiniz ...

Umarım bu yardım. Bilmemize izin ver.


Endişelenmek, açılış süresinin neden bu kadar uzun olduğu değil. Çok sayıda başlangıç ​​programım olabilir ... vb. Tüm başlatma işlemi tamamlandığında Windows, Logon, tüm başlangıç ​​programları vb.
İçeren

Sadece görev yöneticisi ile kontrol edin ... CPU boş durumda olduğunda yapılır. PC'niz için 3,4 dakika sürer, değil mi? : - /
climenole

Görünüşe göre, Sabit disklerin ışıkları yanıp sönmeyi bıraktıktan
Firee

"Bir şeyler yanlış ve bu düzeltilmesi gerekiyor". Ya da sadece antivirüs işini çok iyice yapıyor ...
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersen Belki. Endişelerimin ne kadar sürdüğü değil dediğim gibi, sadece ne zaman tamamlandığını bilmem gerekiyor ve hala başlangıç ​​sürecinde olan arka plan süreci nedeniyle sistemi olası bir gecikme olmadan kullanmaya başlayabilirim.
Firee

0

Böyle bir şey arıyordum ve cevabı buldum

Ben gerçek kodu daha sonra muhtemelen gönderirim, ama işte

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

sadece son bölümün içeriğini bir vbs dosyası olarak kaydedin ve çalıştırın, her bir sistem olayını sorgulayabilir ve gösterilen mesajı basit hale getirebilirsiniz.

önyükleme sırası tamamlamasını bulmak için ne yapılması gerektiği, bu komut dosyasının yalnızca sistem olaylarındaki önyükleme tamamlanma işlemine karşılık gelen '100' olay kimliği kadar çalışmasını sağlamaktır.

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

Bu nedenle, bu betiği başlangıçta açtığınızda, tüm olayları yok eder ve olay kimliğinin 100 olmasını bekler ve sizi uyarır. aynısı, autoit gibi herhangi bir komut dosyası aracında da kullanılabilir.

Sadece hepsinin bilmesini istedim. çünkü bunu aradığımda. tek bulduğum en iyi pencereler görev zamanlayıcı fikri ya da soluto idi. aslında soluto bir süre önce x64 bilgisayarımda bazı garip sebeplerden dolayı çalışmayı bıraktı. bu yüzden beni bu son çözüme götüren bir senaryo yapmak istedim ....

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.