Fråga
Ibland får jag blå skärm i Windows 7och jag använder programmet Who Crashed för att hitta anledningen till detta. För att programmet ska kunna hjälpa mig behövs en minidump. Därför har jag under Systemegenskaper / Avancerat / Start och återställning / Inställningar bockat för ”Liten minnesdumpning” som ska sparas i %SystemRoot%Minidump.
Det som är problemet är att något program eller någon tjänst som startar några minuter efter Windows ändrar inställningen till ”Dumpning av kernelminnet” som ska finnas i %SystemRoot%MEMORY.DMP, men där finns inget efter bluescreen.
Jag har försökt kontrollera vilket program som startar strax innan ändringen görs. En kandidat är csc.exe som finns under C:WindowsMicrosoft.NETFrameworkv4.0.30319, men även under C:Windowswinsxsx86_netfx35linq-csharp_31bf3856ad364e35_6.1.7601.17514_none_193318f5726bf1d7. Men det är osäkert. Det kan också vara en tjänst som startar och gör ändringen.
Det jag vill ha hjälp med att få fram vilket program eller vilken tjänst som kan tänkas ändra min inställning från ”Liten minidumpning” till ”Dumpning av kernelminnet”, som jag nu återställer manuellt några minuter efter varje systemstart.
Norbert Schüller
Svar
Jag kommer tyvärr inte på något sätt att ta reda på vad det är som ändrar dina inställningar. Men vad du skulle kunna prova är att förhindra ändringen. Starta Registereditorn och gå till nyckeln HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control CrashControl. Det är DWORD-värdet CrashDumpEnabled som styr vilken typ av minnesdumpning som utförs och det ska vara satt till 00000003 för minidump.
Om du högerklickar på nyckeln CrashControl och väljer Behörigheter kan du ställa in vem som har rätt att ändra nyckeln. Om vi antar att det är en tjänst eller ett Windows-program som är skyldigt borde det räcka med att neka användaren System rättigheter till denna nyckel. Klicka på knappen Avancerat och dubbelklicka sedan på System. Bocka för Neka vid ”Fullständig behörighet” och stäng med OK. Med lite tur löser detta ditt problem.
En annan variant är att använda en batchfil för att ändra tillbaka registervärdet efter att systemet ändrat det. Använd Anteckningar och skapa en textfil med följande innehåll:
@ECHO OFF
REG ADD ”HKLMSYSTEMCurrentControlSetControlCrashControl” /v ”CrashDumpEnabled” /t REG_DWORD /d ”00000003” /f
Spara filen som Crashdump.bat eller något annat lämpligt namn. Om du nu kör denna fil ändras ditt registervärde. Enda problemet är att den måste köras som administratör, du måste alltså högerklicka och välja ”Kör som administratör”. Detta kan du lösa genom att skapa en genväg till den. Högerklicka på genvägen och välj Egenskaper. Gå till fliken Genväg och klicka på knappen Avancerat. Bocka för ”Kör som administratör” och stäng med OK. Nu kan du dubbelklicka på genvägen för att genomföra din registerändring.
User Account Control kommer dock fortfarande att protestera. För att rätta till detta, gå in på ditt användarkonto i Kontrollpanelen och klicka på ”Ändra inställningar för User Account Control”. Dra ned reglaget till lägsta nivån. Observera dock att detta innebär en viss säkerhetsrisk.
Nu kan du placera din genväg i Autostart-mappen för att köra den när Windows startas. Förhoppningsvis körs den efter det som ändrar ditt registervärde. Om inte, kan du fördröja körningen en aning. Lägg till följande rad mellan de två raderna i din batch-fil:
TIMEOUT /T 10 /NOBREAK
Siffran 10 kan ändras. Detta ger en tio sekunders fördröjning innan registerändringen körs, men visar en ganska tråkig fråga I ett kommandotolksfönster. Nedanstående rad kan användas i stället:
PING -N 11 127.0.0.1 > NUL
Även detta ger en tio sekunders fördröjning. Ändra siffran 11 för längre väntan. Även här visas ett kommandotolksfönster, men det är åtminstone tomt. Utrymme finns för experimenterande…