Linux-Tagebuch #13 – Gaming unter Ubuntu

In dieser mehrteiligen Beitragsreihe versuche ich mich aus Sicht eines Windows PC-Nutzers dem Linux-Desktop als Betriebssystem zu nähern. Dabei möchte ich dieses als Linux-Anfänger selbst besser kennen lernen und zu verstehen versuchen.  Zu Teil 1…

In den letzten Jahren hat sich erfreulicherweise einiges getan bei der Unterstützung von Computerspielen unter Linux. Das liegt meiner Meinung nach vor allem an Valve’s Brücken-Software Proton, einer Weiterentwicklung von WINE [1], die es einfacher denn je macht, auch aktuelle Windows-Titel unter Linux zu starten (vorausgesetzt, die Grafiktreiber sind richtig eingerichtet). Und dann gibt es natürlich noch Titel, die nativ für Linux erscheinen, wie z.B. Valheim. In diesem Beitrag möchte ich mir die Möglichkeiten einmal genauer anschauen.

quelloffene Spiele

An dieser Stelle möchte ich kurz auf die kostenlosen Spiele eingehen, die direkt über das Ubuntu Software-Center aus den offiziellen Repositories zu beziehen sind. Meiner Meinung nach lohnt es sich auf jeden Fall, da mal einen Blick reinzuwerfen. Während es sich bei vielen Titeln sicher um kleinere Indie-Spiele handelt, sind auch einige Klassiker dabei wie Super Tux, der Quake-like Multiplayer-Shooter Sauerbraten oder das rundebasierte Strategiespiel Battle of Westnoth, über das sogar GameStar vor kurzem berichtete. Es gibt auch quelloffene Remakes von älteren Klassikern wie openTTD (Transport Tycoon Deluxe), WarMUX (Worms) oder OpenMW (The Elder Scrolls 3: Morrowind, benötigt allerdings die Daten vom Originalspiel).

Spiele mit Linux-Unterstützung

Mit nativen Titeln meine ich Spiele, die seitens der Entwickler sowohl für Windows, als auch für Linux angeboten werden. Ich habe dies mit Steam ausprobiert, was zunächst installiert werden muss, z.B. über den Softwarekatalog (multiverse) oder

sudo apt-get install steam

Danach startet und verwendet man Steam, wie man es auch unter Windows kennt. Die Titel mit nativer Unterstützung für Linux sind an dem Steam-Play Symbol neben dem Warenkorb/Spielen-Button erkennbar.

Bekanntere Beispiele mit Linux-Unterstützung sind Valheim, was auf der Unity Engine basiert, aber auch ARK, CS:GO, Civilization VI, … Hier die Linux-Charts von Steam.

Windows-Titel mit Proton (über Steam)

Proton ist eine „Kompatibilitätsschicht“ für Anwendungen, die es ermöglicht, viele der bei Steam erhältlichen Windows-Titel unter Linux zu spielen und baut auf dem eingangs bereits erwähnten WINE auf. Die Einrichtung ist dabei denkbar unkompliziert. Die Funktion muss allerdings zuerst aktiviert werden. Dazu öffnet ihr die Steam-Einstellungen in der Titelleiste links oben unter „Steam“ und wählt den Menüpunkt „Steam Play“. Dort kann Proton dann aktiviert werden. Danach muss Steam noch einige Dateien dafür herunterladen.

Sobald ihr die Proton aktiviert habt, könnt ihr grundsätzliche alle eure Windows-Titel in Steam herunterladen und versuchen zu starten. Manchmal gelingt es, manchmal nicht. Ich würde hierzu empfehlen, zunächst in der ProtonDB Datenbank nachzuschauen. Hier sind für die meisten Steam Titel bereits Erfahrungsberichte und eine Bewertung der Funktionalität hinterlegt, die nicht selten noch Tipps für die richtige Konfiguration oder die zu verwendende Proton-Version enthalten. Auf jeden Fall da schauen!

Eure Titel landen dann übrigens in eurem Home-Ordner in diesem Verzeichnis

~/.steam/debian-installation/steamapps/common

In einigen Erfahrungsberichten die ich gesehen habe, wird eine spezielle Proton „GE“ Version erwähnt, mit der der entsprechende Titel laufen soll. „Glorious Eggroll“ ist ein Fork von Proton, den ihr extra installieren müsst. Dazu siehe z.B. hier.

Windows-Titel mit Lutris

Lutris ist ein kostenloser Anwendungsstarter und gleichzeitig eine Spieleverwaltung à la Steam – nur für Linux eben. Das tolle an diesem Programm ist, dass es die verschiedensten Installationsoptionen anbietet. Auch Lutris verwendet WINE für Windows-Titel, Nutzer können für Spiele Installationsskripte schreiben, welche genau die passende WINE-Version und dazu noch die vom Spiel erwarteten Laufzeitumgebungen etc. mitinstallieren, alles mit wenigen Klicks. So ist es möglich, dass ihr sowohl Titel von Steam, als auch „frei“ direkt von der CD oder vom Download mithilfe von Lutris installieren und richtig einrichten könnt. Die Titel haben alle eine gesonderte WINE-Umgebung und werden über Lutris gestartet. Auch für dieses Programm gibt es eine Kompatibilitätsdatenbank wo ihr Berichte und verfügbare Installationsskripte einsehen könnt.

Bei installierem Lutris kann die Installation direkt über die Webseite gestartet werden.

Lutris ist nicht in den offiziellen Ubuntu-Paketquellen enthalten, ihr es könnt es z.B. als PPA hinzufügen über die folgenden Befehle (siehe auch hier).

sudo add-apt-repository ppa:lutris-team/lutris
sudo apt update
sudo apt install lutris

Über das Hauptfenster von Lutris können die installieren Spiele gestartet und neue Titel hinzugefügt werden,

Beim Testen habe ich gemerkt, dass es oft besser ist, selbst die Steam-Titel über Lutris zu installieren, da das dort vorhanden Installationsskript unter Umständen noch Einrichtungsschritte vornimmt, die nur mit der über Steam aktivieren Proton-Umgebung sonst fehlen würden. So konnte ich zum Beispiel TES Skyrim, The Witcher 3 oder Herr der Ringe Online unter Ubuntu 20.04 mit einer Nvidia RTX 2060 problemlos spielen. Schlechtere Chancen hat man generell bei kompetitiven Multiplayer-Spielen, bei denen eine Anti-Cheat-Software zum Einsatz kommt, wobei das vom Einzelfall abhängig ist. Aber auch daran arbeiten die Entwickler.

