Otázka čiateteľa: Mám doma už starší počítač, na ktorom už pomerne dosť rokov prevádzkujem operačný systém Windows 7. Všetko však funguje dobre, rýchlo a tak ako má, až na jedinú vec. Zhruba pred trištvrte rokom mi prestali fungovať aktualizácie. Teda, v základe fungujú, ale nenainštalujú sa. Nazhromaždilo sa ich už niekoľko desiatok, pričom pri vypnutí počítača sa začnú inštalovať, ale proces inštalácie sa nikdy nedokončí. Buď dôjde ku chybe, alebo k nekonečnému cyklu a počítač musím natvrdo vypnúť. Neviem, či to nejako súvisí s koncom podpory Windows 7, ale predpokladám, že existujúce aktualizácie by sa nainštalovať mali. Z tohto dôvodu som sa systém ani nesnažil preinštalovať, pretože predpokladám, že za tých 8 rokov čo je na trhu už to bude poriadny zástup a obávam sa, že sa už nenainštaluje žiadna alebo zase len časť.

Poruchy aktualizačného mechanizmu sa na dlhé roky prevádzkovaných systémoch môžu objaviť z rôznych dôvodov, pričom sa pravdaže netýkajú len Windows 7, ale aj novších systémov Windows 8 a Windows 10. Obvyklé sú dva prejavy, v rámci ktorých sa stiahnuté aktualizácie buď nechcú nainštalovať, ako u vás, alebo sa naopak len nekonečne vyhľadávajú a nikdy sa nestiahnu. Existuje však mnoho ďalších prejavov, ktorých výsledkom je skrátka to, že aktualizácie nefungujú.

Aktualizačný mechanizmus sa skladá z mnohých častí, reprezentovaných rôznymi priečinkami plnými súborov a takisto zástupom bežiacich procesov. Oprava vzniknutého stavu sa tak skladá z postupného skúšania a resetovania jeho jednotlivých zložiek.

Obsah priečinka SoftwareDistribution s aktualizáciami

1) Prvou základnou zložkou aktualizačného mechanizmu je priečinok SoftwareDistribution, ktorý nájdete v C:/Windows/SoftwareDistribution. Tento priečinok slúži na uloženie dočasných súborov aktualizácií, ktoré sa na váš počítač nedávno nainštalovali alebo sa naopak najbližšie ešte inštalovať budú. O obsluhu tohto priečinka sa stará mechanizmus, pomenovaný ako WUAgent. Veľkosť tohto priečinka sa obvykle pohybuje od niekoľkých až po stovky megabajtov, avšak ak dlhodobo aktualizácie nefungujú správne, narastie aj na gigabajty.

V prípade problémov je obsah priečinka alebo celý priečinok možné zmazať (alebo premenovať), pretože pri najbližšej príležitosti ho WUAgent vytvorí znovu s novými konfiguračnými súbormi. Väčšina jeho obsahu vám pôjde zmazať rovno, až na DataStore, ktorý obsahuje databázy, s informáciami o aktualizáciách. Je to z dôvodu, že dva aktualizačné procesy, konkrétne samotný WUAgent a takisto služba Background Intelligent Transfer, ich neustále používajú. Musíte ich teda najprv dočasne zastaviť pomocou Príkazového riadka (v integrovanom vyhľadávaní menu Štart zadajte CMD a otvorte ho ako správca). V ňom zadajte príkaz: net stop wuauserv (zastavenie WUagenta) a stlačte Enter a následne net stop bits (zastavenie Background Intelligent Transfer Service), ktorý takisto potvrďte. Obsah priečinka už pôjde zmazať celý. Služby opätovne spustíte príkazmi net start wuauserv a net start bits. Alternatívne je ich možné spustiť aj reštartom.

Vypínanie WUAgenta pomocou príkazového riadka

Kedže WUAgent musí po zmazaní databázy už nainštalovaných aktualizácií vytvoriť znovu (aby zistil ktoré chýbajú), prvá najbližšia kontrola dostupnosti nových aktualizácií bude trvať o niečo dlhšiu dobu. Je takisto potrebné upozorniť, že po zmazaní obsahu SoftwareDistribution nebudete môcť odinštalovať staršie už nainštalované aktualizácie, pretože pôvodné zálohované dáta už budú chýbať. Je preto zbytočné tento priečinok čistiť na funkčnom systéme.

