Dlaczego Windows tak często chce się zresetować?
Jeśli jest jedna skarga, prawie wszyscy wydają się mieć Windowsa, to dlatego, że tak często chce się zrestartować. Niezależnie od tego, czy chodzi o aktualizacje systemu Windows, czy po prostu podczas instalowania, odinstalowywania lub aktualizacji oprogramowania, system Windows często prosi o ponowne uruchomienie.
Windows zazwyczaj musi się zrestartować, ponieważ nie może modyfikować plików systemowych, gdy są używane. Te pliki są zablokowane i mogą być modyfikowane tylko wtedy, gdy nie są używane.
Co robi ponowne uruchomienie?
System Windows nie może aktualizować ani usuwać plików będących w użyciu. Gdy usługa Windows Update pobiera nowe aktualizacje, nie może natychmiast zastosować ich do plików systemowych Windows. Pliki te są w użyciu i zablokowane na wszelkie zmiany. Aby faktycznie zainstalować te aktualizacje, system Windows musi zamknąć większość systemu operacyjnego. System Windows może następnie ponownie uruchomić system i załadować zaktualizowane pliki po uruchomieniu.
Ponowne uruchomienie może być również konieczne podczas aktualizowania lub usuwania niektórych typów oprogramowania. Na przykład, jeśli używasz jakiegoś programu antywirusowego lub sterownika sprzętowego, który wsuwa się głęboko do systemu, jego pliki zostaną załadowane do pamięci i zabezpieczone przed modyfikacją. Podczas aktualizacji lub usuwania plików systemu Windows może być konieczne ponowne uruchomienie komputera i zmodyfikowanie plików przed pełnym uruchomieniem systemu.
Windows Update zrestartuje
Microsoft często wydaje łatki dla Windows, większość z nich pojawia się w "Patch Tuesday" w drugi wtorek każdego miesiąca. Większość tych aktualizacji modyfikuje pliki systemowe, których nie można zaktualizować podczas działania systemu Windows, więc wymagają one ponownego uruchomienia komputera. Jednak nie każda aktualizacja Windows wymaga ponownego uruchomienia komputera. Na przykład aktualizacje pakietu Microsoft Office nie powinny wymagać ponownego uruchomienia komputera - te pliki można wyładować z pamięci, ponownie uruchamiając pakiet Office.
Windows zmusza do ponownego uruchomienia komputera, ponieważ aktualizacje zabezpieczeń nie są zainstalowane, dopóki nie zrobisz tego. Microsoft wprowadził wyskakujące okienka, które powodują błędy w ponownym uruchomieniu komputera, a nawet automatycznie uruchamia ponownie komputer w początkowej fazie systemu Windows XP, gdy robaki takie jak Blaster, Sasser i Mydoom działały bezczynnie. Microsoft chciał mieć pewność, że wszyscy szybko uruchomią się ponownie po otrzymaniu aktualizacji, aby nie zostały zainfekowane. Aktualizacje nie pomogłyby, gdyby ludzie czekali kilka dni lub tygodni przed ponownym uruchomieniem komputera i zarazili się nim.
Instalowanie, odinstalowywanie lub aktualizowanie oprogramowania
Programy komputerowe czasami chcą ponownie uruchomić komputer podczas instalowania, odinstalowywania lub aktualizacji. Może to wynikać z faktu, że używają plików systemowych i sterowników niskiego poziomu, których nie można aktualizować ani usuwać w locie. Na przykład, powiedzmy, że odinstalowałeś program antywirusowy. Deinstalator prawdopodobnie nie będzie w stanie natychmiast usunąć wszystkich plików, więc musisz ponownie uruchomić komputer. Deinstalator zaplanuje usuwanie plików, a system Windows automatycznie usunie pliki przy następnym uruchomieniu komputera.
Niektóre programy mogą również wymagać ponownego uruchomienia komputera po zainstalowaniu. Na przykład po zainstalowaniu programu antywirusowego może być konieczne natychmiastowe ponowne uruchomienie, aby można było obserwować proces uruchamiania. Niektóre sterowniki sprzętowe niskiego poziomu mogą wymagać ponownego uruchomienia zanim będą mogły działać. Oczywiście niektóre programy instalacyjne mogą poprosić o ponowne uruchomienie komputera, jeśli nie jest to konieczne.
Jak Windows Harmonogramy przemieszczają i usuwają pliki przy ponownym uruchomieniu
System Windows oferuje interfejs API, za pomocą którego programiści aplikacji mogą przesuwać, zmieniać nazwy lub usuwać pliki, które są w użyciu. Aplikacja prosi system Windows o zmianę nazwy lub przeniesienie pliku po ponownym uruchomieniu komputera, a żądanie jest zapisywane w wartości HKLM \ System \ CurrentControlSet \ Control \ Session Manager \ PendingFileRenameOperations w rejestrze. Po uruchomieniu systemu Windows sprawdza ten klucz rejestru i wykonuje wszystkie żądane operacje na plikach.
Możesz wyświetlić listę oczekujących zmian plików i zaplanować własne ruchy i usuwanie za pomocą narzędzi PendMoves i MoveFile SysInternals. Pozwala to usuwać i przenosić pliki, których nie można usunąć, ponieważ są one obecnie w użyciu. Istnieją inne narzędzia, które oferują przenoszenie lub usuwanie plików przy ponownym uruchomieniu komputera, a wszystkie one działają, pisząc do tego klucza rejestru systemu Windows. Niektóre narzędzia umożliwiają także odblokowanie zablokowanych plików i usunięcie lub przeniesienie ich, ale spowoduje to problemy w przypadku próby odblokowania i zmodyfikowania plików zależnych od systemu.
Co z Linuksem i innymi systemami operacyjnymi?
Jeśli kiedykolwiek korzystałeś z Linuksa lub innego systemu operacyjnego, prawdopodobnie zauważyłeś, że Windows chce się restartować częściej niż on. Linux po prostu nie błaga o ponowne uruchomienie systemu Windows, nawet po zainstalowaniu aktualizacji systemu. To prawda, ale nie jest to takie proste.
W systemie Windows pliki, które są w użyciu, są zwykle zablokowane i nie można ich modyfikować ani usuwać. W systemie Linux pliki w użyciu można normalnie modyfikować lub usuwać. Oznacza to, że w systemie Linux te pliki biblioteki systemowej mogą być aktualizowane natychmiast bez ponownego uruchamiania. Wszelkie pliki w użyciu mogą zostać natychmiast usunięte.
Oto haczyk: Zmiany nie będą musiały zostać wprowadzone, dopóki nie uruchomisz ponownie komputera. Na przykład, jeśli zainstalujesz aktualizację dla biblioteki systemowej, pliki na dysku zostaną natychmiast zaktualizowane, ale wszystkie uruchomione procesy korzystające z tej biblioteki będą nadal używać starej, niezabezpieczonej wersji. Jeśli zaktualizujesz program, nowa wersja tego programu nie będzie używana, dopóki nie zamkniesz programu i nie uruchomisz go ponownie. Jeśli zainstalujesz nowe jądro Linux, nie będziesz używać nowego jądra, dopóki nie zrestartujesz komputera i nie uruchomisz nowego jądra. Istnieje kilka sposobów na przejście na nowe jądro bez ponownego uruchamiania, ale zazwyczaj nie są one używane w konsumenckich systemach Linux i są bardziej dla serwerów wymagających maksymalnego czasu pracy.
Innymi słowy, często konieczne jest ponowne uruchomienie, aby upewnić się, że ważne aktualizacje zostały wprowadzone w systemie Linux. Oczywiście, jeśli używasz serwera, a czas działania jest dla Ciebie ważny, możesz obejść potrzebę aktualizacji, uruchamiając ponownie zaatakowane procesy. Ale jeśli jesteś normalnym użytkownikiem komputera stacjonarnego, prawdopodobnie po prostu chcesz ponownie uruchomić komputer.
Dobra wiadomość jest taka, że ponowne uruchomienie stało się z czasem coraz mniej potrzebne. System Windows może teraz wymieniać wiele typów sterowników - na przykład sterowniki graficzne - bez ponownego uruchamiania systemu. Nowoczesne funkcje bezpieczeństwa (takie jak włączenie Zapory systemu Windows) sprawiły, że system Windows jest bardziej bezpieczny, więc system Windows 8 oferuje trzydniowy okres karencji do ponownego uruchomienia po aktualizacjach systemu Windows..
Image Credit: Anders Sandberg / Flickr