Unter Ubuntu bin ich regelmäßig auf die Nutzung des Terminals angewiesen (Strg+T). Umso ärgerlicher, wenn dieses mal nicht so funktioniert wie ich will. Das war neulich der Fall, als ich für die Entwicklung eines Angular-Webprojektes aus der IDE heraus meinen Node Version Manager (nvm) aktualisiert habe. Irgendetwas musste schief gelaufen sein, denn im Anschluss wollte sich meine Bash-Shell nicht mehr im Terminal zeigen, ich sah nur eine leer Zeile mit meinem Cursor.
So etwas in der Art war mir bisher noch nicht passiert. Wie so üblich, habe ich dann nach Lösungen im Internet gesucht: Eine Möglichkeit besteht darin, die bash-Konfigurationsdatei .bashrc im home-Verzeichnis zurückzusetzen. Ärgerlich natürlich, dass sich sämtliche Bash-Befehlslösungen die man so über Google findet nicht anwenden lassen, wenn das Terminal nicht funktioniert. Also habe ich es mit einer anderen virtuellen Terminal-Session probiert, indem ich Strg + Alt + F3 gedrückt habe.
Virtuelle Terminal Sessions unter Ubuntu
Unter Ubuntu gibt es mehrere virtuelle Terminal Sessions (ttys), unter einer läuft das die grafische Benutzeroberfläche. Wechseln können wir mit Strg, Alt und einer der F-Tasten. Eine kurze Übersicht:
Strg + Alt +
F1
Ubuntu Login-Bildschirm
F2
Laufende GUI-Session
F3 – F7
weitere virtuelle Terminals
Leider auch hier keinen Erfolg, das Terminal blieb leer und ich konnte nichts eingeben. Wie bekomme ich nun mein Terminal zurück, wenn ich nicht mal in die root-Shell komme und Befehle eingeben kann? Mir war schon etwas bange, mein letztes Backup war schon einige Tage her und ich hatte auch keine Zeit, dass System neu aufzusetzen, wie ich das unter Windows gerne mache. Also habe ich es mit dem Wiederherstellungsmodus (Recovery) von Ubuntu probiert, der dem abgesicherten Modus von Windows ähnelt. Den hatte ich bisher noch nie verwendet!
Der Recovery Modus von Ubuntu
Während des Boot-Vorgangs des Computers gibt es die Möglichkeit, mittels drücken der Esc-Taste (es könnte je nach Hersteller auch eine andere Taste sein) verschiedene Startoptionen im Grub-Bootloader anzuzeigen. Dort kann dann der Recovery-Modus von Ubuntu gestartet werden, der einem u.A. Zugriff auf die root-Shell gewährt. Hierbei gibt es allerdings zwei Herausforderungen, die flinke Finger erfordern und mich mehrere Anläufe gebraucht haben (eine etwas nervraubende Angelegenheit):
Ihr könnt die Startoptionen nur im Abschnitt zwischen dem Laden des UEFI (BIOS) und dem Starten von Ubuntu (das Ubuntu Boot-Logo) aufrufen. Es ist also nur ein sehr kurzer Zeitraum zum Drücken der Taste.
Drückt (spammt) ihr die Esc-Taste zu oft, landet ihr im textuellen Fallback-Modus des Grub-Bootloaders und der Recovery-Modus ist nicht mehr ohne weiteres auswählbar. Zumindest habe ich keine Option gefunden. Also, mit Strg + Alt + Entf das System neu starten und es erneut versuchen.
Hattet ihr Erfolg, könnt ihr die entsprechende Zeile Ubuntu with <neueste Kernel-Version> (recovery mode) auswählen und die root-Befehlszeile starten. Weitere Infos dazu findet ihr auch im Ubuntuusers-Wiki.
.bashrc Konfiguration zurücksetzen
In der root-Befehlszeile hatte ich Glück, ich konnte wieder Befehle eingeben und dort meine Bash-Konfiguration zurücksetzen. Dazu habe ich zunächst in mein home-Verzeichnis gewechselt.
cd /home/cedric
Drt befindet sich die Konfigurationsdatei .bashrc. Da diese bei mir auch Einstellungen z.B. zu meiner Python conda-Distribution enthält, habe ich zunächst eine Sicherungskopie angelegt.
cp .bashrc .bashrc_backup
Nun kann ich meine defekte Konfigurationsdatei durch die Standardkonfiguration ersetzen, welche sich in einem anderen Verzeichnis befindet.
rm .bashrc cp /etc/skel/.bashrc .
Fazit
Nach einem Neustart des Rechners hat alles wieder funktioniert, was ein Glück. Nur einige Anpassungen musste ich wieder vornehmen (z.B. die Initialisierung der Conda-Umgebung). Wie aufgeschmissen man unter Linux auf einmal ist, wenn das Terminal bzw. Bash nicht mehr funktioniert, hat mich etwas unerwartet getroffen. Was solls, Lektion gelernt. Fürs nächste Backup habe ich die .bashrc jedenfalls in mein Sicherungsprofil unter Timeshift einbezogen.
PS: Möglichkeiten, wie ihr Verzeichnisse und Dateien in einem automatischen Backup unter Ubuntu sichern könnt, habe ich übrigens hier beschrieben.
GNU/Linux ist eine bewährte Alternative zu Windows und iOS als Betriebssystem auf einem Desktop-PC oder Notebook. In meinen früheren Beiträgen habe ich bereits Vor- und Nachteile diskutiert und mir Gedanken zur Einrichtung gemacht.
Auch wenn Linux [auf dem Desktop-PC] mit ca. 3% Marktanteil [1] eher die Ausnahme darzustellen scheint, ist es z.B. bei Server-Lösungen oder in wissenschaftlichen Abteilungen häufig anzutreffen. Wer sich mit Linux auf dem eigenen Rechner vertraut machen wollte, konnte in der Vergangenheit ein Live-Image auf CD, USB-Stick oder z.B. in VirtualBox ausprobieren, oder ein nicht ganz einfache geteilte Installation mit Windows einrichten. Seit Windows 10 (Version 2004) gibt es nun das nützliche Windows Linux Subsystem (WSL), welches eine vollwertige, virtuelle Linux-Umgebung in Windows bereitstellt. Auch wenn sich diese Funktionalität natürlich vor allem an Entwickler richtet, ist es eine praktische Möglichkeit sich gefahrlos mit der Funktionsweise von Linux vertraut zu machen, ohne die Gefahr, etwas aus versehen kaputt zu machen! Mehr dazu von Microsoft…
Installation
Die Installation unterscheidet sich hier allerdings etwas zwischen Windows 10 und 11. WSL gibt es in Version 1 und 2, wobei die zweite Version aktueller ist und mehr Funktionalität bietet [2]. Die Einrichtung an sich ist unkompliziert und benötigt nur wenige Schritte. Ich möchte es euch in diesem Beitrag am Beispiel von Ubuntu in einer WSL2-Umgebung vorstellen (mehrere, parallele Installationen sind möglich).
Unter Windows 11
Unter Windows 11 geht die Installation einfach und schnell. Die einfachste Option ist es, sich im Microsoft Store die entsprechende Distribution zu suchen und sich diese dort zu installieren (z.B. Ubuntu).
Alternativ könnt ihr das Windows 11 Terminal öffnen, um WSL2 dort per Kommandozeile einzurichten.
wsl --install -d ubuntu
Unter Windows 10
Unter Windows 10 sind einige zusätzliche Schritte notwendig. Zunächst prüft ihr, ob die optionalen Betriebssystemfeatures Virtual Machine Plattform und Windows Subsystem for Linux installiert sind. Um zum entsprechenden Dialog zu kommen, gebt ihr im Startmenü das Stichwort „Features“ ein. Falls dies nicht der Fall sein sollte – die entsprechenden Punkte anhaken, bestätigen und nach der Installation den Computer neu starten.
Anschließend holt ihr euch aus dem Microsoft Store das neue Windows Terminal (Link), welches die Handhabung mit WSL (und allen anderen Konsolenanwendungen) erheblich erleichtert. Dort werden wir die WSL-Integration später einrichten.
Nun öffnet ihr das neue Terminal und stellt mit dem Befehl
wsl --set-default-version 2
sicher, dass auch die aktuelle Version WSL 2 verwendet wird. Mehr dazu…
Nun könnt ihr mit der Installation z.B. von Ubuntu über den Microsoft Store oder über das Terminal wie im Abschnitt von Windows 11 beschrieben fortfahren!
Erster Start
Nach der Installation könnt ihr die Distribution über das Windows Startmenü ausführen. Ich möchte euch hier allerdings den Weg über das Terminal zeigen, da ihr die meiste Zeit damit handhaben müsst. Wie ihr Ubuntu über das Windows Terminal startet, seht ihr im nächsten Abschnitt. Danach werdet ihr ggf. dazu aufgefordert zunächst ein Benutzername und Passwort festzulegen. Folgt einfach den Anweisungen. Mehr dazu…
Grundlegende Handhabung
Die WSL-Umgebung bietet keine grafische Benutzeroberfläche („Desktop“), ihr seid also auf die Kommandozeile (Shell) sowie euren Datei Explorer angewiesen. Mehr zur WSL Shell und Bash findet ihr im Abschnitt „Nächste Schritte“.
Nach der Installation findet ihr das virtuelle Dateisystem von WSL wie ein Netzwerklaufwerk eingebettet links im Schnellzugriff des Explorer-Fensters.
Falls ihr Ubuntu über den Microsoft Store installiert habt, findet ihr mit dem PowerShell-Befehl (über das Terminal) Get-AppxPackage -Name „Ubuntu“ | Select PackageFamilyName oder über die Eingabe der Umgebungsvariable $env:UBUNTU_HOME den Speicherort des virtuellen Datenträgers ext4.vhdx von Ubuntu. Bei mir ist es das Verzeichnis C:\Users\cedri\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhd
Das Kopieren, Verschieben, Löschen etc. von größeren Dateimengen im WSL Dateisystem über den Windows Explorer ist signifikant langsamer, als dieselbe Operation „intern“ mit Bash-Befehlen auszuführen (bspw. cp, rm oder mv). Mehr dazu findet ihr unter „Nächste Schritte“.
Ich rate euch davon ab, Windows-Anwendungen direkt auf dem virtuellen WSL-Dateisystem auszuführen (z.B. 7-Zip Windows Dateien ins WSL entpacken), da es bei mir sehr langsam war und immer wieder zu Problemen kam.
Steuerung
Hier ein kurzer Überblick über die wichtigsten WSL-Befehle für das Windows Terminal, welche am Anfang wichtig sind:
Mit wsl –list –verbose seht ihr eine Liste eurer WSL Umgebungen sowie den Status und die WSL-Version
Die WSL Umgebung startet automatisch, wenn ihr die Betriebssystem-Shell, eine Anwendung welche WSL nutzt startet oder auf das WSL-Dateisystem über den Explorer zugreift, ihr müsst euch um Start und Stop also eigentlich gar nicht kümmern.
Habt ihr mehrere WSL-Distributionen installiert, könnt ihr mit wsl –set-version [Ubuntu] festlegen, welche Installation automatisch gestartet werden soll, wenn ihr es nicht mit angebt.
Mit wsl -d Ubuntu startet ihr Ubuntu manuell und landet direkt in der Linux-Shell. Wie es noch einfacher geht, lest ihr im Abschnitt „Terminal-Integration“. Um die Shell wieder zu verlassen und zur normalen Kommandozeile (PowerShell) zurückzukehren, gebt ihr einfach exit ein.
Mit wsl -d Ubuntu -e [Befehl] führt ihr einen Bash-Befehl direkt aus, ohne erst manuell in die Shell wechseln zu müssen. Beispiel: wsl -d Ubuntu -e ping keepmydekstop.blog
Mit wsl –shutdown erzwingt ihr ein Beenden des WSL-Dienstes und aller Linux-Umgebungen. Das kann manchmal nützlich sein, da die laufende WSL-Umgebung einiges an Systemressourcen verbraucht (ca. 1 GB RAM)
Aktualisierungen
Auch bei Ubuntu Linux fallen regelmäßig Updates an, worauf euch die früher oder später Shell aufmerksam machen wird. Ich habe dazu bereits recherchiert, hier ein paar Tipps von meiner Seite:
Das Aktualisieren von WSL (Ubuntu) über den Microsoft Store lädt nur die neueste „Umgebungskonfiguration“ (das rootfs package), bringt die Installation aber nicht auf den aktuellsten Stand.
Der Aufruf von wsl –update aktualisiert den WSL2 Linux-Kernel, nicht aber die Software-Pakete von Ubuntu selbst.
Die Software-Pakete sollten also gelegentlich durch den Aufruf von apt selbst aktualisiert werden. Beispiel:
Das „neue“ Windows Terminal (siehe oben) bringt einiges an komfortablen Neuerungen mit. Neben farblichen Syntax-Hervorhebungen und Autovervollständigung (Tab) könnt ihr euch auch verschiedene Terminal-Vorlagen einrichten. Standardmäßig startet ja PowerShell, mit wenigen Klicks könnt ihr aber auch direkt die Ubuntu-Shell öffnen:
Bei neueren Versionen wird die WSL Installation von Ubuntu wohl automatisch erkannt und dem Windows Terminal hinzugefügt, nachdem ihr Ubuntu zum ersten Mal gestartet und eure Benutzerinformationen eingegeben habt (wenn das Windows Terminal davor installiert wurde) [3].
Ansonsten könnt ihr die Windows Terminal App auch zurücksetzen (Einstellungen>Apps>Installierte Apps>Terminal>…>Erweiterte Optionen>Zurücksetzen) und beim ersten Start sollte der Eintrag hinzugefügt werden,
oder den Eintrag manuell erstellen, indem ihr in den Terminal-Einstellungen ein Profil hinzufügt mit Verweis auf C:\WINDOWS\system32\wsl.exe -d ubuntu (siehe Bild)
Nächste Schritte
Falls ihr Linux noch nie benutzt habt, macht euch unbedingt mit den Grundlagen der Bash-Shell sowie der Verzeichnisstruktur von Linux vertraut, da dies unverzichtbar für viele Aufgaben ist. Ich bin bereits in einem anderen Blogbeitrag darauf eingegangen. Hier findet ihr auch einen super praktischen, einfach verständlichen Grundkurs.
Einige Anwendungsbeispiele für WSL sowie weitere Tipps werde ich in den nächsten Beiträgen veröffentlichen. Abonniert den Beitrag-Newsletter, um informiert zu bleiben…
Nutzt ihr WSL bereits? Wenn ja, für was? Hinterlasst mir doch einen Kommentar unter diesem Beitrag 👇
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 OSU1Offline 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:
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-UpdateOSU1.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:
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
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.
PS: Hat euch der Beitrag weitergeholfen? Ihr könnt meinen Blog und meine Arbeit unterstützen, indem ihr diese Seite teilt, einen Kommentar hinterlasst oder euch in den kostenlosen Newsletter-Verteiler eintragt!
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…
Bildquelle Header: pixabay / Pinguin Tux; by Larry Ewing, Simon Budig, Anja Gerwinski
In der Vergangenheit habe ich bereits darüber berichtet, wie man sich verschiedene Windows-Versionen mit der Emulations-Software VirtualBox einrichten kann. Als Betriebssystem im Betriebssystem sozusagen.
Im zweiten Teil meines Linux-Tagebuches möchte ich nun davon berichten, wie ich Ubuntu Linux in einer virtuellen Maschine eingerichtet habe. Das Tolle daran: Wenn ihr Linux noch nie benutzt habt, könnt ihr euch in aller Ruhe mit dem Betriebssystem vertraut machen. Es kann ja nichts kaputt gehen. Wenn ihr noch unsicher seit bezüglich der Wahl der Distribution, der verschiedenen Benutzeroberflächen – oder auch zum Testen der Softwarekompatibilität – bietet sich eine virtuelle Installation ebenfalls an.
Linux-Distributionen besitzen seit Jahren die Möglichkeit, diese am PC als „Live-System“ direkt von CD/USB zu testen, ohne dass Änderungen am PC vorgenommen werden. Aus diesen Gründen habe ich dennoch VirtualBox gewählt: Erstens ist das Verfahren langsamer, zweitens werden nach einem Neustart alle Änderungen verworfen und drittens kann ich bei einer virtuellen Maschine Windows parallel weiter nutzen oder ungewollte Änderungen wieder rückgängig machen.
VirtualBox konfigurieren
Für meinen Zweck habe ich mir das Datenträger-Abbild der zu diesem Zeitpunkt verfügbaren BETA-Version von Ubuntu 20.04 LTS heruntergeladen. Die länger unterstützte LTS-Version von Ubuntu wird mit der bekannten GNOME-Benutzeroberfläche ausgeliefert. Außerdem wird die aktuelle Version der VirtualBox Software benötigt (kostenlos). Wollt ihr einige weitere Funktionen wie die Gastsystem-Unterstützung für USB 3.0 nutzen, müsst ihr zusätzlich über VirtualBox das – ebenfalls auf der Herstellerseite verfügbare – proprietäre¹ Oracle VM VB Extension Pack installieren.
Tipp: Als Hostsystem wird der Rechner bezeichnet, auf dem das virtuelle Gastsystem ausgeführt wird.
Zunächst mit „Neu“ eine neue virtuelle Maschine anlegen, das passende OS auswählen und den empfohlenen Schritten folgen. Diese Einstellungen („Ändern“) habe ich vor dem ersten Start noch angepasst:
System
Hauptplatine: Insofern ihr mehr als 4GB Arbeitsspeicher (RAM) zur Verfügung habt, solltet ihr den Wert erhöhen, dann arbeitet die VM flotter. Ich habe bei 16GB RAM 4GB für das Gastsystem gewählt.
Prozessor: Die Zuteilung eines zweiten CPU-Kerns erhöht die Geschwindigkeit des Gastsystems.
Anzeige
Bildschirm: Da ich später noch die VB-Gasterweiterung installieren werde um die Desktop-Effekte zu beschleunigen, erhöhe ich den Grafikspeicher auf den Maximalwert und setze einen Haken bei „3D-Beschleunigung“.
Massenspeicher
Controller: IDE: Hier habe ich das CD-Abbild ubuntu-xxx.iso ausgewählt, damit das Setup direkt gestartet wird.
USB
Hier habe ich die USB 3.0 Unterstützung aktiviert (erfordert VB Extension Pack, s.o.)
Gemeinsamer Ordner
Erleichtert später das Austauschen von Dateien zwischen Host- und Gastsystem enorm. Ist bei mir der zentrale Download-Ordner. „Automatisch Einbinden“ wählen.
¹ Die VirtualBox Software ist OpenSource (GPL), das Extension-Pack ist andersweitig lizenziert (aber dennoch kostenlos).
Installation starten
Tipp: Wenn die VM läuft, können Maus und Tastatur vom Gastsystem „eingefangen“ werden. Durch das Drücken der Host-Taste (normalerweise die rechte Strg-Taste) werden diese wieder befreit.
Sobald die virtuelle Maschine gestartet wurde, sollte die Installation beginnen. Ich habe einfach den Schritten durch das Setup gefolgt, die „virtuelle Festplatte“ nach Vorgabe partitioniert. Diese ist „dynamisch assoziiert“, d.h. obwohl weil sie eine rechnerische Kapazität von 10Gb besitzt, ist sie im Hostsystem nur so groß, wie viel Speicher das Gastsystem tatsächlich benötigt. Ob man die Drittanbieter-Software-Pakete mitinstalliert (siehe Bilder), bleibt eine persönliche Entscheidung. Gefragt wird man deshalb, da dieses Paket im Gegenteil zum Rest des Betriebssystems proprietäre, also nicht quelloffene „freie“ Software enthält. Die einzelnen Installationsschritte in Bildern:
Am Ende der Installation habe ich nach Aufforderung über das VirtualBox Fenster den Installationsdatenträger entfernt und die virtuelle Maschine neu gestartet. Die Installation ist nun abgeschlossen.
Gasterweiterung installieren
Die VirtualBox guest-additions sind ein Treiberset, welche einige Funktionen wie die oben bereits erwähnte 3D-Beschleunigung (z.B. für Desktop-Effekte) oder die gemeinsame Zwischenablage ermöglichen. Insgesamt arbeitet das Gastsystem mit installierten guest-additions deutlich flotter. So klappt die Installation (nach der Anleitung auf tecmint):
Das Terminal mit Strg+Alt+T (oder über das Startmenü) öffnen und nacheinander folgende Befehle ausführen:
sudo apt update
Der Befehl aktualisiert den Paket-Manager APT mit aktuellen Informationen zu den installierten Paketen und Repositories.
sudo apt upgrade
Aktualisiert installierte Pakete mit der neuesten Version.
build-essential enthält Software, welche zum Erzeugen von Paketen benötigt wird [1], DKMS für die Linux-Kernelverwaltung [2] sowie dazugehörigen Meta-Pakete [3] für die aktuelle Version
Nun den Rechner neu starten.
Danach über <Geräte> die Gasterweiterung ins System einbinden und das Programm ausführen.
Über das Terminal erfolgt nun die Installation der guest-additions. Nach Abschluss und Neustart sollten diese auch korrekt eingerichtet sein. Ich habe es allein schon daran gemerkt, dass die Desktop-Effekte des Fenster-Managers GNOME deutlich flüssiger dargestellt wurden. Damit sollte dann auch das Drag & Drop von Dateien zwischen Host- und Gastsystem funktionieren.
Die Anleitung zur Installation der guest-additions in der virtuellen Maschine klappt übrigens bei allen Ubuntu / Debian – basierten Distributionen. 🙂
Damit wären wir schon am Ende des Beitrags. Je nach Geschmack kann die Fentergröße des Gastsystems über die interne Auflösung-Einstellung angepasst oder einfach mit VirtualBox im Vollbildmodus (Strg+F) dargestellt oder automatisch skaliert (Strg+A) werden.