Linux-Tagebuch #12 – Sicherheit, Firewall und Virenscanner

In dieser mehrteiligen Beitragsreihe versuche ich mich aus Sicht eines Windows PC-Nutzers dem Linux-Desktop als Betriebssystem zu nähern. Dabei möchte ich dieses als Linux-Anfänger selbst besser kennen lernen und zu verstehen versuchen.  Zu Teil 1…

In diesem Beitrag möchte ich meine Gedanken festhalten, die ich mir zum Thema „Sicherheit“ bei der Benutzung von Ubuntu 20.04 LTS als Betriebssystem gemacht habe. Ich bin sicherlich kein Experte auf dem Fachgebiet, aber der ein oder andere Kniff lässt sich als Normal-Nutzer meiner Meinung nach dennoch leicht umsetzen.

Das Sicherheits-ABC

Wie auch bei Windows gelten unter Ubuntu die gleichen Grundregeln für die Sicherheit im Umgang mit dem Computer. Man sollte stehts…

  • das System aktuell halten,
  • sichere und unterschiedliche Passwörter wählen,
  • möglichst auf ungeprüfte Fremdquellen (wie PPAs) verzichten,
  • vorsichtig mit Mail-Anhängen sein,
  • Programme nicht mit mehr Rechten starten, als für en Anwendungszweck notwendig,
  • Downloads und Skripte nicht gedankenlos ausführen,
  • Sensible Daten getrennt speichern oder verschlüsseln

Die Liste ließe sich bestimmt beliebig ergänzen, das soll auch gar nicht der Schwerpunkt dieses Beitrags sein. Hier findet ihr übrigens eine interessante Sammlung aus dem ubuntuusers Wiki dazu. Ich möchte an dieser Stelle noch einmal anmerken, dass ihr während der Installation von Ubuntu die Möglichkeit habt, euren Datenträger zu verschlüsseln, dies kann insbesondere bei Notebooks, die häufig unterwegs sind, sinnvoll sein. An einfachsten ist es, diese Entscheidung bereits bei der Installation von Ubuntu / bei der Partitionierung der Festplatte zu treffen.

Ein für mich besonderes Risiko stellen die Programme dar, die eine Schnittstelle zum Internet sind, wie zum Beispiel der Browser. Da bietet es sich doch an, gleich ein paar sicherheitsrelevante Add-Ons zu installieren. Ich nutze dafür gerne uBlock Origin, Privacy Badger und HTTPS Everywhere. Die gibt es sowohl für Firefox als auch für Chrome(ium). Für Mails benutze ich unter Ubuntu Mozilla Thunderbird, hier habe ich den Junk-Filter entsprechend eingerichtet. Dieser kann auch „trainiert“ werden, in dem man selber Spam markiert. [2] Außerdem ist es empfehlenswert, HTML für Mails zu deaktivieren, wenn man nicht darauf angewiesen ist. Das erhöht den Datenschutz und die Sicherheit. [3]

Firewall einrichten

Euer Rechner befindet sich höchstwahrscheinlich hinter einem Router, der eingehende Verbindungen nicht ohne weiteres an euren PC durchlässt. Ihr habt also schon eine einfache Hardware-Firewall. [4] Welche Programme wie mit dem Internet kommunizieren dürfen und welche Ausnahmen gelten, lässt sich noch besser mit einer Software-Firewall regeln. Die kann außerdem von Vorteil sein, wenn man mal in einem fremden Netzwerk (wie einem öffentlichen Hotspot) unterwegs ist.

Unter Ubuntu 20.04 ist bereits die Software-Firewall ufw (uncomplicated firewall) vorinstalliert, aber standardmäßig nicht aktiv. Diese könnt ihr mit wenigen Schritten starten und einrichten.

sudo ufw enable (oder ... disable, um wieder auszuschalten!)
sudo ufw default deny incoming
sudo ufw default allow outgoing

Damit startet ihr ufw und die Vorgabe für unbekannte Verbindungen soll sein, diese nach außen (ins Internet) zuzulassen, aber eingehende Verbindungen erst einmal zu blockieren. Ufw startet damit auch automatisch beim nächsten Systemstart. Danach könnt ihr den Status der Firewall mit

sudo ufw status

überprüfen, bereits angelegte Ausnahmen (z.B. für P2P oder ssh) werden hier angezeigt. Wenn man keine besonderen Anforderungen hat, war’s das eigentlich schon. Ufw lässt sich über das Terminal umfangreich konfigurieren. Wie das geht und wie ihr anwendungs- oder portspezifische Ausnahmen hinzufügt, lest ihr hier bei heise.

Etwas praktischer und – naja – hübscher ist die grafische Frontend gufw für ufw. Damit lassen sich der Status und die Regeln wesentlich komfortabler verwalten. Der Funktionsumfang entspricht ungefähr dem, wie man es von der Windows-Firewall kennt.

Insofern ufw bereits installiert ist, holt ihr euch gufw einfach dazu

sudo apt install gufw

Virenscanner einrichten

Wenn man sich mit dem Thema auseinandersetzt, liest man früher oder später, das „Computerviren“ unter Linux keine große Rolle spielen. Das liegt unter anderem an der geringen Verbreitung [auf dem Desktop], aber bestimmt auch an der strengeren Benutzerrechte-Architektur. [1] Wahrscheinlich ist es eher meiner jahrelangen Windows-Nutzung geschuldet (Luke Filewalker hat mich damals unter Windows ME vor dem ein oder anderen Schädlich bewahrt), aber auch unter Linux wollte ich gerne einen Virenschutz parat haben, mit dem ich zumindest on demand die wichtigsten Daten (Home-Verzeichnis, Downloads etc.) scannen kann. Das populärste Beispiel dafür ist das quelloffene ClamAV. Vielleicht habt ihr schon einmal davon gehört, auch unter Windows ist der Virenscanner zu haben, wie ich 2014 schon einmal berichtete.

ClamAV lässt sich recht einfach installieren

sudo apt-get install clamav clamav-freshclam

