Windows 10: Spectre- und Meltdown-Patch abschalten wegen Paritätsfehler

An einem meiner Rechner kam es seit dem bei Windows 10 der Spectre- und Meltdown-Patch installiert wurde zu unzähligen Einträgen in dieser Form:

Protokollname: System
Quelle: Microsoft-Windows-WHEA-Logger
Datum: 27.04.2018 10:25:05
Ereignis-ID: 19
Aufgabenkategorie:Keine
Ebene: Warnung
Schlüsselwörter:
Benutzer: Lokaler Dienst
Behobener Hardwarefehler.

Gemeldet von Komponente: Prozessorkern
Fehlerquelle: Behobene Computerüberprüfung
Fehlertyp: Interner Paritätsfehler
Prozessor-APIC-ID: 0

Mein Problem waren aber eigentlich nicht die Einträge im Ereignislog, sondern die Tatsache das es seit dem Patch zu zahlreichen Bluescreens und Stabilitätsproblemen in Anwendungen kam.

Seit dem Deaktivieren der Patches ist dieses Problem behoben. Allerdings ist klar, das diese Patche nicht ohne Grund gemacht wurden und durchaus sicherheitsrelevant sind. Ohne wirklich guten Grund sollte man die also auch nicht deaktivieren.

Mit diesen beiden Befehlen kann man unter Windows 10 die Registry so ändern, das die Spectre- und Meltdown-Patche CVE-2017-5715 und CVE-2017-5754 deaktiviert sind:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

 

Mit diesen beiden Befehlen kann man unter Windows 10 die Registry so ändern, das nur der Spectre-Patch CVE-2017-5715 deaktiviert ist. Microsoft empfielt das bei Stabitlitätsproblemen:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

 

Falls man die Patche wieder aktivieren will (also den Urzustand wieder herstellen möchte), so helfen diese beiden Befehle (die 3 im zweiten Befehl ist Absicht und korrekt!):

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

An der Stelle die deutliche Warnung: Es gibt einen Grund für die Spectre- und Meltdown-Patche. Diese zu deaktivieren, ohne zu wissen was man tut ist ausdrücklich keine gute Idee.

Schön erklärt ist das ganze auch noch bei Microsoft in diesem Artikel.

Java-Update unter Windows verhindern

Java führt im Hintergrund immer wieder eigenständig Software-Updates von sich selbst aus. Auf einem Client-Betriebssystem ist das aus Sicherheitsgründen ein durchaus erwünschtes Verhalten. Auf Servern hingegen kann es zum Fluch werden, wenn eine installierte Server-Anwendung nach einem Update einfach nicht mehr funktioniert, oder nicht mehr das tut, was sie soll.

Ein deaktivieren der automatischen Updates funktioniert leider nicht immer zuverlässig. Aber es gibt einen Weg: man kann den Java-Updater unter Windows einfach deinstallieren. Java bleibt damit weiterhin auf dem Rechner, nur die Update-Komponente wird deinstalliert.

Hier hilft dieser Befehl weiter, den man als Administrator eingibt:

msiexec.exe /x {4A03706F-666A-4037-7777-5F2748764D10}

Den Erfolg kann man prüfen, indem man in der Systemsteuerung das Java Control Panel öffnet. Die hier gezeigte Registerkarte „Update“ sollte nun verschwunden sein.

An der Stelle der deutliche Hinweis: Sicherheitsupdates sind sinnvoll! Man sollte die Updates von Java nur dann verhindern, wenn man einen guten Grund dafür hat und weiß was man tut. Einige Serveranwendungen erfordern aber eine feste Java-Version und reagieren auf automatische Updates sehr gereizt. Das ist der Einsatzzweck obiger Lösung.

TeamSpeak 3 am Windows Server dauerhaft starten lassen

Kürzlich durfte ich einen TeamSpeak 3-Server auf einem Windows-Server installieren. An sich kein Problem, wenn man die Software nach jeder Anmeldung manuell startet. Schlecht ist das aber, wenn man die Software in einer RDP-Sitzung laufen lässt und dann z.B. durch versehentliche Abmeldung oder einen Server-Neustart danach der Teamspeak-Server nicht mehr läuft. Es musste also eine Lösung her, die TeamSpeak zuverlässig beim starten des Servers startete. Im Internet fand ich einiges dazu, aber das meiste war mit kostenpflichtigen Tools realisiert. Dabei geht es ganz einfach mit Bordmitteln!

Zunächst sollte man den TS3-Server einmalig manuell starten, damit man den Server-Key angezeigt bekommt, den man später zur Administration benötigt. Danach kann man ihn gleich wieder beenden.

Jetzt startet man am Server die Aufgabenplanung und legt hier eine neue „einfache Aufgabe“ an. Ich habe mal einzelne Screenshots davon gemacht.

Der Name und die Beschreibung sind eigentlich egal.

Über den Trigger wird gesteuert, wann die Aufgabe gestartet werden soll – hier macht nur „Beim Start des Computers“ Sinn.

Die Aktion muss „Programm starten“ heißen. Als Programm hinterlegt man den kompletten Pfad zur ts3server.exe. Bei „Starten in“ habe ich später auch noch den Pfad des TS3-Verzeichnisses eingetragen – vermutlich ist das hier an der Stelle schon sinnvoll.

Danach bearbeitet man die Aufgabe nochmal, da man hier noch zwei Dinge ändern sollte.