2) Ak predchádzajúci postup nepriniesol opravu stavu, je vhodné sa zamerať na druhý prvok aktualizačného mechanizmu, ktorým je priečinok catroot2 (C:/Windows/System32/catroot2). V tomto priečinku sa ukladajú digitálne podpisy jednotlivých sťahovaných aktualizácií a slúžia na posudzovanie toho, či je ich možné bezpečne nainštalovať.

Priečinok catroot2 v rámci systémových položiek Windows/System32

Aby ste obsah priečinka mohli zmazať, je nutné zastaviť kryptografickú službu systému. Aj v tomto prípade sa to vykonáva v príkazovom riadku (alebo PowerShell), kde je potrebné zadať príkaz: net stop cryptsvc. Následne obsah priečinka môžete zmazať, alebo v prípade záujmu o zachovanie pre prípad potreby skopírovať inam. Službu následne znovu spustite príkazom: net start cryptsvc. Obsah priečinka sa znovu vytvorí pri najbližšom spustení procesu aktualizácie.

Je dôležité upozorniť, že vedľa priečinka catroot2 sa nachádza aj priečinok CatRoot. Tento priečinok ani jeho obsah nikdy nemažte ani nepremenovávajte. Slúži na iné účely a v systéme nie je zabudovaný mechanizmus na jeho vytvorenie od nuly.

Priečinok catroot2 v rámci systémových položiek Windows/System32

3) Ak riešite problém, pri ktorom sa namiesto neinštalovania aktualizácie vôbec nesťahujú, tak po neúspechu prvých dvoch metód je možné vyskúšať aj reset databázy sťahovacieho mechanizmu Microsoftu. Nachádza sa v priečinku C:ProgramDataMicrosoftNetworkDownloader. Priečinok ProgramData je skrytý a na prístup do neho budete musieť buď zobrazenie skrytých priečinkov povoliť (cez Možnosti priečinka) alebo napísať jeho adresu rovno do adresného riadka okna Prieskumníka. V priečinku Downloader následne nájdite relevantné priečinky databázy. V prípade súčasných Windows 10 ide o súbory qmgr.db a qmgr.jfm, zatiaľ čo na staršom Windows 7 o súbory qmgr(číslo).dat, ktorých môže byť viac. Pre reset ich je potrebné zmazať, avšak aby to bolo možné, musíte pomocou príkazového riadka najprv zastaviť službu Background Intelligent Transfer, príkazom: net stop bits. Po zmazaní súborov ju môžete zas povoliť príkazom net start bits, pričom okamžite uvidíte, že súbory boli vytvorené znova.

Aktualizácie Windows 10

4) Ak by všetky postupy zlyhali, problém môže byť spôsobený väčším poškodením Windows, ktorý by ste mali začať riešiť kontrolou celistvosti systémových súborov, čo vykonáte príkazom SFC /scannow v Príkazovom riadku.

Čo sa týka vašej otázky s koncom distribuovania aktualizácií, tak technologická podpora Windows 7 skončila 13. januára 2015 (Microsoft to označuje ako koniec tzv. Mainstreamovej  podpory). Od tejto doby už Windows 7 nedostáva žiadne aktualizácie z hľadiska technických vylepšení, opráv a podporu nových funkcií a hardvéru. Avšak bezpečnostné aktualizácie, ktoré odstraňujú novoodhalené bezpečnostné chyby a zraniteľnosti, sú pre tento systém naďalej vydávané, a tak tomu bude až do konca jeho životnosti (to Microsoft označuje ako koniec tzv. Rozšírenej podpory), ktorý nastane 14. januára 2020. Do tejto doby teda váš systém bude aktualizácie stále dostávať.

Aktualizačný dialóg Windows 7

Značky:

František Urban

František Urban
Zameriavam sa najmä na prehľadové a analytické články z oblasti najrôznejších technológií a ich vývoja. Nájdete ma takisto pri diagnostike HW a SW problémov.