und auch umfangreich konfigurieren, was beispielsweise das Updateverhalten, die Aktion bei Erkennung und das Logging angeht. Darauf möchte ich aber in diesem Beitrag nicht eingehen. Das könnt ihr z.B. hier nachlesen. Scans auf eine Datei oder ein Verzeichnis können im Terminal mit dem Befehl clamscan ausgeführt werden. Auch eine grafische Benutzeroberfläche gibt es (clamtk), die man sich dazuinstallieren kann, aber ich konnte damit nicht viel anfangen.

inoffizielle Signaturen

Ich möchte euch an dieser Stelle gerne noch etwas anderes zeigen: ClamAV kann um „inoffizielle“ Malware-Signaturen ergänzt werden, um die Erkennungsrate zu verbessern. Hier am Beispiel der SaneSecurity Signatures. [5] Das erhöht zwar potentiell die Chance für Falschmeldungen (false positives), das war bei mir aber bisher nur unter Windows der Fall.

Die Einrichtung dieser Signaturen besteht aus mehreren Installationsschritten, die ich hier aufgrund des Beitragsumfangs nicht einzeln durchgehen werden, aber auf der offiziellen github Seite ist eine ausführliche Schritt-für-Schritt Installationsanleitung für Ubuntu (auch für andere Distributionen).

Skript für manuelle Überprüfung

In meinem Anwendungsszenario, also einer Dual-Boot Installation mit Ubuntu als Produktivsystem und Windows 10 als Backup, wollte ich in unregelmäßigen Abständen Dateien überprüfen, die ich mit Windows-Rechnern gemeinsam bearbeite oder versende. Es ist bei mir also nicht notwendig, dass sich die Virensignaturen mehrmals am Tag selbstständig aktualisieren, das erhöht nur unnötig die Serverlast des Anbieters und verursacht Betriebskosten.

Um das Aktualisierungsintervall der Signaturen zu ändern, könnte ich die Konfigurationsdatei unter

/etc/clamav/freshclam.conf

anpassen (z.B. mit nano im Terminal!). Ich habe mich aber einfach dazu entschieden, den Dienst freshclam nicht beim Systemstart zu laden, weil er sowieso bei einem manuellen Aufruf zuerst beendet werden müsste. [6]

sudo update-rc.d clamav-freshclam disable

Die SaneSecurity Signaturen werden nicht automisch aktualisiert, sondern nur über den Aufruf des gerade installierten Skripts clamav-unofficial-sigs.sh.

Dann habe ich mir folgendes bash-Skript zusammenbastelt, das ich bei Bedarf ausführe. Ich möchte es hier mit euch teilen! 🙂 Es aktualisiert zunächst manuell und „still“ die Virendatenbank, führt dann einen Scan des Benutzerverzeichnisses durch und gibt ggf. Funde aus (es wird nichts unternommen!). Ihr könnt es euch als *.sh Skript speichern. Nach dem Anpassen eurer Dateipfade müsst ihr die Datei dann noch mit chmod als ausführbar markieren und ihr könnt die Datei wie eine Anwendung per Mausklick starten. Allerdings als root, da sonst das Aktualisieren der Signaturen nicht funktioniert.

#!/bin/bash
echo "Cedric's ClamAV Scanner-Skript 1.0"
if (( $EUID != 0 )); then
    echo "Bitte mit erhöhten Rechten starten!"
    exit
fi
echo -n "Aktualisiere ofizielle Signaturen... "
#sudo killall freshclam
freshclam --quiet --no-warnings
echo "OK"
echo -n "Aktualisiere inoffizielle SaneSec Signaturen... "
/usr/local/sbin/clamav-unofficial-sigs.sh -s
echo "OK"
#echo "EINGABE, um Scan zu starten"
#read
echo -n "Startzeit: "; date +"%T"
echo "Überprüfe /home ... "
clamscan --infected --recursive ~

XBOX One – Einbau SSD, Formatierung und Firmware-Setup

Vor kurzem habe ich davon berichtet, wie ich unsere XBOX One (2015) zerlegt habe, um sie fit zu machen für die letzte Etappe vor der neuen Konsolengeneration. Ich habe nach der Reinigung einen neuen, leiseren und effektiveren Lüfter von Noctua eingebaut und die interne Festplatte durch eine schnelle SSD getauscht. Wenn ihr wissen wollt, welchen Geschwindigkeitsvorteil eine SSD beim Laden von Spielen bringt, schaut euch dieses Video an. Beim Austauschen der Festplatte durch eine SSD gibt es einige Dinge zu beachten, eine gängige Anleitung im Internet hat bei mir leider nicht funktioniert (wohl weil die von mir gekaufte SSD keine Standard-Größe hat), ich habe mir meinen eigenen Weg gesucht. Viel Spaß beim Lesen und Geduld beim Nachmachen!

In diesem Beitrag berichte ich, wie ich die interne Festplatte der XBOX One (2015) durch eine schnellere SSD getauscht habe. Dafür musste ich diese zunächst am PC formatieren und die Firmware vorinstallieren.

Was wird benötigt? Eine 2,5″ SATA-SSD mit einer Ausgangskapazität von genau 500GB oder 1TB (ab 60€). Abweichende Zwischengrößen gehen auch, können aber Probleme machen, wie ich selbst feststellen musste (das Tool hat unter Windows nicht funktioniert). Noch größere Datenträger werden auch nicht unterstützt. Außerdem brauchen wir ein SATA zu USB 3.0 Adapterkabel (ab 8€) und einen mind. einen USB-Stick mit 8 GB Speicherplatz (bevorzugt USB 3.0). Des weiteren werden für die Demontage ein Set Torx-Schraubendreher und Plastik-Gehäuseklipper benutzt.

Einige Hinweise

Wenn ihr den Umbau selber wagen möchtet, lest euch bitte zuerst folgende wichtige Hinweise durch. Sie beziehen sich auch auf spätere Schritte und können euch den einen oder anderen Ärger sparen.

➤ Meine Beschreibung bezieht sich auf die erste Generation der XBOX One, das Vorgehen bei der neueren S-Version scheint aber weitestgehend gleich zu sein. Durch das Öffnen des Konsolengehäuses (das Entfernen des Microsoft-Siegels an der Rückseite) verliert ihr euren eventuell noch vorhandenen Garantieanspruch. Ihr handelt auf eigenes Risiko!

➤ Bevor ihr die XBOX One zerlegt, solltet ihr prüfen, ob in den Einstellungen die Cloud-Synchronisation der Spielstände aktiv ist und ihr eure Microsoft/XBOX-Anmeldedaten noch kennt, damit keine Daten verloren gehen.

