2008-07-16

På spaning efter de paket som flytt

Kring min födelsedag höll jag på med att bli klar med ett manus. Jag var småintresserad av att få Vista SP1 installerat, då nyare och tuffare alltid är bättre. Sedan fick jag ett fläktlöst Radeon HD 3850 i födelsedagspresent och ville få det installerat. Det gick inte alls bra, det kraschade och hade sig gång på gång på gång. Närmare bestämt var symptomet en TDR-timeout. Windows tycker (till synes med all rätt) att drivrutinen inte svarar och startar om den. För mig som användare var symptomet att UI svarade mycket långsamt vid inloggning och att man i princip aldrig lyckades slutföra densamma innan en slutlig BSOD inträdde.

Då lyckades jag fixa det genom att trixa fram och tillbaka med olika kort, men slutligen främst genom att rensa registerposter våldsamt. En hypotes var att kortet felklockades genom rester av medveten underklockning av föregående kort (hela bakgrunden var ju att jag ville ha en relativt tyst dator). Det skrev jag också om då. En annan del var att jag använde Catalyst 8.3, som då var ny. Den verkliga orsaken blev inte riktigt klar. Jag har lite för mig att jag trixade med BIOS(-uppdatering, på moderkortet) också, men jag är osäker.

Vissa trådar talade om att Vista SP1 skulle lösa detta, så jag försökte mer aktivt. Det ledde senare till en långsam (då jag var i Budapest, på SFS-FUM, och allmänt borta) kontakt med MS Support (gratis för installationsproblem för SP1). Jag var ganska klar över att problemen att få SP1 installerat (förutom att jag fuskat om min svenska installation till engelsk för att alls kunna försöka installera innan svensk översättning var släppt) bottnade i att hotfix relaterad till KB937287, ny service stack, vägrade att låta sig installeras. Det gick att utläsa i CBS.log, men min supportman lyssnade inte så noga på det.

Det kan i förbigående sägas att reparerade uppgraderingsinstallation misslyckats kapitalt på installationen, totallåsning vid sista omstarten. (Däremot fungerade reverteringsfunktionen utmärkt.)

Jag tror aldrig att jag då uppmanades att köra verktyget för KB947821. Det är ganska nyttigt, då det söker igenom paketstrukturen och rapporterar fel. Här kan man ju passa på att påpeka att en del av skadorna definitivt kommer från användande av felklockat minne och främst sedan trasslet med RAID:en när en disk dog i december. Binärfiler lite varstans var trasiga. sfc kunde rapportera om det, men inte om skadade manifest. Som kuriosa kunde inte heller en uppdatering med nya tidszoner för några udda territorier från december installeras. Det berodde på att manifest för föregående uppdatering, i juli, var trasigt. KB947821-verktyget kan både laga vissa och klaga om fler. Det upptäckte jag först den här veckan.

Av någon anledning ansågs dock KB937287, ny servicestack, och annat inte behövas. Efter långt, långt, långt letande insåg jag att följande registerposter (plus sedvanligt behörighetsmeck) kunde råda bot på det:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.0.6000.16386]
"InstallClient"="Package Manager"
"InstallName"="Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.0.6000.16386.mum"
"InstallLocation"="\\\\?\\I:\\Packages\\"
"CurrentState"=dword:00000007
"Visibility"=dword:00000002
"InstallTimeHigh"=dword:01c6fe94
"InstallTimeLow"=dword:8ff93723
"InstallUser"="S-1-5-18"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.0.6000.16386\Owners]
"Microsoft-Windows-UltimateEdition~31bf3856ad364e35~amd64~~6.0.6000.16386"=dword:00030007


Detta pseudopaket utgör grunden överordnad nod i trädet för en massa viktiga andra paket. När Windows nu fått för sig att detta paket saknades ledde det till att alla underordnade paket också ansågs saknas. Därmed kan de inte heller vara i behov av uppdateringar. Olyckligtvis visade det sig att diverse mer centrala komponenter, med ytterligare säkerhetshål, ansetts vara oinstallerade och ouppdaterade. Med lite tur är ingen reell skada skedd.

Efter detta och ytterligare lite trix med enstaka skadade filer gick SP1 med på att installeras natten till idag.

Vad händer? Naturligtvis gör någonting att grafikkortsproblemet har återuppträtt. Man provar med drivrutinsversioner fram och tillbaka, letar på nätet (och hittar ett moras med personer som haft likartade problem och aldrig blivit av med dem, dock sällan så radikalt illa som i mitt fall, där det inte ens går att logga in i praktiken). Lite komiskt är att det hela tiden går bra att terminalinlogga med RDP, så länge man inte rör konsolen. Här kan det också sägas att grafikkortsdrivrutinsuppgradering utan omstart går sötare när man via terminal kan välja att inaktivera och återaktivera grafikkortet.

Några tipsar om att välja pessimistisk minnestiming, eller att rycka ur minne. Andra tycker att msconfig med "1 processor" är en bra idé och att "1 processor betyder en sockel, inte en kärna". Blaj. Om man begränsar till 1 processor där har man 100 mm^2 eller så muggunderlägg. För övrigt hjälpte det inte för mig.

Sedan läser man tips om att deaktivera HPET, vilket inte verkar helt absurt. Implementationsdetaljer skulle kunna ge inkonsekventa tidsuppgifter mellan kärnor. Nu hjälpte inte det heller (och varför är det placerat bland APM-inställningar i BIOS-setup?).

När man är inne och rotar kollar man BIOS-version. Tydligen var den mycket äldre än jag trott, ca februari 2007. Senaste februari 2008. Ingen säger att något i ändringarna där har med mitt problem att göra, men då jag trodde att jag hade uppdaterat i mars i år är skillnaden ändå avsevärd. Och, visst, nu fungerar det. Grafikkortet mår bra, eventuellt har jag till och med lyckats börja kunna köra alla 4 GB samtidigt i de 800 MHz de är avsedda för. SP1 tycks fungera och prestanda känns spontant mycket bra.

Jag började dessutom att vara i fixartagen redan tidigare igår. Diskbänkskulledskran hade tyvärr tappat kulleden (lite beläggning, lite polerat sliten, gick att få på plats igen, men lossnade på nytt rätt fort). Jag tyckte att en ny kunde vara ett rimligt steg, särskilt eftersom den befintliga varit tätad i kanten med lite lim i några år nu (strilen 90 grader ut åt sidan var spännande, men rätt opraktisk). Dock trodde jag att jag skulle behöva en skiftnyckel för att få loss den övre gängningen, men det visade sig gå bra med lite motivation och hushållspapper för att få grepp trots fukten.

Nu var det å andra sidan så att skiftnyckeln, i rätt rejält format, låg på mitt (faktiskt förhållandevis städade) skrivbord.

Inga kommentarer: