Työkoneellani kävi sellainen haaveri, että jotenkin onnistuin vahingossa suorittamaan .reg -rekisteritiedoston, joka oli varmuuskopio toisen työntekijän tietokoneelta. Tämä johti siihen, että Windows loi kyseiset rekisteriavaimet omalle tietokoneelleni. Seurauksena rekisteri korruptoitui, mikä taasen crashasi Windowsin palvelut ja esti boottaamisen Windowssiin.
Windows yritti tyypilliseen tapaansa korjata ongelmaa automaattisella korjauksella, joka ei lopulta johtanut mihinkään.
Lopulta sain vastaukseksi:
"Automaattinen korjaus ei voinut korjata tietokonetta" "Voit kokeilla tietokoneen muita korjausvaihtoehtoja valitsemalla Lisäasetukset tai sammuttaa tietokoneen valitsemalla Sammuta" "Lokitiedosto: D:\Windows\System32\Logfiles\Srt\SrtTrail.txt"
Yleisesti kannattaa aina lukea lokista, mikä meni korjauksessa pieleen. Tässä tapauksessa tiesin, ettei automaattinen korjaus tule onnistumaan, joten jatkoin itse eteenpäin.
Minulla oli seuraavat vaihtoehdot:
- Rekisterin toimivan version palauttaminen varmuuskopioista
- Aiempaan järjestelmän palautuspisteeseen palauttaminen
- Käyttöjärjestelmän palauttaminen oletusasetuksille
Rekisterin varmuuskopion palauttamisyritys
Automaattisen korjauksen epäonnistuttua, valitsin Lisäasetukset.
Käynnistin komentokehotteen Windowsin troubleshooting-työkaluista: Troubleshoot > Advanced Options > Command Prompt. Oletuksena komentokehote aukeaa hakemistosijaintiin:
X:\windows\system32\
X-levy ei kuitenkaan ole se sijainti, jolta minun tuli etsiä rekisterin varmuuskopiota. Windowsin Recovery Environment (WinRE) toimii X-osiolta, ja levyjen oikeat kirjaimet eivät välttämättä WinRE-ympäristössä vastaa aiempia kirjaimia. Tyypillisesti C-levy on WinRE-ympäristössä mountattu D:ksi.
Listasin levyt komennolla:
wmic LOGICALDISK LIST BRIEF
Tuolla näin, että selvästi suurin levy oli D:
Varmistin asian vielä toisella tavalla: listasin levyt Diskpartilla avamaalla työkalun komennolla:
DISKPART
Sitten listasin osiot:
LIST VOL
Komento listasi neljä osiota, josta tunnistin Volume 1:n tietokoneeni kiintolevyksi. Drive letter oli D: ja koko 235GB.
Poistuin Diskpartista:
exit
Siirryin levylle D: ja listasin sen sisällön.
D: dir
Windows tekee toimivasta rekisteristä varmuuskopiot hakemistoon \windows\system32\config\regback\. Siirryin \config\-kansioon ja listasin sen sisällön:
cd \windows\system32\config dir
Siellä oli rekisterin tämänhetkiset tiedostot. Vaikka tietokoneeni ei tuon rekisterin kanssa boottaakaan, niin otin siitä varmuudeksi varmuuskopiot.
Tein uuden kansion nimeltä “varmuuskopiot“:
mkdir varmuuskopiot
Kopion kaikken config-kansiosta kansioon varmuuskopiot:
copy *.* varmuuskopiot
Output:
... "12 file(s) copied."
Sitten siirryin kansioon RegBack ja listasin sen sisällön:
cd regback dir
Harmikseni rekisterin palautusyritys päättyi tähän, sillä kaikkien viiden tiedoston tietostokoko oli 0 tavua. Varmuuskopiota rekisteristä ei siis ole otettu…
Jos taas olisi ollut varmuuskopiot, joista palauttaa, olisin jatkanut kopiomalla koko sisällön RegBack-kansiosta ylempään hakemistoon Config-kansioon.
copy *.* ..
Kysyttäisiin, haluanko varmasti ylikirjoittaa tiedostot. Vastaisin A, eli “Yes to All”.
A
Sitten poistuisin komentokehotteesta ja testaisin, boottaako laite Windowsiin.
exit
Koska oman tietokoneeni tapauksessa varmuuskopiota ei ollut, jouduin kokeilemaan aiempaan palautuspisteeseen palaamista.
EDIT 6.1.2018: Rekisterin varmuuskopioiden puuttuminen on yleinen bugi useammissa Windows 10:n versioissa. Tehtävien ajoituksesta löytyy tehtävä RegIdleBackup, jonka pitäisi tehdä kopiot \windows\system32\config -hakemiston rekisteritiedostoista RegBack-kansioon, mutta jostain syystä tehtävä suoritetaan valmistuneena, vaikka kopioita ei oikeasti tehtykään.
Monet muutkin ovat huomanneet ongelman ja penkoneet syvemmälle, esim. https://blog.1234n6.com/2018/08/has-regback-been-retired.html.
Palautuspisteen palauttaminen
Käynnistin koneen uudelleen, jolloin se boottasi aiempaan virheilmoitukseen ja yritti Windowsin korjausta. Korjaus epäonnistui, kuten aiemminkin. Sen jälkeen pääsin takaisin troubleshootin-työkaluihin.
Troubleshoot > Advanced options > System Restore
Windows löysi muutaman järjestelmän luoman palautuspisteen. Kaikki olivat samalta päivältä, eikä vanhempia pisteitä löytynyt. Kokeilin järjestelmän palautusta kustakin palautuspisteestä, mutta kaikki yritykset epäonnistuivat.
Järjestelmän palauttamista ei voi keskeyttää, kun se on käynnistetty. Halautko jatkaa?
Vastasin Kyllä, jonka jälkeen kone yritti palautusta:
Järjestelmän palauttaminen Palautetaan tiedostoja...
Hetken päästä yritys johti kuitenkin virheilmoitukseen:
"Järjestelmää ei voitu palauttaa. Tietokoneen järjestelmätiedostoja ja asetuksia ei muutettu. Tiedot: Määrittämätön virhe järjestelmän palauttamisessa. (0x80070003)
Jouduin siis jatkamaan koko käyttöjärjestelmän palautuksella.
Varmuuskopiot ennen uudelleenasennusta
Palasin komentokehotteeseen:
Troubleshoot > Advanced options > Command Prompt
Ennen palautusta, otin varmuuskopiot niistä tiedostoista, jotka eivät olleet minulla pilvessä. Niitä oli lähinnä Google Chromen bookmarkit ja F-Secure Key -sovelluksen tallentamat salasanat.
Komentokehote aloitti taas WinRE:n X-osiolta.
X:\windows\system32\
Kiinnitin läppärini USB 3.0-porttiin ulkoisen 2,5″ HDD-kiintolevyn. Tarkistin, Diskpartilla, mihin se oli mountattu.
DISKPART LISTVOL
Tuosta huomasin, että ulkoinen WD Elements kiintolevy oli mountattu G-osioksi.
Siirryin osiolle ja tein sinne uuden kansion nimeltä “markus”.
G: mkdir markus
Sitten palasin osiolle D, jossa tiedostoni olivat. Siirryin hakemistoon, johon F-Secure Key tallentaa salasanojen hashit.
D: cd \Users\markus.pyharanta\AppData\Local\F-Secure\Pwmgr dir
LocalStorage on se kansio, josta salasanat löytyvät. Kopion kuitenkin varmuudeksi koko Pwmgr-kansion toiselle levylle:
XCOPY D:\Users\markus.pyharanta\AppData\Local\F-Secure\* G:\markus\ /s /i
/s ja /i komennon lopussa tarkoittavat, että olen kopioimassa kansion rekursiivisesti, eli kaikki ko. kansion alikansiot ja niiden tiedostot myös.
Sitten, kun Windowsini on taas käyttökelpoinen, asennan F-Secure Keyn uudelleen ja siirrän LocalStoragen varmuuskopion sisällön uuden asennuksen hakemistoon.
Google Chromen kirjanmerkit löytyivät käyttäjän kotihakemistosta polusta C:\Users\%username%\AppData\Local\Google\Chrome\User Data, joten siirryin sinne.
cd \Users\markus.pyharanta\AppData\Local\Google\Chrome\User Data
Kopioin sieltä tiedostot Bookmarks ja Bookmarks.bak. Bookmarks-tiedoston voi viedä sitten uudella Windows-asennuksella Chromen kirjanmerkkien “Tuo“-toiminnolla.
XCOPY Bookmarks G:\markus\ XCOPY Bookmarks.bak G:\markus\
Kaikki varmuuskopiot oli nyt viety ulkoiselle kiintolevylle. Jatkoin Windowsin uudelleenasennukseen.
Windowsin uudelleenasennus / palauttaminen
Käynnistin tietokoneen uudelleen, jolloin Windows yritti taas automaattista korjausta. Kun se epäonnistui, pääsin taas lisäasetuksiin, joista navigoin tietokoneen palautukseen.
Lisäasetukset > Troubleshoot > Palauta tietokoneen oletusasetukset (Reset this PC).
Painoin “Palauta oletusasetukset“, jonka jälkeen Windows lähti asentamaan itseään uudelleen.
Windowsin palauttaminen onnistui, ja ilokseni huomasinkin, että versio säilyi samassa 1803-versiossa. Työpöydälle myös luotiin automaattisesti html-tiedosto, joka listasi sovellukset, jotka poistuivat uudelleenasennuksen yhteydessä.
Loppujen lopuksi en menettänyt mitään dataa, osittain hyvien tallennus- ja varmuuskopiontikäytäntöjen vuoksi. Noin kahdessa tunnissa ehdin palauttaa työpisteeni identtiseen pisteeseen ongelmaa edeltävän tilan kanssa.
Lähteet
https://community.f-secure.com/t5/F-Secure-KEY/Backup-entries/td-p/41765
https://ss64.com/nt/xcopy.html