➤ Der von mir gezeigte Weg zur Vorbereitung der SSD ist nicht der kürzeste. Das hängt damit zusammen, dass ich mir für das Upgrade eine günstigere 470Gb SSD geholt habe, in Unwissenheit darüber, dass dies zu Problemen bei der Partitionierung führen kann: Das Tool xboxonehdd-master hat mir bei der Ausführung unter Windows verschiedene Fehlermeldungen ausgegeben, so dass ich gezwungen war, die Linux-Version zu nutzen, was aber eigentlich genau so einfach ist.

➤ Das OSU1 Offline System Update funktioniert nur mit einer älteren oder gleichwertigen XBOX One Firmware-Version. Das OSU1-Archiv wird zwar von Microsoft nach einem Update regelmäßig aktualisiert, trotzdem scheint dies immer einige Tage zu dauern. Wenn eure XBOX One also gerade erst ein Update installiert hat, solltet ihr nicht direkt mit dem Umbau loslegen. Sonst kann es sein, dass es mit dem Installieren der Firmware nicht klappt. So ging es mir nämlich!

Alte Festplatte ausbauen

Jetzt geht’s los! Zunächst solltet ihr euch aus dem Einstellungen-Fenster der XBOX One die aktuell installierte Firmware-Version notieren (im Update-Bereich). Das ist hilfreich, um diese später mit der Versionsnummer des Offline System Updates (OSU1) abzugleichen. Die Demontage funktioniert nach dem Sandwich-Prinzip, sobald man das Gehäuse abgenommen hat lässt sich die Festplatte ohne weiteres entnehmen. Wenn man erst einmal weiß, wo man anfangen muss, ist es gar nicht so schwer.

Ich habe die Arbeitsschritte in meinem ersten Mod-Beitrag zur XBOX ONE ausführlich beschrieben und werde deshalb an dieser Stelle nicht mehr darauf eingehen. Schaut dazu hier…

SSD vorbereiten

Damit die SSD von der XBOX überhaupt erkannt wird, muss diese am PC entsprechend eingerichtet werden. Dazu sind einige Arbeitsschritte nötig. Ihr könnt dies theoretisch auch machen, bevor ihr die alte Festplatte ausbaut, dazu unten mehr.

Zunächst laden wir einige Dateien herunter, welche später benötigt werden.

  • Auf dem PC benötigen wir das XBOX One Offline System Update (OSU1), welches hier heruntergeladen werden kann. Das Update entpacken und kopieren wir später – nach der SSD Partitionierung – auf einen USB-Stick.
  • Außerdem benötigen wir zur Formatierung und Partitionierung der neuen SSD das Skript-Tool XBOX One HDD Master 9, welches hier heruntergeladen werden kann. (Download „Script version 9“). Das Tool entpacken und in einem einfach zu erreichenden Ort auf der Festplatte abspeichern (wegen der Konsoleneingabe später!), z.B. C:\xboxonehdd_master\.

Linux Live-System starten

Bei mir hat die Partitionierung unter Windows, wohl wegen der abweichenden Größe meiner SSD nicht funktioniert. Wollt ihr euer Glück unter Windows versuchen, schaut im „Windows“ Ordner von xboxonehdd-master nach, dort findet ihr eine Englischsprachige Anleitung, die Schritte sind ähnlich. Zuvor muss allerdings das US Englische System-Sprachpaket installiert sein. Für meinen Weg ladet ihr euch nun ein Abbild einer aktuellen Linux-Distribution (z.B. Ubuntu 20.04 LTS) sowie das Tool LinuxLive USB Creator herunter.

  • Nutzt das Tool mit einem freien USB-Stick (mind. 6Gb) um euch ein bootfähiges Linux Live-System zu erstellen.
  • Startet nun den Rechner mit eingestecktem USB-Stick neu, im Idealfall startet nun Linux. Wenn das nicht der Fall ist, müsst ihr in eurem System-BIOS/UEFI zunächst das Booten von USB erlauben. Wie ihr das macht, erfahrt ihr in diesem Beitrag (Abschnitt „Das Setup starten“).
  • Mit „Ubuntu … ausprobieren“ startet ihr das Live-System. Es läuft komplett über den USB-Stick und den Arbeitsspeicher, so dass keine Änderungen an eurer Festplatte oder eurem Windows vorgenommen werden.

SSD partitionieren

Wenn ihr alles vorbereitet habt, startet das Linux Live-System und verbindet die neue SSD der XBOX per Adapter mit dem PC. Diese wird nun automatisch eingehängt.

Zur Info: Das Laufwerk der XBOX One hat immer folgende Partitionen, wobei User Content die einzige Partition mit variabler Größe ist.

Jetzt wird es etwas komplizierter. Vergewissert euch, wo sich die zuvor heruntergeladenen Dateien auf der Festplatte befinden (diese wird durch einen Klick im Schnellzugriff des Linux-Dateiexplorer zunächst eingehängt!). Den Adresspfad benötigen wir gleich. Notfalls könnt ihr das Tool xboxonehdd-master auch jetzt noch herunterladen und im Downloadverzeichnis des temporären Benutzers belassen (/home), da es nicht groß ist. Nun das Terminal aufrufen (Strg+Alt+T) und mit den folgenden Befehlen das xboxonehdd-master Linux-Skript ausführen. In diesem Beispiel befindet sich das Tool im Home-Verzeichnis von Linux, ihr müsst den entsprechenden Pfad aus dem Datei-Explorer auslesen. Einhängen der Festplatte nicht vergessen!

cd /home/user/Downloads/xboxonehdd-master/linux

Nun müssen wir das Skript noch ausführbar machen.

chmod +x ./create_xbox_drive.sh

Als Administrator starten. Ihr bekommt nun die möglichen Befehlsparameter als Bestätigung.

sudo ./create_xbox_drive.sh
Last Updated: 2018.05.10.7.0
Usage: create_xbox_drive.sh [options]

Options:
-c|--source      Source drive to copy data to target drive -d with -s 2
-d|--drive       Target drive to install Xbox filesystem
-s|--stage       Install stage [0|1|2|3]
                 0 - will fully erase drive -d
                 1 - will erase and partition drive -d
                 2 - will copy source drive -c data to target drive -d
                 3 - will rewrite drive -d GUIDs