Zunächst auf der Registerkarte „Allgemein“ – hier muss „Unabhängig von der Benutzeranmeldung ausführen“ ausgewählt sein. Wenn man das Fenster später mit „OK“ verlässt, muss man gültige Anmeldedaten eingeben!

Auf der Registerkarte „Trigger“ sollte man die Aktion nochmal bearbeiten und „Verzögern für 1 Minute“ aktivieren. Ansonsten kann es sein, das der Server gestartet wird, bevor die Netzwerkverbindung verfügbar ist, was dann nicht funktioniert und auch wenn die Netzwerkverbindung später hergestellt wird, nicht immer zuverlässig klappt. 1 Minute hat sich bei mir als guten Wert erwiesen.

Und zu guter letzt sollte man die Optionen auf „Einstellungen“ so setzen, wie im folgenden Screenshot zu sehen.

Das wars dann auch schon mit der Konfiguration. Wenn auf dem Server nichts lebensnotweniges läuft, sollte man jetzt mal einen Neustart machen, um es zu testen.

Ich habe es bei mir mit Windows Server 2012 durchgeführt, aber es sollte auch auf Client-Windows-Betriebssystemen wie Windows 7 oder Windows 10 in ähnlicher Weiße funktionieren.

Und wer jetzt meint, TeamSpeak sei nur für Gamer interessant, den muss ich enttäuschen! Hier ging es um eine qualitativ hochwertige Tonübertragung zu einem Webinar…

Windows – Richtung des Scrollrades ändern

Am Mac geht das Scrollrad (bzw. die Scrollfläche der MagicMouse) genau anders herum als das am Windows PC der Fall ist. Das hängt vermutlich damit zusammen, das hier die gewohnte Scrollbewegung vom iPad einfach auf die Maus abgebildet wurde. Prinzipiell finde ich die Scrollrichtung vom Mac vertrauter. Am Mac könnte man die Richtung der von Windows anpassen. Umgekehrt gibt es leider keine einfach Möglichkeit. Aber es gibt natürlich auch hier eine Lösung:

Zunächst muss man sich im Gerätemanager die Geräteklassen-GUID der verwendeten Maus anzeigen lassen.

In der Registry sucht man dann (per regedit) nach dieser GUID. Mann sollte dann bei einem Unterschlüssel von HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\…. landen.

 

Den entsprechenden Eintrag klappt man dann einfach auf. Darunter gibt es den Eintrag „Device Parameters“. Darin befindet sich ein Eintrag „FlipFlowwheel“ mit dem Wert 0. Diesen Wert ändert man einfach auf 1. Dann wiederholt man die Suche nach der GUID – bei mir waren insgesamt 3 Schlüssel zu ändern.

Nach einem abschließenden Neustart verhält sich das Mausrad nun genau andersherum als vor dieser Änderung. Zurückändern ist an der Stelle in der Registry natürlich auch jederzeit möglich.

Bei den Synaptics Touchpads funktioniert es nach meiner Erfahrung leider nicht immer. An einem älteren PC hat es geklappt, an einem neueren nicht. Vermute das liegt hier an den Treiberversionen, aber da mir das nur für das Mausrad wichtig war, habe ich das nicht mehr weiter verfolgt.

TeamViewer Portable – Einstellungen trotzdem speichern

Zur Fernwartung nutze ich gerne die Portable Version von TeamViewer. Leider kann man da die Einstellungen nicht speichern. In der Datei teamviewer.ini kann man zwar den Eintrag „nosave=1“ (ohne Anführungszeichen) setzen, dann werden Einstellungen gespeichert, allerdings in die Registry des Rechners. Wirklich portabel ist das ganze dann nicht. Nach einiger Suche fand ich die Lösung:

In der Datei teamviewer.ini setzt man folgende Einträge:

nosave=1

importsettings=1

Dann startet man TeamViewer und ändert die Einstellungen so ab, wie man sie gerne haben will. In den Erweiterten Einstellungen gibt es ganz unten den Punkt „Exporteinstellungen für TeamViewer Portable“. Damit exportiert man sich die aktuellen Einstellungen. Die Datei muss dann tv.ini heißen und im gleichen Verzeichnis wie der Teamviewer gespeichert werden. Ergebnis: Diese Einstellungen bleiben dann erhalten.

Linux und Windows parallel installiert – Problem mit der Uhrzeit

Auf einem Netbook habe ich Windows und Ubuntu-Linux parallel installiert. Soweit kein Problem, man kann beim booten auswählen was man starten will und standardmäßig wird Ubuntu gestartet. Wenn man nun aber Windows startet, hinkt die Uhrzeit 1 Stunde im Winter bzw. 2 Stunden im Sommer hinterher. Das Problem hängt damit zusammen, das unter Linux die Rechneruhr immer auf der Universalzeit UTC läuft, unter Windows dagegen hat sie die lokale Uhrzeit der eigenen Zeitzone.

Das ganze kann man sehr einfach beheben. Hierzu startet man unter Windows mit dem Befehl „regedit“ den Regisstrierungs-Editor. Dort legt man dann den Schlüssel

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

als DWORD (32 Bit) an und weist ihm den Wert 1 zu. Das ganze sollte dann so wie im Screenshot unten aussehen. Nach einem Neustart von Windows passt dann die Uhrzeit sowohl und Linux als auch unter Windows.

Es gäbe theoretisch noch den anderen Weg, das man das Problem unter Linux angeht. Der empfiehlt sich aber nicht, da hierdurch bei Zeitumstellungen Probleme auftreten können.

RegEdit-Timezone