-t|--disktype    Disk GUID to set [0|1|2]
                 0 - 500GB
                 1 - 1TB
                 2 - 2TB
-m|--mirror      Mirror standard partition sizes specified with -t on drive -d
                 Not using this option will autosize 'User Content'
-h|--help        Display help

Examples:
create_xbox_drive.sh -d /dev/sdb -s 0 (Erase a drive)
create_xbox_drive.sh -d /dev/sdb -s 1 -t 2 -m (Partition standard 2TB drive)
create_xbox_drive.sh -d /dev/sdb -s 3 -t 2 -m (Rewrite 2TB GUIDs)

Wichtig: Bevor wir nun mit der Partitionierung anfangen, müsst ihr wissen, welche Laufwerksbezeichnung die SSD im Linux-Livesystem hat (/dev/sd*). In dem ihr das sich im selben Ordner befindende Skript list_part_info.sh nach dem gleichen Prinzip ausführt, bekommt ihr alle eingehängten Datenträger aufgelistet und könnt an der Größe oder Bezeichnung erkennen, welches das richtige Laufwerk ist. Alternativ könnt ihr das vorinstallierte Programm gparted benutzen.

Nun muss das Laufwerk formatiert und richtig partitioniert werden. Wichtig: Passt bei dem folgenden Befehl die Laufwerksbezeichnung (z.B. „/dev/sdd“) und die Größe der SSD (Parameter -t) entsprechend euren Gegebenheiten an. Solltet ihr wie ich ein nicht Standardgröße-Datenträger haben, wählt die Vorgabe, welche der Größe am nähesten kommt (bei mir 470Gb = 500Gb). Die möglichen Parameter sind im oberen Abschnitt abgebildet.

sudo ./create_xbox_drive.sh -d /dev/sd* -s 1 -t 0

Dadurch, dass wir den Parameter -m weglassen, wird die variable Partition „User Content“ automatisch an die tatsächliche Größe der SSD angepasst. Der Prozess dauert nur wenige Sekunden. Gab es keine Fehler, schreibt ihr nun die finale Partitionstabelle mit folgendem Befehl auf die SSD:

sudo ./create_xbox_drive.sh -d /dev/sd* -s 3 -t 0

Damit ist die Partitionierung abgeschlossen. Das Skript sollte euch folgende Ausgabewerte zur Bestätigung anzeigen, wenn alles geklappt hat:

5B114955-4A1C-45C4-86DC-D95070008139 /dev/sd* (2TB)
25E8A1B2-0B2A-4474-93FA-35B847D97EE5 /dev/sd* (1TB)
A2344BDB-D6DE-4766-9EB5-4109A12228E5 /dev/sd* (500GB

GUID Dev Size Name
5B114955-4A1C-45C4-86DC-D95070008139 /dev/sdb (2TB)
B3727DA5-A3AC-4B3D-9FD6-2EA54441011B /dev/sdb1 (41.0 GiB) 'Temp Content'
869BB5E0-3356-4BE6-85F7-29323A675CC7 /dev/sdb2 (1.6 TiB) 'User Content'
C90D7A47-CCB9-4CBA-8C66-0459F6B85724 /dev/sdb3 (40.0 GiB) 'System Support'
9A056AD7-32ED-4141-AEB1-AFB9BD5565DC /dev/sdb4 (12.0 GiB) 'System Update'
24B2197C-9D01-45F9-A8E1-DBBCFA161EB2 /dev/sdb5 (7.0 GiB) 'System Update 2'

Der nächste Schritt kann entweder direkt im Linux-Livesystem oder auch unter Windows erledigt werden.

Systemdaten kopieren

Nun entpackt ihr das zu eurer Firmware passende Offline-Update OSU1.zip in ein temporäres Verzeichnis. Auf der SSD Partition „System Update“ erstellt ihr einen Ordner mit dem Namen „A“ und „B“ und kopiert aus dem OSU1-Archiv folgende Dateien in das entsprechende Verzeichnis:

A/host.xvd 
A/SettingsTemplate.xvd 
A/system.xvd 
A/systemaux.xvd 
A/systemmisc.xvd 
A/systemtools.xvd 
B/host.xvd 
B/SettingsTemplate.xvd 
B/system.xvd 
B/systemaux.xvd 
B/systemmisc.xvd 
B/systemtools.xvd 

/updater.xvd (direkt in "System Update"!)

Das OSU1 enthält nicht die Mediendatei für das Bootlogo der XBOX. Wollt ihr diese Animation sehen (anstatt einem schwarzen Bild), verbindet die alte HDD mit dem PC und kopiert euch die Datei bootanim.dat aus der „System Update“ Partition auf die neue SSD in den A-Ordner. (Ihr findet die Datei wahrscheinlich auch zum Download in diesem Forum.)

Einbau und Setup

Nun benötigen wir den USB-Stick für den letzten Schritt. Stellt sicher, dass dieser als NTFS formatiert ist (Computer, Rechtsklick „Formatieren…“) und kopiert dann den kompletten $SystemUpdate Ordner aus dem OSU1 Offline Update darauf.

Theoretisch könnt ihr die XBOX nun wieder zusammenbauen. Ich habe der Geschichte allerdings nicht ganz vertraut (zurecht, wie sich zeigen sollte) und die Konsole erst einmal „offen“ verkabelt, um die SSD zu testen.

Wenn alles angeschlossen ist, steckt ihr nun den USB-Stick mit dem Systemupdate auf der linken Seite der XBOX ein und startet die Konsole.

Fast fertig…

Nach dem Einschalten werdet ihr von der Fehlermeldung „Something went wrong“ (E106) begrüßt. Das ist normal. Über das Menü „Troubleshoot“ oder „Fehlerbehebung“ hangelt ihr euch zu dem Punkt „Offline System Update“. Nun versucht die XBOX, das Firmwareupdate anzuwenden (s. Bild). In der Theorie läuft das Update erfolgreich ab und ihr könnt die Konsole nach der Ersteinrichtung nutzen.

Doch nicht so einfach (E101, E102)

Bei mir hat das System Update mehrmals nach der Hälfte des Vorgangs mit einer erneuten Fehlermeldung (E101 oder E102) abgebrochen. Die Suche nach den Fehlercodes hat mir leider nicht weiter geholfen. Ich habe dann aber mehr oder wenig zufällig herausgefunden, dass die Konsole genau in den Tagen, als ich den ersten XBOX Blogbeitrag geschrieben habe und mich mich noch in der Vorbereitung für diesen Teil befand, noch einmal ein Update heruntergeladen hatte. Mist! Bei Microsoft finden sich keine genauen Angaben, wann das OSU1 Archiv auf die neueste Version aktualisiert wird. Laut diversen Foren dauert es wohl einige Tage. Lediglich anhand des Zeitstempels der Archivdatei kann man schätzen, ob dies aktuell ist. Zum Glück hatte ich mir noch nicht die Mühe gemacht und die Konsole wieder zusammengebaut, also habe ich den gesamten Prozess von der Formatierung bis zum Update noch einmal wiederholt, allerdings ohne Erfolg. Ich war mir dann auch nicht mehr ganz sicher, ob es wirklich an der Versionsdifferenz liegt, oder doch an der Größe meiner neuen SanDisk SSD PLUS SATA III (480Gb anstatt 500Gb Standard). Mehrere Internet-Beiträge warnen davor, von 500Gb, 1Tb oder 2Tb abweichende Größen zu nutzen, da dies zu Fehlern führen könne.

Mit der Holzhammer-Methode

Nach sehr langem Lesen (…) in verschiedenen Foren bin ich schließlich in den Foren von GBATEMP auf einen Beitrag gestoßen, wo ein verzweifelter User ein ähnliches Problem hatte und dieses beheben konnte, in dem er für den Update-Prozess wieder die alte HDD eingebaut hat (kann den genauen Post leider nicht mehr finden!).

Entbehrt sich jeglicher Logik, aber es hat tatsächlich bei mir geklappt! Ich habe mit der SSD erneut das OSU1 Update versuch, und an dem Punkt wo das Update fehlgeschlagen ist, habe ich die Konsole dann ausgeschaltet und wieder die alte (unveränderte und funktionierende) HDD eingebaut. Nach dem Start (OSU1-Stick weiterhin eingesteckt) erwartete ich, einfach wieder auf dem alten Startbildschirm zu landen, stattdessen wurde zu meiner Überraschung das mit der SSD begonnende Update einfach fortgesetzt. Als ich dann nach erfolgreichem Abschluss Willkommen geheißen wurde und im Einrichtungsdialog landete, habe ich die Konsole ausgeschaltet und aus Neugier wieder die SSD eingebaut. Nach dem Einschalten landete ich entgegen meiner Erwartung nicht erneut im Update-Prozess, sondern direkt im Setup und konnte die Einrichtung abschließen. Es hat geklappt!

Weitere Lösungsvorschläge

Dieser frustrierte Schritt hatte bei mir so einen „Aha“ Effekt ausgelöst, dass ich mich dann erst dazu entschieden habe, auf meinem Blog davon zu berichten. Vielleicht sitzt der ein oder andere von euch ja vor dem selben Problem.

Wenn ihr das Upgrade ebenfalls nach Schema F durchgeführt habt, es bei euch aber trotz passender Firmware und SSD noch nicht funktioniert, helfen euch vielleicht folgende Vorschläge weiter:

  • Schaut euch die readme.txt des Tools xboxonehdd-master an, dort wird der Upgrade-Vorgang noch einmal im Detail [auf Englisch] beschrieben. Vielleicht ist euch ein Fehler unterlaufen.
  • Habt ihr ein zweites USB zu SATA Adapterkabel parat, könnt ihr anstatt dem OSU1 nach dem ersten Schritt (Formatierung) auch die Systemdateien der alten XBOX Festplatte auf die neue SSD spiegeln. Dazu benutzt ihr folgenden Befehl
sudo ./create_xbox_drive.sh -c /dev/sd* -d /dev/sd* -s 2 -t 0

Vergesst dabei nicht, den Quell- und Zielpfad (/dev/sd*) sowie die Größe (Parameter -t) an eure Situation anzupassen.

  • Lest euch im GBATEMP Forum ein, dort werden viele typische Probleme besprochen, welche beim Upgrade auftreten können.
  • Probiert das Upgrade unter Windows, wenn es mit der Partitionierung Probleme gibt.

Was hat’s nun gebracht? Einige Zahlen

Von den ausgeschriebenen 480GB Speicherkapazität sind formatierungsbedingt etwas weniger tatsächlich verfügbar, wie am PC eben auch. Abzüglich der weiteren XBOX Systempartitionen bleiben bei mir für Benutzerdaten immerhin 346,9 Gb an freiem Speicher übrig, wovon direkt nach der Einrichtung nur ungefähr 100 Mb belegt zu sein scheinen (s. Bild). Mit der Original 500 Gb Festplatte waren insgesamt 365 Gb verfügbar, der Unterschied ist also gering (-19 Gb). Der freie Speicherplatz reicht für meine Zwecke locker aus.

Außerdem habe ich den Systemstart, das Herunterfahren sowie die Ladezeit beim Start von Spyro: Reignited Trilogy gemessen:

Zeit in Min./Sek.Seagate HDD (Original)SanDisk SSD PLUS (Mod)
Kaltstart bis zum Homescreen (+ Zeit bis Kacheln vollständig geladen)01:03 (+00:07)00:48 (+00:04)
Ausschalten bis Betriebslicht aus (+ Zeit bis Lüfterstillstand)00:12 (+02:31)00:11 (+ 02:06)
Ladezeit Spyro: Reignited Trilogy
– Zeit bis zum Hauptmenü
– Ladezeit Level „Glimmer“

00:21
00:24

00:15
00:12

Mein Fazit

Ich habe den Eindruck, dass die Modifikation besonders beim Systemstart etwas gebracht hat. Das merkt man vor allem daran, dass nach dem Erscheinen des Startbildschirms sofort alle Kachelbilder geladen sind und die Navigation zu beginn nicht mehr ruckelt. Während der Benefit beim Laden von Spyro eher gering ausgefallen ist, scheint es bei Spielen wie Red Dead Redemption 2 oder The Witcher 3 wesentlich flotter zu gehen, auch wenn ich da zuvor keine Ladezeiten gemessen habe. Insbesondere beim schnellen Reisen durch die Spielwelt (Laden von Texturen und Modellen) scheint der Level-Aufbau flotter und die Framerate stabiler zu bleiben. Ich vermute, dass das neue Geschwindigkeitspotential der SSD auch maßgeblich mit der Optimierung der entsprechenden Game-Engine zusammenhängt. Nun, einige Wochen später, kann ich behaupten, dass sich der Umbau (zusammen mit der Lüftermod aus Teil 1!) für unsere XBOX ONE definitiv gelohnt hat, auch wenn es nicht so einfach war wie gedacht. Alles läuft stabil.

Ihr habt noch Fragen zum Umbau? Einen Fehler entdeckt oder auf ein Problem gestoßen? Hinterlasst doch einen Kommentar unter diesem Beitrag! Euch hat der Beitrag weiter geholfen? Ich freue mich auch, wenn ihr meine Posts teilt, weiterempfehlt oder euch im E-Mail Verteiler einschreibt 🙂 –>

Linux-Tagebuch #4 – Ein Blick hinter die Kulissen

In dieser mehrteiligen Beitragsreihe versuche ich mich aus Sicht eines Windows PC-Nutzers dem Linux-Desktop als Betriebssystem zu nähern. Dabei möchte ich dieses als Linux-Anfänger selbst besser kennen lernen und zu verstehen versuchen. Zu Teil 1…

Ich habe mir Gedanken darüber gemacht, wie ich wohl mit Linux zurechtkommen werde, wenn es erst einmal installiert ist. Die „alltäglichen Aufgaben“ sind in der Regel ja kein Thema, aber wie schaut es aus, wenn ich über diese Grenzen hinaus als Umsteiger das Betriebssystem austesten und konfigurieren möchte? Wenn man einige Jahre mit Windows gearbeitet hat, lernt man dessen Eigenarten besser kennen und kann ein „Gefühl“ dafür entwickeln, wie sich das Betriebssystem verhält. So ist es mir zumindest ergangen. Es hilft mir ungemein bei der Lösung von Software-Problemen im Alltag…

Wenn ich nun auf ein anderes Betriebssystem bzw. Software-Ökosystem wechseln will, nützt mir diese Intuition und Vorerfahrung unter Umständen nichts, da viele Dinge unter Linux grundsätzlich anders funktionieren als beim altbekannten Windows. Während sich von der Logik her einige Nutzungsstrategien übertragen lassen, funktionieren andere Sachen wiederum nicht so einfach unter Linux oder stellen sogar ein Gefahr für die Stabilität des Betriebssystems dar. Hierbei denke ich vor allem an die Paketverwaltung und das managen administrativer Rechte.

Hilfreiche Dokumentationen und Skripte für Anfänger und Fortgeschrittene in Deutscher und Englischer Sprache

Auch im Hinblick auf die mir bevorstehende Installation von Ubuntu Linux 20.04 LTS erachte ich es als hilfreich, sich zuvor mit der Funktionsweise des neuen Betriebssystems auseinandergesetzt zu haben. Ich wollte mich ins Thema einlesen, habe daher in den letzten Tagen im Netz recherchiert und bin dabei auf verschiedene informative Ressourcen gestoßen: Neben diversen PC-Magazinen [1] [2] und einer großen Auswahl von teilweise kostenlosen E-Books (größtenteils auf Englisch) zum Thema gibt es dutzende Webseiten, welche einem Grundsätzliches zur Betriebssystemumgebung Linux näher bringen.

  • Linux gab es schon lange vor der ersten Veröffentlichung von Ubuntu im Jahre 2004. Auf der Seite netzmafia gibt es ein sehr ausführliches Skript von der Hochschule München zum Thema UNIX/Linux. Es behandelt vieles von der Entstehungsgeschichte hin über die Struktur des Betriebssystems bis zur praktischen Anwendung wie die Shelleingabe oder Prozessverwaltung.
  • Wer etwas mehr über den Aufbau des Betriebssystems oder die Verzeichnisstruktur, insbesondere im Unterschied zu Windows, erfahren möchte, wird bei ernstlx fündig. Dort gibt es auch eine praktische Einführung zur Kommandozeileneingabe, der BASH-Shell.
  • Auf der Webseite des Rheinwerk-Verlags gibt es eine kostenlose Online-Version des eBooks „Linux – das umfassende Handbuch“ von 2012. In mehr als 1200 Seiten scheint sich so alles zu finden, was man als Einsteiger oder Fortgeschrittener über Linux wissen möchte.
  • Im Wiki-Bereich von ubuntuusers gibt es einen sehr übersichtlichen Beitrag für Einsteiger, zu den Grundlagen der Bedienung von Ubuntu Linux sowie den Unterschieden zu Windows.
  • Linux/Unix Tutorial for Beginners: Learn Online in 7 days auf guru99 (Englisch). Fundamentales Wissen und anwendungsbezogene Übungen.
  • Die Seiten der Free Software Foundation (FSFE) für Informationen zu freier Software („OpenSource“), dem GNU-Projekt und der General Public Licence (GPL), unter welcher viele Bestandteile von Linux lizenziert sind.

Ich hoffe, ihr findet die Links lesenswert und freue mich, wenn ich euch damit weiterhelfen konnte. Wenn ihr noch einen Tipp habt, schreibt mir gerne.

Windows 7 Datenschutz: Telemetrie-Updates erkennen und entfernen

telemetrie01

Für das Sammeln und Rückmelden von Nutzungsdaten gibt es viele Begriffe: Programm zur Verbesserung der Benutzerfreundlichkeit, Telemetriedaten, Diagnosedaten, Fehlerberichterstattung …

Dass Windows gelegentlich „nach Hause telefoniert“, davon spricht man mindestens seit der Ära Windows XP. Für viele Menschen ist es auch der Grund, wieso sie bisher nicht auf Windows 10 aktualisiert haben. So wird dem aktuellen Betriebssystem zurecht nachgesagt, es sammele gezielt Nutzungsdaten. [1] [2] Diese Funktionen gab es in dieser Art bei Windows 7 noch nicht. Nun wurde vor kurzem bekannt, dass von Microsoft bisher noch optionale Updates, welche Telemetriefunktionen nachrüsten, nun als „kritisch“ eingestuft und auf jedem Rechner installiert werden, genauer gesagt KB2952664, KB2976978 und KB3075249. [3] [4]

Das tolle an Windows 7 im Vergleich zu 10 ist, dass man noch ohne weiteres Updates wieder deinstallieren und ausblenden kann, damit diese erst gar nicht auf dem Rechner landen. So muss man auch keine Programme verwenden, die die entsprechenden Funktionen wieder deaktivieren…

wu_ausblenden

Dazu öffnen wir in der Systemsteuerung unter System und Sicherheit / Windows Updates. Nun können wir gezielt nach dem obigen Updatenummern in der Maske suchen und diese deinstallieren bzw. ausblenden, um eine erneute Installation zu verhindern.

button_download2

Ich habe für die schnelle und bequeme Deinstallation dieser Updates ein einfaches Skript geschrieben, welches ihr hier herunterladen könnt. Die BAT-Datei muss als Administrator ausgeführt werden und deinstalliert automatisch die drei oben genannten Patches.

wichtigachtung Da dabei Änderungen am System vorgenommen werden, empfehle ich euch dringend, zuvor einen Wiederherstellungspunkt über die Systemsteuerung zu erstellen. Das Ausführen des Skripts geschieht auf eigene Verantwortung.

Es gibt außerdem noch eine Reihe weiterer Windows-Updates, welchen seit der Einführung von Windows 7 nachgesagt wird, dass sie Telemetrie-Funkionen nachrüsten. Hier unterscheiden sich die Angaben aber je nach Quelle leider gewaltig. Das liegt sicher auch daran, dass es nicht zu jedem Update eine vollständige KB-Beschreibung vorhanden ist. Am qualitativ schlüssigsten finde ich die Liste von xvitaly auf GitHub, zu der es auch eine ganze Reihe von Rückmeldungen gibt (für Details zu den einzelnen KBs einen Blick in die Kommentare werfen oder über die Microsoft Support-Seite suchen). Auch hier wird ein fertiges Deinstallationsskript angeboten. Dies muss lediglich in Notepad eingefügt, als *.bat Datei (Dateityp: Alle Dateien) gespeichert und ausgeführt werden. Systemwiederherstellungspunkt nicht vergessen!


@echo off
echo Uninstalling KB3075249 (telemetry for Win7/8.1)
start /w wusa.exe /uninstall /kb:3075249 /quiet /norestart
echo Uninstalling KB3080149 (telemetry for Win7/8.1)
start /w wusa.exe /uninstall /kb:3080149 /quiet /norestart
echo Uninstalling KB3021917 (telemetry for Win7)
start /w wusa.exe /uninstall /kb:3021917 /quiet /norestart
echo Uninstalling KB3022345 (telemetry)
start /w wusa.exe /uninstall /kb:3022345 /quiet /norestart
echo Uninstalling KB3068708 (telemetry)
start /w wusa.exe /uninstall /kb:3068708 /quiet /norestart
echo Uninstalling KB3044374 (Get Windows 10 for Win8.1)
start /w wusa.exe /uninstall /kb:3044374 /quiet /norestart
echo Uninstalling KB3035583 (Get Windows 10 for Win7sp1/8.1)
start /w wusa.exe /uninstall /kb:3035583 /quiet /norestart
echo Uninstalling KB2990214 (Get Windows 10 for Win7)
start /w wusa.exe /uninstall /kb:2990214 /quiet /norestart
echo Uninstalling KB2952664 (Get Windows 10 assistant)
start /w wusa.exe /uninstall /kb:2952664 /quiet /norestart
echo Uninstalling KB3075853 (update for "Windows Update" on Win8.1/Server 2012R2)
start /w wusa.exe /uninstall /kb:3075853 /quiet /norestart
echo Uninstalling KB3065987 (update for "Windows Update" on Win7/Server 2008R2)
start /w wusa.exe /uninstall /kb:3065987 /quiet /norestart
echo Uninstalling KB3050265 (update for "Windows Update" on Win7)
start /w wusa.exe /uninstall /kb:3050265 /quiet /norestart
echo Uninstalling KB971033 (license validation)
start /w wusa.exe /uninstall /kb:971033 /quiet /norestart
echo Uninstalling KB2902907 (description not available)
start /w wusa.exe /uninstall /kb:2902907 /quiet /norestart
echo Uninstalling KB2976987 (description not available)
start /w wusa.exe /uninstall /kb:2976987 /quiet /norestart
echo Uninstalling KB2976978 (compactibility update for Windows 8.1)
start /w wusa.exe /uninstall /kb:2976978 /quiet /norestart
echo Uninstalling KB3102810 (update for "Windows Update")
start /w wusa.exe /uninstall /kb:3102810 /quiet /norestart
echo Uninstalling KB3112343 (Windows Update Client for Windows 7)
start /w wusa.exe /uninstall /kb:3112343 /quiet /norestart
echo Uninstalling KB3135445 (Windows Update Client for Windows 7)
start /w wusa.exe /uninstall /kb:3135445 /quiet /norestart
echo Uninstalling KB3123862 (Windows Update Client for Windows 7)
start /w wusa.exe /uninstall /kb:3123862 /quiet /norestart
echo Uninstalling KB3081954 (Telemetry Update for Windows 7)
start /w wusa.exe /uninstall /kb:3081954 /quiet /norestart
echo Uninstalling KB3139929 (Get Windows 10 update for MSIE)
start /w wusa.exe /uninstall /kb:3139929 /quiet /norestart
echo Uninstalling KB3138612 (Windows Update Client for Windows 7)
start /w wusa.exe /uninstall /kb:3138612 /quiet /norestart
echo Uninstalling KB3138615 (Windows Update Client for Windows 8.1)
start /w wusa.exe /uninstall /kb:3138615 /quiet /norestart
echo Uninstalling KB3150513 (Compactibility Update (another GWX) for Windows 7/8.1)
start /w wusa.exe /uninstall /kb:3150513 /quiet /norestart
echo Uninstalling KB3133977 (buggy update)
start /w wusa.exe /uninstall /kb:3133977 /quiet /norestart
echo Uninstalling KB3139923 (Another GWX for Windows 7/8.1)
start /w wusa.exe /uninstall /kb:3139923 /quiet /norestart
echo Uninstalling KB3173040 (Another GWX for Windows 7/8.1)
start /w wusa.exe /uninstall /kb:3173040 /quiet /norestart

view raw

remove_crw.cmd

hosted with ❤ by GitHub

Weiterführende, interessante Artikel zum Thema Datensammeln unter Windows:

https://edri.org/microsofts-new-small-print-how-your-personal-data-abused/

http://www.schiefer-abc.de/antispy/