<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Linux@mertengiesen</title>
    <link>https://write.medienzentrum.rocks/linuxatmertengiesen/</link>
    <description>Linux Patches &amp; Notes</description>
    <pubDate>Thu, 17 Sep 2026 09:51:42 +0000</pubDate>
    <item>
      <title>Linux Mint: NTFS-Festplatte mit ntfs-3g wieder beschreibbar machen</title>
      <link>https://write.medienzentrum.rocks/linuxatmertengiesen/linux-mint-ntfs-festplatte-mit-ntfs-3g-wieder-beschreibbar-machen</link>
      <description>&lt;![CDATA[Eine interne NTFS-Festplatte lässt sich unter Linux Mint problemlos lesen, aber nicht beschreiben. Dateien können geöffnet werden, beim Anlegen oder Ändern von Dateien scheitert der Zugriff jedoch.&#xA;&#xA;In meinem Fall war die Partition noch in einem unsauberen NTFS-Zustand. Nach einer Reparatur mit ntfsfix und einem expliziten Mount mit ntfs-3g ließ sie sich wieder normal beschreiben.&#xA;&#xA;Das Problem&#xA;&#xA;Die NTFS-Partition war vorhanden und lesbar, Schreibzugriffe funktionierten aber nicht.&#xA;&#xA;Zunächst sollte man herausfinden, unter welchem Gerätenamen Linux die betreffende Partition kennt:&#xA;&#xA;lsblk -f&#xA;&#xA;Eine typische Ausgabe sieht beispielsweise so aus:&#xA;&#xA;NAME   FSTYPE LABEL&#xA;sda&#xA;└─sda1 ntfs   Fotos&#xA;sdb&#xA;└─sdb1 ntfs   Dokumente&#xA;&#xA;Wichtig ist der Unterschied zwischen Gerät und Mountpoint:&#xA;&#xA;/dev/sda1&#xA;&#xA;ist die eigentliche Partition.&#xA;&#xA;Ein Pfad wie&#xA;&#xA;/media/benutzer/Fotos&#xA;&#xA;oder&#xA;&#xA;/mnt/fotos&#xA;&#xA;ist dagegen nur das Verzeichnis, in das diese Partition eingehängt wurde.&#xA;&#xA;Programme wie ntfsfix benötigen das Gerät, also beispielsweise:&#xA;&#xA;sudo ntfsfix /dev/sda1&#xA;&#xA;und nicht den Mountpoint.&#xA;&#xA;Ursache: NTFS war als „unclean“ markiert&#xA;&#xA;Nach dem Aushängen der Partition wurde sie mit ntfsfix überprüft:&#xA;&#xA;sudo umount /dev/sda1&#xA;sudo ntfsfix -d /dev/sda1&#xA;&#xA;Dabei meldete ntfsfix unter anderem:&#xA;&#xA;The disk contains an unclean file system&#xA;Metadata kept in Windows cache, refused to mount.&#xA;&#xA;Anschließend wurden unter anderem die Master File Table und deren Spiegel geprüft sowie das NTFS-Journal geleert.&#xA;&#xA;Der Vorgang endete mit:&#xA;&#xA;NTFS partition /dev/sda1 was processed successfully.&#xA;&#xA;Damit war zumindest belegt, dass die Partition zuvor tatsächlich einen unsauberen NTFS-Zustand hatte und ntfsfix diesen bearbeitet hatte.&#xA;&#xA;ntfsfix ist dabei keine vollständige NTFS-Reparatur wie ein Windows-chkdsk. Für grundlegende Inkonsistenzen und das Zurücksetzen des NTFS-Journals kann es aber ausreichen.&#xA;&#xA;Einen festen Mountpoint anlegen&#xA;&#xA;Beim anschließenden manuellen Mounten trat zunächst ein weiterer Fehler auf:&#xA;&#xA;failed to access mountpoint ...: Datei oder Verzeichnis nicht gefunden&#xA;&#xA;Der Grund war simpel: Das Zielverzeichnis existierte nach dem Aushängen nicht mehr.&#xA;&#xA;Deshalb zuerst einen festen Mountpoint anlegen:&#xA;&#xA;sudo mkdir -p /mnt/ntfs-daten&#xA;&#xA;Danach kann die Partition mit ntfs-3g explizit als beschreibbar eingehängt werden:&#xA;&#xA;sudo mount -t ntfs-3g \&#xA;  -o rw,uid=1000,gid=1000,umask=022 \&#xA;  /dev/sda1 /mnt/ntfs-daten&#xA;&#xA;Die Werte 1000 waren in diesem Fall Benutzer- und Gruppen-ID des normalen Linux-Benutzers. Die eigenen Werte lassen sich prüfen mit:&#xA;&#xA;id -u&#xA;id -g&#xA;&#xA;Prüfen, ob die Partition wirklich schreibbar ist&#xA;&#xA;Der aktuelle Mount-Status lässt sich zum Beispiel so kontrollieren:&#xA;&#xA;mount | grep sda1&#xA;&#xA;Im erfolgreichen Fall erschien:&#xA;&#xA;/dev/sda1 on /mnt/ntfs-daten type fuseblk (rw,...)&#xA;&#xA;Entscheidend ist hier:&#xA;&#xA;rw&#xA;&#xA;Das Dateisystem ist also read/write eingehängt.&#xA;&#xA;Ein einfacher Schreibtest ist:&#xA;&#xA;touch /mnt/ntfs-daten/testdatei.txt&#xA;&#xA;Wenn dabei keine Fehlermeldung erscheint, funktioniert der Schreibzugriff.&#xA;&#xA;Die Testdatei kann anschließend wieder entfernt werden:&#xA;&#xA;rm /mnt/ntfs-daten/testdatei.txt&#xA;&#xA;Damit war der Schreibzugriff in diesem Fall praktisch bestätigt.&#xA;&#xA;NTFS dauerhaft über /etc/fstab einbinden&#xA;&#xA;Damit die Platte nicht nach jedem Neustart manuell gemountet werden muss, kann sie in /etc/fstab eingetragen werden.&#xA;&#xA;Zunächst einen dauerhaften Mountpoint anlegen:&#xA;&#xA;sudo mkdir -p /mnt/ntfs-daten&#xA;&#xA;Vor Änderungen an fstab empfiehlt sich eine Sicherung:&#xA;&#xA;sudo cp /etc/fstab /etc/fstab.bak&#xA;&#xA;Danach:&#xA;&#xA;sudo nano /etc/fstab&#xA;&#xA;Für die Partition kann beispielsweise folgende Zeile verwendet werden:&#xA;&#xA;UUID=DEINE-UUID  /mnt/ntfs-daten  ntfs-3g  rw,uid=1000,gid=1000,umask=022,nofail,x-gvfs-show  0  0&#xA;&#xA;Die UUID findet man mit:&#xA;&#xA;lsblk -f&#xA;&#xA;oder:&#xA;&#xA;sudo blkid&#xA;&#xA;Die wichtigsten Optionen:&#xA;&#xA;rw&#xA;&#xA;bindet die Partition beschreibbar ein.&#xA;&#xA;uid=1000,gid=1000&#xA;&#xA;ordnet die Dateien dem angegebenen Benutzer und seiner Gruppe zu.&#xA;&#xA;umask=022&#xA;&#xA;setzt passende Standardrechte.&#xA;&#xA;nofail&#xA;&#xA;verhindert, dass ein Problem mit diesem Datenträger den normalen Systemstart blockiert.&#xA;&#xA;x-gvfs-show&#xA;&#xA;kann dafür sorgen, dass die Partition auch im grafischen Dateimanager angezeigt wird.&#xA;&#xA;Änderungen an fstab testen&#xA;&#xA;Nach dem Speichern kann die Konfiguration getestet werden:&#xA;&#xA;sudo mount -a&#xA;&#xA;Wurde /etc/fstab während des laufenden Systems geändert, kann systemd darauf hinweisen, dass noch die alte Konfiguration verwendet wird:&#xA;&#xA;Ihre Fstab-Datei wurde geändert, aber Systemd nutzt&#xA;noch die alte Version&#xA;&#xA;Dann kann die systemd-Konfiguration neu geladen werden:&#xA;&#xA;sudo systemctl daemon-reload&#xA;&#xA;Fallstrick: „NTFS volume is already exclusively opened“&#xA;&#xA;Beim Einrichten mehrerer NTFS-Platten trat außerdem folgende Meldung auf:&#xA;&#xA;Mount is denied because the NTFS volume is already exclusively opened.&#xA;The volume may be already mounted, or another software may use it&#xA;&#xA;In diesem Fall waren die betreffenden Partitionen bereits an anderen Mountpoints eingehängt.&#xA;&#xA;Das lässt sich überprüfen mit:&#xA;&#xA;mount | grep ntfs&#xA;&#xA;oder gezielter:&#xA;&#xA;findmnt&#xA;&#xA;Ein NTFS-Volume sollte nicht gleichzeitig noch an einem alten Automount-Pfad hängen und zusätzlich über einen neuen fstab-Mountpoint eingebunden werden.&#xA;&#xA;Vor einem erneuten Mount-Versuch muss deshalb gegebenenfalls zunächst der bereits vorhandene Mount ausgehängt werden.&#xA;&#xA;Beispiel:&#xA;&#xA;sudo umount /alter/mountpoint&#xA;&#xA;Danach:&#xA;&#xA;sudo mount -a&#xA;&#xA;Neustart nach größeren fstab-Änderungen&#xA;&#xA;Nach mehreren Änderungen an Mountpoints und /etc/fstab ist ein Neustart eine einfache Möglichkeit, mit einem definierten Zustand zu beginnen.&#xA;&#xA;Beim Booten wird die fstab erneut verarbeitet.&#xA;&#xA;sudo reboot&#xA;&#xA;Hinweis: Im hier dokumentierten Ablauf wurde der Neustart als nächster Schritt vorgesehen, sein Ergebnis wurde aber nicht mehr überprüft. Der erfolgreiche Schreibzugriff auf die erste NTFS-Partition war zu diesem Zeitpunkt bereits unabhängig davon bestätigt.&#xA;&#xA;Ergebnis&#xA;&#xA;Der entscheidende Ablauf war:&#xA;&#xA;lsblk -f&#xA;&#xA;richtige NTFS-Partition ermitteln,&#xA;&#xA;sudo umount /dev/sdXN&#xA;sudo ntfsfix -d /dev/sdXN&#xA;&#xA;unsauberen NTFS-Zustand bearbeiten,&#xA;&#xA;sudo mkdir -p /mnt/ntfs-daten&#xA;&#xA;einen festen Mountpoint anlegen und anschließend:&#xA;&#xA;sudo mount -t ntfs-3g \&#xA;  -o rw,uid=1000,gid=1000,umask=022 \&#xA;  /dev/sdXN /mnt/ntfs-daten&#xA;&#xA;beschreibbar mounten.&#xA;&#xA;Der Test:&#xA;&#xA;touch /mnt/ntfs-daten/testdatei.txt&#xA;&#xA;lief anschließend ohne Fehler durch.&#xA;&#xA;Damit war die zuvor nur lesbare NTFS-Festplatte unter Linux Mint wieder beschreibbar.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Eine interne NTFS-Festplatte lässt sich unter Linux Mint problemlos lesen, aber nicht beschreiben. Dateien können geöffnet werden, beim Anlegen oder Ändern von Dateien scheitert der Zugriff jedoch.</p>

<p>In meinem Fall war die Partition noch in einem unsauberen NTFS-Zustand. Nach einer Reparatur mit <code>ntfsfix</code> und einem expliziten Mount mit <code>ntfs-3g</code> ließ sie sich wieder normal beschreiben.</p>

<h2 id="das-problem">Das Problem</h2>

<p>Die NTFS-Partition war vorhanden und lesbar, Schreibzugriffe funktionierten aber nicht.</p>

<p>Zunächst sollte man herausfinden, unter welchem Gerätenamen Linux die betreffende Partition kennt:</p>

<pre><code class="language-bash">lsblk -f
</code></pre>

<p>Eine typische Ausgabe sieht beispielsweise so aus:</p>

<pre><code class="language-text">NAME   FSTYPE LABEL
sda
└─sda1 ntfs   Fotos
sdb
└─sdb1 ntfs   Dokumente
</code></pre>

<p>Wichtig ist der Unterschied zwischen Gerät und Mountpoint:</p>

<pre><code class="language-text">/dev/sda1
</code></pre>

<p>ist die eigentliche Partition.</p>

<p>Ein Pfad wie</p>

<pre><code class="language-text">/media/benutzer/Fotos
</code></pre>

<p>oder</p>

<pre><code class="language-text">/mnt/fotos
</code></pre>

<p>ist dagegen nur das Verzeichnis, in das diese Partition eingehängt wurde.</p>

<p>Programme wie <code>ntfsfix</code> benötigen das Gerät, also beispielsweise:</p>

<pre><code class="language-bash">sudo ntfsfix /dev/sda1
</code></pre>

<p>und nicht den Mountpoint.</p>

<h2 id="ursache-ntfs-war-als-unclean-markiert">Ursache: NTFS war als „unclean“ markiert</h2>

<p>Nach dem Aushängen der Partition wurde sie mit <code>ntfsfix</code> überprüft:</p>

<pre><code class="language-bash">sudo umount /dev/sda1
sudo ntfsfix -d /dev/sda1
</code></pre>

<p>Dabei meldete <code>ntfsfix</code> unter anderem:</p>

<pre><code class="language-text">The disk contains an unclean file system
Metadata kept in Windows cache, refused to mount.
</code></pre>

<p>Anschließend wurden unter anderem die Master File Table und deren Spiegel geprüft sowie das NTFS-Journal geleert.</p>

<p>Der Vorgang endete mit:</p>

<pre><code class="language-text">NTFS partition /dev/sda1 was processed successfully.
</code></pre>

<p>Damit war zumindest belegt, dass die Partition zuvor tatsächlich einen unsauberen NTFS-Zustand hatte und <code>ntfsfix</code> diesen bearbeitet hatte.</p>

<p><code>ntfsfix</code> ist dabei keine vollständige NTFS-Reparatur wie ein Windows-<code>chkdsk</code>. Für grundlegende Inkonsistenzen und das Zurücksetzen des NTFS-Journals kann es aber ausreichen.</p>

<h2 id="einen-festen-mountpoint-anlegen">Einen festen Mountpoint anlegen</h2>

<p>Beim anschließenden manuellen Mounten trat zunächst ein weiterer Fehler auf:</p>

<pre><code class="language-text">failed to access mountpoint ...: Datei oder Verzeichnis nicht gefunden
</code></pre>

<p>Der Grund war simpel: Das Zielverzeichnis existierte nach dem Aushängen nicht mehr.</p>

<p>Deshalb zuerst einen festen Mountpoint anlegen:</p>

<pre><code class="language-bash">sudo mkdir -p /mnt/ntfs-daten
</code></pre>

<p>Danach kann die Partition mit <code>ntfs-3g</code> explizit als beschreibbar eingehängt werden:</p>

<pre><code class="language-bash">sudo mount -t ntfs-3g \
  -o rw,uid=1000,gid=1000,umask=022 \
  /dev/sda1 /mnt/ntfs-daten
</code></pre>

<p>Die Werte <code>1000</code> waren in diesem Fall Benutzer- und Gruppen-ID des normalen Linux-Benutzers. Die eigenen Werte lassen sich prüfen mit:</p>

<pre><code class="language-bash">id -u
id -g
</code></pre>

<h2 id="prüfen-ob-die-partition-wirklich-schreibbar-ist">Prüfen, ob die Partition wirklich schreibbar ist</h2>

<p>Der aktuelle Mount-Status lässt sich zum Beispiel so kontrollieren:</p>

<pre><code class="language-bash">mount | grep sda1
</code></pre>

<p>Im erfolgreichen Fall erschien:</p>

<pre><code class="language-text">/dev/sda1 on /mnt/ntfs-daten type fuseblk (rw,...)
</code></pre>

<p>Entscheidend ist hier:</p>

<pre><code class="language-text">rw
</code></pre>

<p>Das Dateisystem ist also read/write eingehängt.</p>

<p>Ein einfacher Schreibtest ist:</p>

<pre><code class="language-bash">touch /mnt/ntfs-daten/testdatei.txt
</code></pre>

<p>Wenn dabei keine Fehlermeldung erscheint, funktioniert der Schreibzugriff.</p>

<p>Die Testdatei kann anschließend wieder entfernt werden:</p>

<pre><code class="language-bash">rm /mnt/ntfs-daten/testdatei.txt
</code></pre>

<p>Damit war der Schreibzugriff in diesem Fall praktisch bestätigt.</p>

<h2 id="ntfs-dauerhaft-über-etc-fstab-einbinden">NTFS dauerhaft über <code>/etc/fstab</code> einbinden</h2>

<p>Damit die Platte nicht nach jedem Neustart manuell gemountet werden muss, kann sie in <code>/etc/fstab</code> eingetragen werden.</p>

<p>Zunächst einen dauerhaften Mountpoint anlegen:</p>

<pre><code class="language-bash">sudo mkdir -p /mnt/ntfs-daten
</code></pre>

<p>Vor Änderungen an <code>fstab</code> empfiehlt sich eine Sicherung:</p>

<pre><code class="language-bash">sudo cp /etc/fstab /etc/fstab.bak
</code></pre>

<p>Danach:</p>

<pre><code class="language-bash">sudo nano /etc/fstab
</code></pre>

<p>Für die Partition kann beispielsweise folgende Zeile verwendet werden:</p>

<pre><code class="language-fstab">UUID=DEINE-UUID  /mnt/ntfs-daten  ntfs-3g  rw,uid=1000,gid=1000,umask=022,nofail,x-gvfs-show  0  0
</code></pre>

<p>Die UUID findet man mit:</p>

<pre><code class="language-bash">lsblk -f
</code></pre>

<p>oder:</p>

<pre><code class="language-bash">sudo blkid
</code></pre>

<p>Die wichtigsten Optionen:</p>

<pre><code class="language-text">rw
</code></pre>

<p>bindet die Partition beschreibbar ein.</p>

<pre><code class="language-text">uid=1000,gid=1000
</code></pre>

<p>ordnet die Dateien dem angegebenen Benutzer und seiner Gruppe zu.</p>

<pre><code class="language-text">umask=022
</code></pre>

<p>setzt passende Standardrechte.</p>

<pre><code class="language-text">nofail
</code></pre>

<p>verhindert, dass ein Problem mit diesem Datenträger den normalen Systemstart blockiert.</p>

<pre><code class="language-text">x-gvfs-show
</code></pre>

<p>kann dafür sorgen, dass die Partition auch im grafischen Dateimanager angezeigt wird.</p>

<h2 id="änderungen-an-fstab-testen">Änderungen an <code>fstab</code> testen</h2>

<p>Nach dem Speichern kann die Konfiguration getestet werden:</p>

<pre><code class="language-bash">sudo mount -a
</code></pre>

<p>Wurde <code>/etc/fstab</code> während des laufenden Systems geändert, kann systemd darauf hinweisen, dass noch die alte Konfiguration verwendet wird:</p>

<pre><code class="language-text">Ihre Fstab-Datei wurde geändert, aber Systemd nutzt
noch die alte Version
</code></pre>

<p>Dann kann die systemd-Konfiguration neu geladen werden:</p>

<pre><code class="language-bash">sudo systemctl daemon-reload
</code></pre>

<h2 id="fallstrick-ntfs-volume-is-already-exclusively-opened">Fallstrick: „NTFS volume is already exclusively opened“</h2>

<p>Beim Einrichten mehrerer NTFS-Platten trat außerdem folgende Meldung auf:</p>

<pre><code class="language-text">Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it
</code></pre>

<p>In diesem Fall waren die betreffenden Partitionen bereits an anderen Mountpoints eingehängt.</p>

<p>Das lässt sich überprüfen mit:</p>

<pre><code class="language-bash">mount | grep ntfs
</code></pre>

<p>oder gezielter:</p>

<pre><code class="language-bash">findmnt
</code></pre>

<p>Ein NTFS-Volume sollte nicht gleichzeitig noch an einem alten Automount-Pfad hängen und zusätzlich über einen neuen <code>fstab</code>-Mountpoint eingebunden werden.</p>

<p>Vor einem erneuten Mount-Versuch muss deshalb gegebenenfalls zunächst der bereits vorhandene Mount ausgehängt werden.</p>

<p>Beispiel:</p>

<pre><code class="language-bash">sudo umount /alter/mountpoint
</code></pre>

<p>Danach:</p>

<pre><code class="language-bash">sudo mount -a
</code></pre>

<h2 id="neustart-nach-größeren-fstab-änderungen">Neustart nach größeren <code>fstab</code>-Änderungen</h2>

<p>Nach mehreren Änderungen an Mountpoints und <code>/etc/fstab</code> ist ein Neustart eine einfache Möglichkeit, mit einem definierten Zustand zu beginnen.</p>

<p>Beim Booten wird die <code>fstab</code> erneut verarbeitet.</p>

<pre><code class="language-bash">sudo reboot
</code></pre>

<p><strong>Hinweis:</strong> Im hier dokumentierten Ablauf wurde der Neustart als nächster Schritt vorgesehen, sein Ergebnis wurde aber nicht mehr überprüft. Der erfolgreiche Schreibzugriff auf die erste NTFS-Partition war zu diesem Zeitpunkt bereits unabhängig davon bestätigt.</p>

<h2 id="ergebnis">Ergebnis</h2>

<p>Der entscheidende Ablauf war:</p>

<pre><code class="language-bash">lsblk -f
</code></pre>

<p>richtige NTFS-Partition ermitteln,</p>

<pre><code class="language-bash">sudo umount /dev/sdXN
sudo ntfsfix -d /dev/sdXN
</code></pre>

<p>unsauberen NTFS-Zustand bearbeiten,</p>

<pre><code class="language-bash">sudo mkdir -p /mnt/ntfs-daten
</code></pre>

<p>einen festen Mountpoint anlegen und anschließend:</p>

<pre><code class="language-bash">sudo mount -t ntfs-3g \
  -o rw,uid=1000,gid=1000,umask=022 \
  /dev/sdXN /mnt/ntfs-daten
</code></pre>

<p>beschreibbar mounten.</p>

<p>Der Test:</p>

<pre><code class="language-bash">touch /mnt/ntfs-daten/testdatei.txt
</code></pre>

<p>lief anschließend ohne Fehler durch.</p>

<p>Damit war die zuvor nur lesbare NTFS-Festplatte unter Linux Mint wieder beschreibbar.</p>
]]></content:encoded>
      <guid>https://write.medienzentrum.rocks/linuxatmertengiesen/linux-mint-ntfs-festplatte-mit-ntfs-3g-wieder-beschreibbar-machen</guid>
      <pubDate>Wed, 16 Sep 2026 13:30:28 +0000</pubDate>
    </item>
    <item>
      <title>Linux Mint: Zweiter Monitor verschwunden – NVIDIA-Treiber durch Secure Boot...</title>
      <link>https://write.medienzentrum.rocks/linuxatmertengiesen/linux-mint-zweiter-monitor-verschwunden-nvidia-treiber-durch-secure-boot</link>
      <description>&lt;![CDATA[Linux Mint: Zweiter Monitor verschwunden – NVIDIA-Treiber durch Secure Boot blockiert&#xA;&#xA;Nach einem Start von Linux Mint funktionierte plötzlich nur noch einer von zwei Bildschirmen. Die Grafikkarte wurde grundsätzlich erkannt, der NVIDIA-Treiber aber offenbar nicht korrekt geladen.&#xA;&#xA;Da parallel Windows 11 installiert war und UEFI Secure Boot aktiviert war, lag der Verdacht nahe, dass Secure Boot eine Rolle spielen könnte. Statt Secure Boot sofort im UEFI abzuschalten, ließ sich die Ursache zunächst unter Linux genauer prüfen.&#xA;&#xA;Das Problem&#xA;&#xA;Das auffälligste Symptom:&#xA;&#xA;nur ein Bildschirm wurde erkannt,&#xA;die NVIDIA-Grafikkarte war vorhanden,&#xA;die eigentliche Grafikbeschleunigung funktionierte aber nicht.&#xA;&#xA;Ein erster Check mit:&#xA;&#xA;xrandr&#xA;inxi -Gxx&#xA;lspci | grep -Ei &#39;vga|3d|display&#39;&#xA;&#xA;zeigte im konkreten Fall eine NVIDIA GeForce GTX 1650.&#xA;&#xA;Entscheidend waren aber mehrere andere Hinweise aus inxi:&#xA;&#xA;driver: N/A&#xA;gpu: N/A&#xA;&#xA;Außerdem wurde als OpenGL-Renderer nur Software-Rendering verwendet:&#xA;&#xA;renderer: llvmpipe&#xA;&#xA;xrandr erkannte ebenfalls nur einen einzigen Ausgang.&#xA;&#xA;Damit war bereits klar: Die Grafikkarte selbst wurde vom System gesehen, aber der NVIDIA-Treiber arbeitete nicht korrekt.&#xA;&#xA;Ist Secure Boot wirklich die Ursache?&#xA;&#xA;Zunächst ließ sich prüfen, ob Secure Boot überhaupt aktiv war:&#xA;&#xA;mokutil --sb-state&#xA;&#xA;Die Ausgabe:&#xA;&#xA;SecureBoot enabled&#xA;&#xA;belegt zunächst nur, dass Secure Boot eingeschaltet ist. Sie beweist noch nicht, dass Secure Boot auch den NVIDIA-Treiber blockiert.&#xA;&#xA;Deshalb folgten weitere Prüfungen:&#xA;&#xA;ubuntu-drivers devices&#xA;&#xA;dpkg -l | grep -Ei &#39;nvidia|linux-modules-nvidia&#39;&#xA;&#xA;lsmod | grep -Ei &#39;nvidia|nouveau&#39;&#xA;&#xA;modinfo nvidia 2  /dev/null | grep -Ei &#39;filename|version|signer|sigid&#39;&#xA;&#xA;journalctl -k -b | grep -Ei &#39;nvidia|secure boot|mok|module verification|lockdown|key&#39;&#xA;&#xA;Der entscheidende Befund&#xA;&#xA;Die NVIDIA-Pakete waren installiert. Im konkreten Fall war unter anderem der offene NVIDIA-Kerneltreiber der 580er-Reihe vorhanden.&#xA;&#xA;modinfo zeigte außerdem, dass das NVIDIA-Modul signiert war:&#xA;&#xA;sigid: PKCS#7&#xA;signer: localhost.localdomain Secure Boot Module Signature key&#xA;&#xA;Im Kernel-Log erschienen gleichzeitig Meldungen wie:&#xA;&#xA;secureboot: Secure boot enabled&#xA;&#xA;und:&#xA;&#xA;Kernel is locked down from EFI Secure Boot mode&#xA;&#xA;Vor allem aber:&#xA;&#xA;Loading of module with unavailable key is rejected&#xA;&#xA;Damit war die Ursache nicht mehr nur eine Vermutung.&#xA;&#xA;Der NVIDIA-Kerneltreiber war vorhanden und signiert, aber der dafür verwendete Schlüssel wurde von Secure Boot nicht als vertrauenswürdig akzeptiert. Das Modul wurde deshalb nicht geladen.&#xA;&#xA;Lösung: MOK-Schlüssel eintragen statt Secure Boot abschalten&#xA;&#xA;Secure Boot musste in diesem Fall nicht deaktiviert werden.&#xA;&#xA;Stattdessen wurde der bereits vorbereitete Machine Owner Key, kurz MOK, zur Registrierung vorgemerkt:&#xA;&#xA;sudo update-secureboot-policy --enroll-key&#xA;&#xA;Darauf erschien ein textbasierter Dialog mit dem Hinweis, dass für die Verwendung von Drittanbieter-Treibern unter Secure Boot ein Machine Owner Key registriert werden müsse.&#xA;&#xA;In diesem Dialog wurde ein Passwort vergeben.&#xA;&#xA;Falls sich ein solcher Dialog nicht mit der Maus bedienen lässt, funktionieren typischerweise:&#xA;&#xA;Tab, um zwischen Schaltflächen zu wechseln,&#xA;Pfeiltasten zur Navigation,&#xA;Enter oder gegebenenfalls die Leertaste zur Bestätigung.&#xA;&#xA;Danach wurde das System neu gestartet.&#xA;&#xA;MOK beim Neustart bestätigen&#xA;&#xA;Beim nächsten Start erschien der MOK-Manager.&#xA;&#xA;Dort wurde der vorbereitete Schlüssel über den Menüpunkt&#xA;&#xA;Enroll MOK&#xA;&#xA;registriert und mit dem zuvor vergebenen Passwort bestätigt.&#xA;&#xA;Secure Boot selbst blieb dabei aktiviert.&#xA;&#xA;Anschließend startete Linux Mint wieder normal.&#xA;&#xA;Ergebnis prüfen&#xA;&#xA;Direkt nach dem Neustart funktionierten beide Monitore wieder.&#xA;&#xA;Zusätzlich ließ sich der Zustand mit folgenden Befehlen kontrollieren:&#xA;&#xA;mokutil --sb-state&#xA;lsmod | grep nvidia&#xA;nvidia-smi&#xA;&#xA;Secure Boot war weiterhin aktiv:&#xA;&#xA;SecureBoot enabled&#xA;&#xA;Gleichzeitig waren nun die NVIDIA-Module geladen, unter anderem:&#xA;&#xA;nvidia&#xA;nvidiamodeset&#xA;nvidiadrm&#xA;nvidiauvm&#xA;&#xA;Auch nvidia-smi erkannte die GeForce GTX 1650 wieder korrekt und zeigte den NVIDIA-Treiber als aktiv an.&#xA;&#xA;Damit war der Fehler behoben.&#xA;&#xA;Was hier tatsächlich passiert war&#xA;&#xA;Der Ablauf ließ sich in diesem Fall eindeutig nachvollziehen:&#xA;&#xA;Die NVIDIA-Grafikkarte wurde vom System erkannt.&#xA;Der NVIDIA-Kerneltreiber war installiert.&#xA;Das Kernelmodul war signiert.&#xA;Secure Boot war aktiviert.&#xA;Der verwendete Signaturschlüssel war nicht als vertrauenswürdig registriert.&#xA;Der Kernel verweigerte deshalb das Laden des NVIDIA-Moduls.&#xA;Linux fiel auf Software-Rendering zurück.&#xA;Dadurch stand auch die normale NVIDIA-Ausgabe für die angeschlossenen Monitore nicht zur Verfügung.&#xA;Nach Registrierung des MOK-Schlüssels konnte das Modul geladen werden.&#xA;10. Beide Bildschirme funktionierten wieder.&#xA;&#xA;Diagnose in Kurzform&#xA;&#xA;Wenn Linux Mint mit NVIDIA-Grafik plötzlich nur noch einen Monitor erkennt, kann folgende Reihenfolge sinnvoll sein:&#xA;&#xA;mokutil --sb-state&#xA;&#xA;xrandr&#xA;inxi -Gxx&#xA;lspci | grep -Ei &#39;vga|3d|display&#39;&#xA;&#xA;ubuntu-drivers devices&#xA;dpkg -l | grep -Ei &#39;nvidia|linux-modules-nvidia&#39;&#xA;lsmod | grep -Ei &#39;nvidia|nouveau&#39;&#xA;&#xA;modinfo nvidia 2  /dev/null | grep -Ei &#39;filename|version|signer|sigid&#39;&#xA;&#xA;journalctl -k -b | grep -Ei &#39;nvidia|secure boot|mok|module verification|lockdown|key&#39;&#xA;&#xA;Besonders aussagekräftig ist eine Kombination aus:&#xA;&#xA;driver: N/A&#xA;&#xA;oder Software-Rendering über:&#xA;&#xA;llvmpipe&#xA;&#xA;und Kernel-Meldungen wie:&#xA;&#xA;Loading of module with unavailable key is rejected&#xA;&#xA;Erst damit ist tatsächlich belegt, dass nicht nur ein allgemeines NVIDIA-Problem vorliegt, sondern die Vertrauenskette von Secure Boot das Laden des Moduls verhindert.&#xA;&#xA;Fazit&#xA;&#xA;In diesem Fall war das Abschalten von Secure Boot nicht nötig.&#xA;&#xA;Die bessere Lösung bestand darin, den bereits signierten NVIDIA-Kerneltreiber über einen registrierten Machine Owner Key für Secure Boot vertrauenswürdig zu machen.&#xA;&#xA;Der Vorteil: Der NVIDIA-Treiber funktioniert wieder, beide Monitore stehen zur Verfügung und Secure Boot kann aktiviert bleiben.&#xA;&#xA;Für „Patches &amp; Notes“ eignet sich das aus meiner Sicht gut als klassischer Fehlerbild → Diagnose → belegte Ursache → Reparatur → Verifikation-Artikel. Ich habe dabei bewusst die konkreten lokalen Hostnamen und den ausgegebenen lokalen Systempfad des MOK-Schlüssels weggelassen.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<pre><code class="language-markdown"># Linux Mint: Zweiter Monitor verschwunden – NVIDIA-Treiber durch Secure Boot blockiert

Nach einem Start von Linux Mint funktionierte plötzlich nur noch einer von zwei Bildschirmen. Die Grafikkarte wurde grundsätzlich erkannt, der NVIDIA-Treiber aber offenbar nicht korrekt geladen.

Da parallel Windows 11 installiert war und UEFI Secure Boot aktiviert war, lag der Verdacht nahe, dass Secure Boot eine Rolle spielen könnte. Statt Secure Boot sofort im UEFI abzuschalten, ließ sich die Ursache zunächst unter Linux genauer prüfen.

## Das Problem

Das auffälligste Symptom:

- nur ein Bildschirm wurde erkannt,
- die NVIDIA-Grafikkarte war vorhanden,
- die eigentliche Grafikbeschleunigung funktionierte aber nicht.

Ein erster Check mit:

```bash
xrandr
inxi -Gxx
lspci | grep -Ei &#39;vga|3d|display&#39;
</code></pre>

<p>zeigte im konkreten Fall eine NVIDIA GeForce GTX 1650.</p>

<p>Entscheidend waren aber mehrere andere Hinweise aus <code>inxi</code>:</p>

<pre><code class="language-text">driver: N/A
gpu: N/A
</code></pre>

<p>Außerdem wurde als OpenGL-Renderer nur Software-Rendering verwendet:</p>

<pre><code class="language-text">renderer: llvmpipe
</code></pre>

<p><code>xrandr</code> erkannte ebenfalls nur einen einzigen Ausgang.</p>

<p>Damit war bereits klar: Die Grafikkarte selbst wurde vom System gesehen, aber der NVIDIA-Treiber arbeitete nicht korrekt.</p>

<h2 id="ist-secure-boot-wirklich-die-ursache">Ist Secure Boot wirklich die Ursache?</h2>

<p>Zunächst ließ sich prüfen, ob Secure Boot überhaupt aktiv war:</p>

<pre><code class="language-bash">mokutil --sb-state
</code></pre>

<p>Die Ausgabe:</p>

<pre><code class="language-text">SecureBoot enabled
</code></pre>

<p>belegt zunächst nur, dass Secure Boot eingeschaltet ist. Sie beweist noch nicht, dass Secure Boot auch den NVIDIA-Treiber blockiert.</p>

<p>Deshalb folgten weitere Prüfungen:</p>

<pre><code class="language-bash">ubuntu-drivers devices

dpkg -l | grep -Ei &#39;nvidia|linux-modules-nvidia&#39;

lsmod | grep -Ei &#39;nvidia|nouveau&#39;

modinfo nvidia 2&gt;/dev/null | grep -Ei &#39;filename|version|signer|sig_id&#39;

journalctl -k -b | grep -Ei &#39;nvidia|secure boot|mok|module verification|lockdown|key&#39;
</code></pre>

<h2 id="der-entscheidende-befund">Der entscheidende Befund</h2>

<p>Die NVIDIA-Pakete waren installiert. Im konkreten Fall war unter anderem der offene NVIDIA-Kerneltreiber der 580er-Reihe vorhanden.</p>

<p><code>modinfo</code> zeigte außerdem, dass das NVIDIA-Modul signiert war:</p>

<pre><code class="language-text">sig_id: PKCS#7
signer: localhost.localdomain Secure Boot Module Signature key
</code></pre>

<p>Im Kernel-Log erschienen gleichzeitig Meldungen wie:</p>

<pre><code class="language-text">secureboot: Secure boot enabled
</code></pre>

<p>und:</p>

<pre><code class="language-text">Kernel is locked down from EFI Secure Boot mode
</code></pre>

<p>Vor allem aber:</p>

<pre><code class="language-text">Loading of module with unavailable key is rejected
</code></pre>

<p>Damit war die Ursache nicht mehr nur eine Vermutung.</p>

<p>Der NVIDIA-Kerneltreiber war vorhanden und signiert, aber der dafür verwendete Schlüssel wurde von Secure Boot nicht als vertrauenswürdig akzeptiert. Das Modul wurde deshalb nicht geladen.</p>

<h2 id="lösung-mok-schlüssel-eintragen-statt-secure-boot-abschalten">Lösung: MOK-Schlüssel eintragen statt Secure Boot abschalten</h2>

<p>Secure Boot musste in diesem Fall nicht deaktiviert werden.</p>

<p>Stattdessen wurde der bereits vorbereitete Machine Owner Key, kurz MOK, zur Registrierung vorgemerkt:</p>

<pre><code class="language-bash">sudo update-secureboot-policy --enroll-key
</code></pre>

<p>Darauf erschien ein textbasierter Dialog mit dem Hinweis, dass für die Verwendung von Drittanbieter-Treibern unter Secure Boot ein Machine Owner Key registriert werden müsse.</p>

<p>In diesem Dialog wurde ein Passwort vergeben.</p>

<p>Falls sich ein solcher Dialog nicht mit der Maus bedienen lässt, funktionieren typischerweise:</p>
<ul><li><code>Tab</code>, um zwischen Schaltflächen zu wechseln,</li>
<li>Pfeiltasten zur Navigation,</li>
<li><code>Enter</code> oder gegebenenfalls die Leertaste zur Bestätigung.</li></ul>

<p>Danach wurde das System neu gestartet.</p>

<h2 id="mok-beim-neustart-bestätigen">MOK beim Neustart bestätigen</h2>

<p>Beim nächsten Start erschien der MOK-Manager.</p>

<p>Dort wurde der vorbereitete Schlüssel über den Menüpunkt</p>

<pre><code class="language-text">Enroll MOK
</code></pre>

<p>registriert und mit dem zuvor vergebenen Passwort bestätigt.</p>

<p>Secure Boot selbst blieb dabei aktiviert.</p>

<p>Anschließend startete Linux Mint wieder normal.</p>

<h2 id="ergebnis-prüfen">Ergebnis prüfen</h2>

<p>Direkt nach dem Neustart funktionierten beide Monitore wieder.</p>

<p>Zusätzlich ließ sich der Zustand mit folgenden Befehlen kontrollieren:</p>

<pre><code class="language-bash">mokutil --sb-state
lsmod | grep nvidia
nvidia-smi
</code></pre>

<p>Secure Boot war weiterhin aktiv:</p>

<pre><code class="language-text">SecureBoot enabled
</code></pre>

<p>Gleichzeitig waren nun die NVIDIA-Module geladen, unter anderem:</p>

<pre><code class="language-text">nvidia
nvidia_modeset
nvidia_drm
nvidia_uvm
</code></pre>

<p>Auch <code>nvidia-smi</code> erkannte die GeForce GTX 1650 wieder korrekt und zeigte den NVIDIA-Treiber als aktiv an.</p>

<p>Damit war der Fehler behoben.</p>

<h2 id="was-hier-tatsächlich-passiert-war">Was hier tatsächlich passiert war</h2>

<p>Der Ablauf ließ sich in diesem Fall eindeutig nachvollziehen:</p>
<ol><li>Die NVIDIA-Grafikkarte wurde vom System erkannt.</li>
<li>Der NVIDIA-Kerneltreiber war installiert.</li>
<li>Das Kernelmodul war signiert.</li>
<li>Secure Boot war aktiviert.</li>
<li>Der verwendete Signaturschlüssel war nicht als vertrauenswürdig registriert.</li>
<li>Der Kernel verweigerte deshalb das Laden des NVIDIA-Moduls.</li>
<li>Linux fiel auf Software-Rendering zurück.</li>
<li>Dadurch stand auch die normale NVIDIA-Ausgabe für die angeschlossenen Monitore nicht zur Verfügung.</li>
<li>Nach Registrierung des MOK-Schlüssels konnte das Modul geladen werden.</li>
<li>Beide Bildschirme funktionierten wieder.</li></ol>

<h2 id="diagnose-in-kurzform">Diagnose in Kurzform</h2>

<p>Wenn Linux Mint mit NVIDIA-Grafik plötzlich nur noch einen Monitor erkennt, kann folgende Reihenfolge sinnvoll sein:</p>

<pre><code class="language-bash">mokutil --sb-state
</code></pre>

<pre><code class="language-bash">xrandr
inxi -Gxx
lspci | grep -Ei &#39;vga|3d|display&#39;
</code></pre>

<pre><code class="language-bash">ubuntu-drivers devices
dpkg -l | grep -Ei &#39;nvidia|linux-modules-nvidia&#39;
lsmod | grep -Ei &#39;nvidia|nouveau&#39;
</code></pre>

<pre><code class="language-bash">modinfo nvidia 2&gt;/dev/null | grep -Ei &#39;filename|version|signer|sig_id&#39;
</code></pre>

<pre><code class="language-bash">journalctl -k -b | grep -Ei &#39;nvidia|secure boot|mok|module verification|lockdown|key&#39;
</code></pre>

<p>Besonders aussagekräftig ist eine Kombination aus:</p>

<pre><code class="language-text">driver: N/A
</code></pre>

<p>oder Software-Rendering über:</p>

<pre><code class="language-text">llvmpipe
</code></pre>

<p>und Kernel-Meldungen wie:</p>

<pre><code class="language-text">Loading of module with unavailable key is rejected
</code></pre>

<p>Erst damit ist tatsächlich belegt, dass nicht nur ein allgemeines NVIDIA-Problem vorliegt, sondern die Vertrauenskette von Secure Boot das Laden des Moduls verhindert.</p>

<h2 id="fazit">Fazit</h2>

<p>In diesem Fall war das Abschalten von Secure Boot nicht nötig.</p>

<p>Die bessere Lösung bestand darin, den bereits signierten NVIDIA-Kerneltreiber über einen registrierten Machine Owner Key für Secure Boot vertrauenswürdig zu machen.</p>

<p>Der Vorteil: Der NVIDIA-Treiber funktioniert wieder, beide Monitore stehen zur Verfügung und Secure Boot kann aktiviert bleiben.</p>

<pre><code>
Für „Patches &amp; Notes“ eignet sich das aus meiner Sicht gut als klassischer **Fehlerbild → Diagnose → belegte Ursache → Reparatur → Verifikation**-Artikel. Ich habe dabei bewusst die konkreten lokalen Hostnamen und den ausgegebenen lokalen Systempfad des MOK-Schlüssels weggelassen.
</code></pre>
]]></content:encoded>
      <guid>https://write.medienzentrum.rocks/linuxatmertengiesen/linux-mint-zweiter-monitor-verschwunden-nvidia-treiber-durch-secure-boot</guid>
      <pubDate>Wed, 16 Sep 2026 13:27:16 +0000</pubDate>
    </item>
    <item>
      <title>rsync Exit-Code 23 bei defekter Festplatte: Welche Dateien wurden wirklich kopiert?</title>
      <link>https://write.medienzentrum.rocks/linuxatmertengiesen/rsync-exit-code-23-bei-defekter-festplatte-welche-dateien-wurden-wirklich</link>
      <description>&lt;![CDATA[Beim Kopieren einer alten Festplatte mit rsync endete ein größerer Sicherungslauf mit:&#xA;&#xA;rsync error: some files/attrs were not transferred&#xA;(code 23)&#xA;&#xA;Gleichzeitig waren aber bereits hunderte Gigabyte erfolgreich am Ziel angekommen.&#xA;&#xA;Die wichtige Frage war deshalb nicht:&#xA;&#xA;  Ist rsync fehlgeschlagen?&#xA;&#xA;Sondern:&#xA;&#xA;  Welche Dateien fehlen tatsächlich?&#xA;&#xA;Ausgangslage&#xA;&#xA;Eine ältere NTFS-Festplatte sollte auf einen neuen Datenträger kopiert werden.&#xA;&#xA;Verwendet wurde sinngemäß:&#xA;&#xA;rsync -rlt --partial --info=progress2 \&#xA;&#34;/media/user/ALTEPLATTE/Backup&#34; \&#xA;&#34;/mnt/NEUEPLATTE/&#34;&#xA;&#xA;Der Kopiervorgang lief lange normal.&#xA;&#xA;Dann tauchten Meldungen wie diese auf:&#xA;&#xA;read errors mapping &#34;...&#34;: Input/output error (5)&#xA;&#xA;und schließlich:&#xA;&#xA;rsync error: some files/attrs were not transferred&#xA;(code 23)&#xA;&#xA;---&#xA;&#xA;Exit-Code 23 bedeutet nicht: nichts wurde kopiert&#xA;&#xA;Bei einem großen Verzeichnisbaum kann rsync tausende Dateien erfolgreich übertragen und trotzdem am Ende mit Code 23 zurückkehren.&#xA;&#xA;Im konkreten Fall wurden mehrere hundert Gigabyte übertragen.&#xA;&#xA;Nur einzelne Dateien konnten wegen Lesefehlern der Quellfestplatte nicht erfolgreich kopiert werden.&#xA;&#xA;Deshalb wäre es falsch gewesen, den kompletten Kopiervorgang als unbrauchbar anzusehen.&#xA;&#xA;---&#xA;&#xA;Entscheidend: endgültige Fehlermeldungen&#xA;&#xA;Während des Laufs gab es vereinzelt Lesefehler bei Dateien, die später trotzdem übertragen werden konnten.&#xA;&#xA;Besonders relevant waren dagegen Meldungen wie:&#xA;&#xA;failed verification -- update discarded&#xA;&#xA;Hier hatte rsync die Zieldatei nicht als erfolgreich übertragen akzeptiert.&#xA;&#xA;Diese Dateien mussten später separat behandelt werden.&#xA;&#xA;---&#xA;&#xA;Warum rsync dafür praktisch ist&#xA;&#xA;Ein großer Vorteil von rsync ist, dass ein Kopiervorgang erneut gestartet werden kann.&#xA;&#xA;Bereits vorhandene Dateien müssen dabei nicht zwangsläufig komplett noch einmal übertragen werden.&#xA;&#xA;Das ist gerade bei einer angeschlagenen Festplatte hilfreich:&#xA;&#xA;Man möchte möglichst vermeiden, bereits erfolgreich gelesene Daten immer wieder unnötig von der problematischen Platte anzufordern.&#xA;&#xA;---&#xA;&#xA;--partial bei großen Dateien&#xA;&#xA;Verwendet wurde außerdem:&#xA;&#xA;--partial&#xA;&#xA;Dadurch können teilweise übertragene Dateien erhalten bleiben.&#xA;&#xA;Das kann insbesondere bei großen Dateien sinnvoll sein.&#xA;&#xA;Der verwendete Befehl sah beispielsweise so aus:&#xA;&#xA;rsync -rlt --partial --info=progress2 \&#xA;&#34;/media/user/ALTEPLATTE/Verzeichnis&#34; \&#xA;&#34;/mnt/NEUEPLATTE/Ziel/&#34;&#xA;&#xA;---&#xA;&#xA;Nicht sofort das Dateisystem reparieren&#xA;&#xA;Die auftretenden Fehler waren:&#xA;&#xA;Input/output error (5)&#xA;&#xA;Deshalb wurde zunächst nicht versucht, die alte NTFS-Platte zu reparieren.&#xA;&#xA;Stattdessen wurde ihr SMART-Zustand untersucht:&#xA;&#xA;sudo smartctl -a /dev/sdX&#xA;&#xA;Dort zeigten sich zahlreiche:&#xA;&#xA;ReallocatedSectorCt&#xA;CurrentPendingSector&#xA;Offline_Uncorrectable&#xA;&#xA;Damit war klar:&#xA;&#xA;Die Ursache war nicht nur ein harmloser Kopierfehler, sondern die Platte selbst war physisch problematisch.&#xA;&#xA;---&#xA;&#xA;Erst alles Lesbare kopieren&#xA;&#xA;Der weitere Ablauf war:&#xA;&#xA;rsync kopiert alles noch Lesbare&#xA;        ↓&#xA;Liste der tatsächlich fehlgeschlagenen Dateien&#xA;        ↓&#xA;keine erneute Komplettkopie&#xA;        ↓&#xA;nur Problemdateien separat retten&#xA;&#xA;Für die problematischen Einzeldateien wurde anschließend GNU ddrescue verwendet.&#xA;&#xA;Beispiel:&#xA;&#xA;ddrescue -n quelle ziel ziel.ddrescue.map&#xA;ddrescue -r3 quelle ziel ziel.ddrescue.map&#xA;&#xA;Damit konnten mehrere Dateien gerettet werden, die rsync zuvor nicht mehr erfolgreich übertragen konnte.&#xA;&#xA;---&#xA;&#xA;Warum das sinnvoller war als ein Komplett-Image&#xA;&#xA;Im konkreten Fall war der weit überwiegende Teil der Platte noch lesbar.&#xA;&#xA;Deshalb wurde zuerst mit rsync kopiert und ddrescue anschließend nur für die wenigen Problemdateien eingesetzt.&#xA;&#xA;Das vermied einen vollständigen zusätzlichen Lesedurchlauf über die bereits angeschlagene Festplatte.&#xA;&#xA;Für einen anderen Schadensfall kann ein vollständiges sektorweises Abbild sinnvoll sein.&#xA;&#xA;Hier war es aber nicht notwendig, weil die relevanten Daten weitgehend noch dateibasiert lesbar waren.&#xA;&#xA;---&#xA;&#xA;Praktischer Ablauf&#xA;&#xA;Bei einem ähnlichen Fall würde ich anhand dieser Erfahrung so vorgehen:&#xA;&#xA;Daten mit rsync kopieren&#xA;Fehlerausgabe sichern&#xA;nicht aufgrund von Code 23 alles verwerfen&#xA;endgültig fehlgeschlagene Dateien identifizieren&#xA;SMART prüfen&#xA;bei Hardwarefehlern keine unnötigen Komplettläufe mehr&#xA;Problemdateien gezielt mit ddrescue bearbeiten&#xA;&#xA;---&#xA;&#xA;Fazit&#xA;&#xA;rsync Exit-Code 23 bedeutet:&#xA;&#xA;Nicht alles konnte übertragen werden.&#xA;&#xA;Er bedeutet aber nicht:&#xA;&#xA;Die komplette Sicherung ist unbrauchbar.&#xA;&#xA;Gerade bei einer sterbenden Festplatte kann rsync noch einen sehr großen Teil der Daten erfolgreich sichern.&#xA;&#xA;Die sinnvollere Strategie war in diesem Fall:&#xA;&#xA;erst alles noch Lesbare normal kopieren und anschließend nur die tatsächlich fehlgeschlagenen Dateien gezielt retten.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Beim Kopieren einer alten Festplatte mit <code>rsync</code> endete ein größerer Sicherungslauf mit:</p>

<pre><code class="language-text">rsync error: some files/attrs were not transferred
(code 23)
</code></pre>

<p>Gleichzeitig waren aber bereits hunderte Gigabyte erfolgreich am Ziel angekommen.</p>

<p>Die wichtige Frage war deshalb nicht:</p>

<blockquote><p>Ist <code>rsync</code> fehlgeschlagen?</p></blockquote>

<p>Sondern:</p>

<blockquote><p>Welche Dateien fehlen tatsächlich?</p></blockquote>

<h2 id="ausgangslage">Ausgangslage</h2>

<p>Eine ältere NTFS-Festplatte sollte auf einen neuen Datenträger kopiert werden.</p>

<p>Verwendet wurde sinngemäß:</p>

<pre><code class="language-bash">rsync -rlt --partial --info=progress2 \
&#34;/media/user/ALTE_PLATTE/Backup&#34; \
&#34;/mnt/NEUE_PLATTE/&#34;
</code></pre>

<p>Der Kopiervorgang lief lange normal.</p>

<p>Dann tauchten Meldungen wie diese auf:</p>

<pre><code class="language-text">read errors mapping &#34;...&#34;: Input/output error (5)
</code></pre>

<p>und schließlich:</p>

<pre><code class="language-text">rsync error: some files/attrs were not transferred
(code 23)
</code></pre>

<hr>

<h1 id="exit-code-23-bedeutet-nicht-nichts-wurde-kopiert">Exit-Code 23 bedeutet nicht: nichts wurde kopiert</h1>

<p>Bei einem großen Verzeichnisbaum kann <code>rsync</code> tausende Dateien erfolgreich übertragen und trotzdem am Ende mit Code 23 zurückkehren.</p>

<p>Im konkreten Fall wurden mehrere hundert Gigabyte übertragen.</p>

<p>Nur einzelne Dateien konnten wegen Lesefehlern der Quellfestplatte nicht erfolgreich kopiert werden.</p>

<p>Deshalb wäre es falsch gewesen, den kompletten Kopiervorgang als unbrauchbar anzusehen.</p>

<hr>

<h1 id="entscheidend-endgültige-fehlermeldungen">Entscheidend: endgültige Fehlermeldungen</h1>

<p>Während des Laufs gab es vereinzelt Lesefehler bei Dateien, die später trotzdem übertragen werden konnten.</p>

<p>Besonders relevant waren dagegen Meldungen wie:</p>

<pre><code class="language-text">failed verification -- update discarded
</code></pre>

<p>Hier hatte <code>rsync</code> die Zieldatei nicht als erfolgreich übertragen akzeptiert.</p>

<p>Diese Dateien mussten später separat behandelt werden.</p>

<hr>

<h1 id="warum-rsync-dafür-praktisch-ist">Warum rsync dafür praktisch ist</h1>

<p>Ein großer Vorteil von <code>rsync</code> ist, dass ein Kopiervorgang erneut gestartet werden kann.</p>

<p>Bereits vorhandene Dateien müssen dabei nicht zwangsläufig komplett noch einmal übertragen werden.</p>

<p>Das ist gerade bei einer angeschlagenen Festplatte hilfreich:</p>

<p>Man möchte möglichst vermeiden, bereits erfolgreich gelesene Daten immer wieder unnötig von der problematischen Platte anzufordern.</p>

<hr>

<h1 id="partial-bei-großen-dateien">—partial bei großen Dateien</h1>

<p>Verwendet wurde außerdem:</p>

<pre><code class="language-text">--partial
</code></pre>

<p>Dadurch können teilweise übertragene Dateien erhalten bleiben.</p>

<p>Das kann insbesondere bei großen Dateien sinnvoll sein.</p>

<p>Der verwendete Befehl sah beispielsweise so aus:</p>

<pre><code class="language-bash">rsync -rlt --partial --info=progress2 \
&#34;/media/user/ALTE_PLATTE/Verzeichnis&#34; \
&#34;/mnt/NEUE_PLATTE/Ziel/&#34;
</code></pre>

<hr>

<h1 id="nicht-sofort-das-dateisystem-reparieren">Nicht sofort das Dateisystem reparieren</h1>

<p>Die auftretenden Fehler waren:</p>

<pre><code class="language-text">Input/output error (5)
</code></pre>

<p>Deshalb wurde zunächst nicht versucht, die alte NTFS-Platte zu reparieren.</p>

<p>Stattdessen wurde ihr SMART-Zustand untersucht:</p>

<pre><code class="language-bash">sudo smartctl -a /dev/sdX
</code></pre>

<p>Dort zeigten sich zahlreiche:</p>

<pre><code class="language-text">Reallocated_Sector_Ct
Current_Pending_Sector
Offline_Uncorrectable
</code></pre>

<p>Damit war klar:</p>

<p>Die Ursache war nicht nur ein harmloser Kopierfehler, sondern die Platte selbst war physisch problematisch.</p>

<hr>

<h1 id="erst-alles-lesbare-kopieren">Erst alles Lesbare kopieren</h1>

<p>Der weitere Ablauf war:</p>

<pre><code class="language-text">rsync kopiert alles noch Lesbare
        ↓
Liste der tatsächlich fehlgeschlagenen Dateien
        ↓
keine erneute Komplettkopie
        ↓
nur Problemdateien separat retten
</code></pre>

<p>Für die problematischen Einzeldateien wurde anschließend GNU <code>ddrescue</code> verwendet.</p>

<p>Beispiel:</p>

<pre><code class="language-bash">ddrescue -n quelle ziel ziel.ddrescue.map
ddrescue -r3 quelle ziel ziel.ddrescue.map
</code></pre>

<p>Damit konnten mehrere Dateien gerettet werden, die <code>rsync</code> zuvor nicht mehr erfolgreich übertragen konnte.</p>

<hr>

<h1 id="warum-das-sinnvoller-war-als-ein-komplett-image">Warum das sinnvoller war als ein Komplett-Image</h1>

<p>Im konkreten Fall war der weit überwiegende Teil der Platte noch lesbar.</p>

<p>Deshalb wurde zuerst mit <code>rsync</code> kopiert und <code>ddrescue</code> anschließend nur für die wenigen Problemdateien eingesetzt.</p>

<p>Das vermied einen vollständigen zusätzlichen Lesedurchlauf über die bereits angeschlagene Festplatte.</p>

<p>Für einen anderen Schadensfall kann ein vollständiges sektorweises Abbild sinnvoll sein.</p>

<p>Hier war es aber nicht notwendig, weil die relevanten Daten weitgehend noch dateibasiert lesbar waren.</p>

<hr>

<h1 id="praktischer-ablauf">Praktischer Ablauf</h1>

<p>Bei einem ähnlichen Fall würde ich anhand dieser Erfahrung so vorgehen:</p>

<pre><code class="language-text">1. Daten mit rsync kopieren
2. Fehlerausgabe sichern
3. nicht aufgrund von Code 23 alles verwerfen
4. endgültig fehlgeschlagene Dateien identifizieren
5. SMART prüfen
6. bei Hardwarefehlern keine unnötigen Komplettläufe mehr
7. Problemdateien gezielt mit ddrescue bearbeiten
</code></pre>

<hr>

<h1 id="fazit">Fazit</h1>

<p><code>rsync</code> Exit-Code 23 bedeutet:</p>

<pre><code class="language-text">Nicht alles konnte übertragen werden.
</code></pre>

<p>Er bedeutet aber nicht:</p>

<pre><code class="language-text">Die komplette Sicherung ist unbrauchbar.
</code></pre>

<p>Gerade bei einer sterbenden Festplatte kann <code>rsync</code> noch einen sehr großen Teil der Daten erfolgreich sichern.</p>

<p>Die sinnvollere Strategie war in diesem Fall:</p>

<p><strong>erst alles noch Lesbare normal kopieren und anschließend nur die tatsächlich fehlgeschlagenen Dateien gezielt retten.</strong></p>
]]></content:encoded>
      <guid>https://write.medienzentrum.rocks/linuxatmertengiesen/rsync-exit-code-23-bei-defekter-festplatte-welche-dateien-wurden-wirklich</guid>
      <pubDate>Wed, 16 Sep 2026 13:22:45 +0000</pubDate>
    </item>
    <item>
      <title>ext4-Datenplatte unter Linux Mint dauerhaft per UUID einbinden</title>
      <link>https://write.medienzentrum.rocks/linuxatmertengiesen/ext4-datenplatte-unter-linux-mint-dauerhaft-per-uuid-einbinden</link>
      <description>&lt;![CDATA[Eine zusätzliche SSD ist unter Linux schnell formatiert. Damit sie aber nach jedem Neustart zuverlässig am gleichen Ort verfügbar ist und auch im Dateimanager auftaucht, lohnt sich ein sauberer Eintrag in /etc/fstab.&#xA;&#xA;In meinem Fall sollte eine zuvor anderweitig verwendete SSD dauerhaft als Linux-Datenplatte eingebunden werden.&#xA;&#xA;Das Ergebnis:&#xA;&#xA;ext4&#xA;fester Mountpoint&#xA;Einbindung über UUID&#xA;kein Bootabbruch bei fehlender Platte&#xA;Anzeige im Dateimanager&#xA;&#xA;Ausgangslage&#xA;&#xA;Die SSD war bereits als ext4 formatiert und hatte ein eigenes Label erhalten.&#xA;&#xA;Mit&#xA;&#xA;lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS&#xA;&#xA;ließen sich Dateisystem, Label und UUID anzeigen.&#xA;&#xA;Beispielsweise:&#xA;&#xA;sdb1&#xA;ext4&#xA;DatenSSD&#xA;12f74ace-32c3-4947-8da2-e98697034c0a&#xA;&#xA;Die UUID ist dabei wichtiger als der Gerätename.&#xA;&#xA;---&#xA;&#xA;Warum nicht einfach /dev/sdb1 verwenden?&#xA;&#xA;Gerätenamen wie&#xA;&#xA;/dev/sda1&#xA;/dev/sdb1&#xA;/dev/sdc1&#xA;&#xA;können sich ändern.&#xA;&#xA;Welche Platte beim Start welchen Buchstaben erhält, sollte deshalb nicht die Grundlage für einen dauerhaften Mount sein.&#xA;&#xA;Eine UUID identifiziert dagegen das Dateisystem selbst.&#xA;&#xA;Deshalb wurde die Platte in /etc/fstab über ihre UUID eingetragen.&#xA;&#xA;---&#xA;&#xA;1. Mountpoint anlegen&#xA;&#xA;Die Datenplatte sollte dauerhaft unter einem Verzeichnis innerhalb von /mnt erreichbar sein.&#xA;&#xA;Beispiel:&#xA;&#xA;sudo mkdir -p /mnt/daten&#xA;&#xA;Der Name ist frei wählbar.&#xA;&#xA;---&#xA;&#xA;2. UUID ermitteln&#xA;&#xA;Die benötigte UUID lässt sich beispielsweise mit lsblk anzeigen:&#xA;&#xA;lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINTS&#xA;&#xA;Entscheidend ist die UUID der gewünschten ext4-Partition.&#xA;&#xA;---&#xA;&#xA;3. /etc/fstab ergänzen&#xA;&#xA;Der verwendete Eintrag hatte folgendes Schema:&#xA;&#xA;UUID=12f74ace-32c3-4947-8da2-e98697034c0a /mnt/daten ext4 defaults,nofail,x-gvfs-show 0 2&#xA;&#xA;Natürlich muss die UUID durch die UUID des eigenen Dateisystems ersetzt werden.&#xA;&#xA;Die Felder bedeuten:&#xA;&#xA;UUID=...&#xA;&#xA;Das einzubindende Dateisystem.&#xA;&#xA;/mnt/daten&#xA;&#xA;Der gewünschte Mountpoint.&#xA;&#xA;ext4&#xA;&#xA;Das verwendete Dateisystem.&#xA;&#xA;defaults&#xA;&#xA;Normale Standard-Mountoptionen.&#xA;&#xA;nofail&#xA;&#xA;Der Rechner soll weiterhin booten können, wenn die Platte einmal nicht verfügbar ist.&#xA;&#xA;x-gvfs-show&#xA;&#xA;Das Laufwerk soll von GVfs-basierten Desktop-Dateimanagern angezeigt werden.&#xA;&#xA;0 2&#xA;&#xA;Die üblichen Werte für Dump und Dateisystemprüfung eines zusätzlichen ext4-Datenträgers.&#xA;&#xA;---&#xA;&#xA;4. systemd über die Änderung informieren&#xA;&#xA;Nach einer Änderung an /etc/fstab wurde ausgeführt:&#xA;&#xA;sudo systemctl daemon-reload&#xA;&#xA;Damit werden die aus /etc/fstab generierten Mount-Units neu eingelesen.&#xA;&#xA;---&#xA;&#xA;5. Mount testen&#xA;&#xA;Nach der Einrichtung sollte kontrolliert werden, ob die Partition tatsächlich am vorgesehenen Ort hängt.&#xA;&#xA;Zum Beispiel:&#xA;&#xA;findmnt /mnt/daten&#xA;&#xA;oder:&#xA;&#xA;lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS&#xA;&#xA;Der gewünschte Mountpoint sollte jetzt bei der Partition erscheinen.&#xA;&#xA;---&#xA;&#xA;Warum nofail sinnvoll ist&#xA;&#xA;Ohne nofail kann eine in /etc/fstab eingetragene, aber nicht verfügbare Datenplatte den Bootvorgang unnötig verzögern oder Probleme verursachen.&#xA;&#xA;Bei einer zusätzlichen Datenplatte bestand dafür kein Grund.&#xA;&#xA;Deshalb:&#xA;&#xA;nofail&#xA;&#xA;Das Root-Dateisystem gehört natürlich in eine andere Kategorie.&#xA;&#xA;---&#xA;&#xA;Warum x-gvfs-show?&#xA;&#xA;Ein Mount unter&#xA;&#xA;/mnt/daten&#xA;&#xA;ist technisch auch ohne x-gvfs-show verfügbar.&#xA;&#xA;Für einen Desktop-Rechner ist es aber praktisch, wenn das Laufwerk zusätzlich im Dateimanager erscheint.&#xA;&#xA;Dafür wurde verwendet:&#xA;&#xA;x-gvfs-show&#xA;&#xA;---&#xA;&#xA;lost+found ist normal&#xA;&#xA;Nach der Einrichtung einer ext4-Partition erschien im Wurzelverzeichnis:&#xA;&#xA;lost+found&#xA;&#xA;Das ist kein Überbleibsel alter Dateien und kein Fehler.&#xA;&#xA;lost+found gehört zu ext-Dateisystemen und kann von Dateisystemprüfungen verwendet werden, um gefundene, aber nicht mehr korrekt zuordenbare Dateisystemobjekte abzulegen.&#xA;&#xA;Der Ordner sollte einfach bleiben.&#xA;&#xA;---&#xA;&#xA;Fertiger fstab-Eintrag&#xA;&#xA;Das verwendete Muster lautet:&#xA;&#xA;UUID=DEINE-UUID /mnt/daten ext4 defaults,nofail,x-gvfs-show 0 2&#xA;&#xA;Danach:&#xA;&#xA;sudo systemctl daemon-reload&#xA;&#xA;und anschließend kontrollieren:&#xA;&#xA;findmnt /mnt/daten&#xA;&#xA;---&#xA;&#xA;Fazit&#xA;&#xA;Für eine zusätzliche interne Linux-Datenplatte hat sich diese Kombination bewährt:&#xA;&#xA;ext4&#xA;UUID statt /dev/sdX&#xA;fester Mountpoint unter /mnt&#xA;nofail&#xA;x-gvfs-show&#xA;&#xA;Damit ist die Platte nach dem Start zuverlässig am gleichen Pfad verfügbar, ohne dass ein wechselnder Gerätename wie /dev/sdb1 relevant wird.&#xA;&#xA;Und sie bleibt trotzdem komfortabel im Desktop-Dateimanager sichtbar.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Eine zusätzliche SSD ist unter Linux schnell formatiert. Damit sie aber nach jedem Neustart zuverlässig am gleichen Ort verfügbar ist und auch im Dateimanager auftaucht, lohnt sich ein sauberer Eintrag in <code>/etc/fstab</code>.</p>

<p>In meinem Fall sollte eine zuvor anderweitig verwendete SSD dauerhaft als Linux-Datenplatte eingebunden werden.</p>

<p>Das Ergebnis:</p>

<pre><code class="language-text">ext4
fester Mountpoint
Einbindung über UUID
kein Bootabbruch bei fehlender Platte
Anzeige im Dateimanager
</code></pre>

<h2 id="ausgangslage">Ausgangslage</h2>

<p>Die SSD war bereits als ext4 formatiert und hatte ein eigenes Label erhalten.</p>

<p>Mit</p>

<pre><code class="language-bash">lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS
</code></pre>

<p>ließen sich Dateisystem, Label und UUID anzeigen.</p>

<p>Beispielsweise:</p>

<pre><code class="language-text">sdb1
ext4
DatenSSD
12f74ace-32c3-4947-8da2-e98697034c0a
</code></pre>

<p>Die UUID ist dabei wichtiger als der Gerätename.</p>

<hr>

<h1 id="warum-nicht-einfach-dev-sdb1-verwenden">Warum nicht einfach /dev/sdb1 verwenden?</h1>

<p>Gerätenamen wie</p>

<pre><code class="language-text">/dev/sda1
/dev/sdb1
/dev/sdc1
</code></pre>

<p>können sich ändern.</p>

<p>Welche Platte beim Start welchen Buchstaben erhält, sollte deshalb nicht die Grundlage für einen dauerhaften Mount sein.</p>

<p>Eine UUID identifiziert dagegen das Dateisystem selbst.</p>

<p>Deshalb wurde die Platte in <code>/etc/fstab</code> über ihre UUID eingetragen.</p>

<hr>

<h1 id="1-mountpoint-anlegen">1. Mountpoint anlegen</h1>

<p>Die Datenplatte sollte dauerhaft unter einem Verzeichnis innerhalb von <code>/mnt</code> erreichbar sein.</p>

<p>Beispiel:</p>

<pre><code class="language-bash">sudo mkdir -p /mnt/daten
</code></pre>

<p>Der Name ist frei wählbar.</p>

<hr>

<h1 id="2-uuid-ermitteln">2. UUID ermitteln</h1>

<p>Die benötigte UUID lässt sich beispielsweise mit <code>lsblk</code> anzeigen:</p>

<pre><code class="language-bash">lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINTS
</code></pre>

<p>Entscheidend ist die UUID der gewünschten ext4-Partition.</p>

<hr>

<h1 id="3-etc-fstab-ergänzen">3. /etc/fstab ergänzen</h1>

<p>Der verwendete Eintrag hatte folgendes Schema:</p>

<pre><code class="language-text">UUID=12f74ace-32c3-4947-8da2-e98697034c0a /mnt/daten ext4 defaults,nofail,x-gvfs-show 0 2
</code></pre>

<p>Natürlich muss die UUID durch die UUID des eigenen Dateisystems ersetzt werden.</p>

<p>Die Felder bedeuten:</p>

<pre><code class="language-text">UUID=...
</code></pre>

<p>Das einzubindende Dateisystem.</p>

<pre><code class="language-text">/mnt/daten
</code></pre>

<p>Der gewünschte Mountpoint.</p>

<pre><code class="language-text">ext4
</code></pre>

<p>Das verwendete Dateisystem.</p>

<pre><code class="language-text">defaults
</code></pre>

<p>Normale Standard-Mountoptionen.</p>

<pre><code class="language-text">nofail
</code></pre>

<p>Der Rechner soll weiterhin booten können, wenn die Platte einmal nicht verfügbar ist.</p>

<pre><code class="language-text">x-gvfs-show
</code></pre>

<p>Das Laufwerk soll von GVfs-basierten Desktop-Dateimanagern angezeigt werden.</p>

<pre><code class="language-text">0 2
</code></pre>

<p>Die üblichen Werte für Dump und Dateisystemprüfung eines zusätzlichen ext4-Datenträgers.</p>

<hr>

<h1 id="4-systemd-über-die-änderung-informieren">4. systemd über die Änderung informieren</h1>

<p>Nach einer Änderung an <code>/etc/fstab</code> wurde ausgeführt:</p>

<pre><code class="language-bash">sudo systemctl daemon-reload
</code></pre>

<p>Damit werden die aus <code>/etc/fstab</code> generierten Mount-Units neu eingelesen.</p>

<hr>

<h1 id="5-mount-testen">5. Mount testen</h1>

<p>Nach der Einrichtung sollte kontrolliert werden, ob die Partition tatsächlich am vorgesehenen Ort hängt.</p>

<p>Zum Beispiel:</p>

<pre><code class="language-bash">findmnt /mnt/daten
</code></pre>

<p>oder:</p>

<pre><code class="language-bash">lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS
</code></pre>

<p>Der gewünschte Mountpoint sollte jetzt bei der Partition erscheinen.</p>

<hr>

<h1 id="warum-nofail-sinnvoll-ist">Warum nofail sinnvoll ist</h1>

<p>Ohne <code>nofail</code> kann eine in <code>/etc/fstab</code> eingetragene, aber nicht verfügbare Datenplatte den Bootvorgang unnötig verzögern oder Probleme verursachen.</p>

<p>Bei einer zusätzlichen Datenplatte bestand dafür kein Grund.</p>

<p>Deshalb:</p>

<pre><code class="language-text">nofail
</code></pre>

<p>Das Root-Dateisystem gehört natürlich in eine andere Kategorie.</p>

<hr>

<h1 id="warum-x-gvfs-show">Warum x-gvfs-show?</h1>

<p>Ein Mount unter</p>

<pre><code class="language-text">/mnt/daten
</code></pre>

<p>ist technisch auch ohne <code>x-gvfs-show</code> verfügbar.</p>

<p>Für einen Desktop-Rechner ist es aber praktisch, wenn das Laufwerk zusätzlich im Dateimanager erscheint.</p>

<p>Dafür wurde verwendet:</p>

<pre><code class="language-text">x-gvfs-show
</code></pre>

<hr>

<h1 id="lost-found-ist-normal">lost+found ist normal</h1>

<p>Nach der Einrichtung einer ext4-Partition erschien im Wurzelverzeichnis:</p>

<pre><code class="language-text">lost+found
</code></pre>

<p>Das ist kein Überbleibsel alter Dateien und kein Fehler.</p>

<p><code>lost+found</code> gehört zu ext-Dateisystemen und kann von Dateisystemprüfungen verwendet werden, um gefundene, aber nicht mehr korrekt zuordenbare Dateisystemobjekte abzulegen.</p>

<p>Der Ordner sollte einfach bleiben.</p>

<hr>

<h1 id="fertiger-fstab-eintrag">Fertiger fstab-Eintrag</h1>

<p>Das verwendete Muster lautet:</p>

<pre><code class="language-text">UUID=DEINE-UUID /mnt/daten ext4 defaults,nofail,x-gvfs-show 0 2
</code></pre>

<p>Danach:</p>

<pre><code class="language-bash">sudo systemctl daemon-reload
</code></pre>

<p>und anschließend kontrollieren:</p>

<pre><code class="language-bash">findmnt /mnt/daten
</code></pre>

<hr>

<h1 id="fazit">Fazit</h1>

<p>Für eine zusätzliche interne Linux-Datenplatte hat sich diese Kombination bewährt:</p>

<pre><code class="language-text">ext4
+
UUID statt /dev/sdX
+
fester Mountpoint unter /mnt
+
nofail
+
x-gvfs-show
</code></pre>

<p>Damit ist die Platte nach dem Start zuverlässig am gleichen Pfad verfügbar, ohne dass ein wechselnder Gerätename wie <code>/dev/sdb1</code> relevant wird.</p>

<p>Und sie bleibt trotzdem komfortabel im Desktop-Dateimanager sichtbar.</p>
]]></content:encoded>
      <guid>https://write.medienzentrum.rocks/linuxatmertengiesen/ext4-datenplatte-unter-linux-mint-dauerhaft-per-uuid-einbinden</guid>
      <pubDate>Wed, 16 Sep 2026 13:22:29 +0000</pubDate>
    </item>
    <item>
      <title>Alte Windows-Festplatte unter Linux sicher zur Wiederverwendung prüfen</title>
      <link>https://write.medienzentrum.rocks/linuxatmertengiesen/alte-windows-festplatte-unter-linux-sicher-zur-wiederverwendung-pruefen</link>
      <description>&lt;![CDATA[Wer von Windows auf Linux umgestiegen ist, kennt das Problem: Im Rechner steckt noch eine alte SSD oder Festplatte mit NTFS-Partitionen und vielleicht sogar einer kleinen Partition namens System-reserviert.&#xA;&#xA;Bevor man sie löscht und als Linux-Datenträger weiterverwendet, sollte man eindeutig klären:&#xA;&#xA;Bootet das aktuelle Linux wirklich von einem anderen Datenträger?&#xA;&#xA;Genau diese Prüfung war in meinem Fall notwendig, bevor eine alte Windows-SSD vollständig neu verwendet werden konnte.&#xA;&#xA;Das Problem&#xA;&#xA;Auf dem Rechner waren mehrere Laufwerke vorhanden:&#xA;&#xA;eine NVMe-SSD mit dem aktuellen Linux-System&#xA;eine weitere SSD mit Daten&#xA;eine ältere SSD mit ehemaligen Windows-Partitionen&#xA;eine zusätzliche alte NTFS-Festplatte&#xA;&#xA;Die frühere Windows-SSD enthielt unter anderem:&#xA;&#xA;System-reserviert&#xA;Datensicherung&#xA;&#xA;Die Bezeichnung System-reserviert ist ein guter Grund, nicht einfach alles zu löschen.&#xA;&#xA;Zuerst musste geklärt werden, ob diese Partition noch irgendeine Rolle für den aktuellen Bootvorgang spielte.&#xA;&#xA;---&#xA;&#xA;1. Alle Datenträger anzeigen&#xA;&#xA;Eine übersichtliche Darstellung liefert:&#xA;&#xA;lsblk -e7 -o NAME,PATH,SIZE,MODEL,FSTYPE,LABEL,PARTLABEL,UUID,MOUNTPOINTS&#xA;&#xA;Interessant sind vor allem:&#xA;&#xA;NAME&#xA;MODEL&#xA;FSTYPE&#xA;LABEL&#xA;UUID&#xA;MOUNTPOINTS&#xA;&#xA;So lässt sich zunächst unterscheiden:&#xA;&#xA;Welche Platte enthält Linux?&#xA;Welche Partition ist als / eingehängt?&#xA;Welche Platte enthält noch NTFS?&#xA;Gibt es alte Windows-Systempartitionen?&#xA;&#xA;Zusätzlich kann man die Partitionstabellen ansehen:&#xA;&#xA;sudo fdisk -l&#xA;&#xA;Bei mehreren ähnlich großen SSDs ist die Modellbezeichnung besonders hilfreich.&#xA;&#xA;---&#xA;&#xA;2. Prüfen, wo das Root-Dateisystem liegt&#xA;&#xA;Entscheidend ist zunächst die Linux-Systempartition:&#xA;&#xA;findmnt -no SOURCE,FSTYPE,TARGET /&#xA;&#xA;Eine typische Ausgabe könnte beispielsweise so aussehen:&#xA;&#xA;/dev/nvme0n1p5 ext4 /&#xA;&#xA;Damit ist klar:&#xA;&#xA;Das laufende Linux befindet sich auf dieser Partition.&#xA;&#xA;Das sagt allerdings noch nicht zwingend, wo die für den UEFI-Boot benötigte EFI-Systempartition liegt.&#xA;&#xA;---&#xA;&#xA;3. EFI-Partition prüfen&#xA;&#xA;Bei einem UEFI-System:&#xA;&#xA;findmnt /boot/efi&#xA;&#xA;Damit lässt sich feststellen, welches Gerät aktuell unter&#xA;&#xA;/boot/efi&#xA;&#xA;eingehängt ist.&#xA;&#xA;Im konkreten Fall lag auch die EFI-Partition auf derselben NVMe-SSD wie das aktuelle Linux-System.&#xA;&#xA;Damit sprach bereits sehr viel dafür, dass die alte Windows-SSD nicht mehr zum Booten benötigt wurde.&#xA;&#xA;---&#xA;&#xA;4. UEFI-Boot-Einträge kontrollieren&#xA;&#xA;Zur zusätzlichen Absicherung:&#xA;&#xA;sudo efibootmgr -v&#xA;&#xA;efibootmgr zeigt die im UEFI gespeicherten Boot-Einträge.&#xA;&#xA;Interessant sind insbesondere:&#xA;&#xA;BootCurrent&#xA;BootOrder&#xA;&#xA;und die Gerätepfade der einzelnen Boot-Einträge.&#xA;&#xA;Im untersuchten System zeigte der aktive Linux-Boot-Eintrag auf die EFI-Partition der NVMe-SSD.&#xA;&#xA;Die alte Windows-SSD tauchte dort nicht als benötigter aktueller Boot-Datenträger auf.&#xA;&#xA;---&#xA;&#xA;5. /etc/fstab kontrollieren&#xA;&#xA;Eine weitere wichtige Kontrolle:&#xA;&#xA;grep -Ev &#39;^\s#|^\s$&#39; /etc/fstab&#xA;&#xA;Damit werden Kommentare und Leerzeilen ausgeblendet.&#xA;&#xA;In meinem Fall enthielt /etc/fstab Einträge für:&#xA;&#xA;die Linux-Systempartition&#xA;die EFI-Partition&#xA;einen zusätzlichen Linux-Datenträger&#xA;&#xA;Die alte Windows-SSD war dort nicht eingebunden.&#xA;&#xA;Auch das bestätigte:&#xA;&#xA;Das laufende System war nicht auf sie angewiesen.&#xA;&#xA;---&#xA;&#xA;6. Erst danach löschen&#xA;&#xA;Die Kombination aus&#xA;&#xA;lsblk&#xA;findmnt&#xA;efibootmgr&#xA;/etc/fstab&#xA;&#xA;lieferte schließlich ein konsistentes Bild:&#xA;&#xA;Linux-System&#xA;      ↓&#xA;NVMe-SSD&#xA;&#xA;EFI-Systempartition&#xA;      ↓&#xA;dieselbe NVMe-SSD&#xA;&#xA;aktiver UEFI-Boot-Eintrag&#xA;      ↓&#xA;EFI-Partition der NVMe-SSD&#xA;&#xA;alte Windows-SSD&#xA;      ↓&#xA;weder Root noch EFI noch fstab-Abhängigkeit&#xA;&#xA;Erst danach wurde die alte Windows-Partitionierung entfernt und die SSD als Linux-Datenträger neu eingerichtet.&#xA;&#xA;---&#xA;&#xA;Warum die Prüfung wichtig ist&#xA;&#xA;Eine kleine Partition mit Namen wie&#xA;&#xA;System-reserviert&#xA;EFI System&#xA;Boot&#xA;Recovery&#xA;&#xA;sollte man nicht allein aufgrund ihres Alters löschen.&#xA;&#xA;Gerade Rechner, auf denen Windows und Linux nacheinander oder parallel installiert waren, können Boot-Dateien auf einem anderen Laufwerk enthalten als das eigentliche Betriebssystem.&#xA;&#xA;Das Betriebssystem kann also beispielsweise auf&#xA;&#xA;/dev/nvme0n1&#xA;&#xA;liegen, während der Rechner theoretisch trotzdem eine EFI-Partition auf&#xA;&#xA;/dev/sda&#xA;&#xA;verwenden könnte.&#xA;&#xA;Deshalb ist es sinnvoll, nicht nur das Root-Dateisystem zu prüfen.&#xA;&#xA;---&#xA;&#xA;Minimaler Prüfablauf&#xA;&#xA;Vor dem Löschen eines alten Systemdatenträgers würde ich mindestens diese vier Prüfungen durchführen:&#xA;&#xA;lsblk -e7 -o NAME,PATH,SIZE,MODEL,FSTYPE,LABEL,UUID,MOUNTPOINTS&#xA;&#xA;findmnt -no SOURCE,FSTYPE,TARGET /&#xA;&#xA;findmnt /boot/efi&#xA;&#xA;sudo efibootmgr -v&#xA;&#xA;Zusätzlich:&#xA;&#xA;grep -Ev &#39;^\s#|^\s$&#39; /etc/fstab&#xA;&#xA;Wenn alle Ergebnisse eindeutig auf einen anderen Datenträger zeigen, ist die Grundlage vorhanden, die alte Platte anschließend neu zu verwenden.&#xA;&#xA;---&#xA;&#xA;Fazit&#xA;&#xA;Der gefährliche Teil beim Wiederverwenden einer alten Windows-SSD ist nicht das Formatieren selbst.&#xA;&#xA;Der gefährliche Teil ist die Frage:&#xA;&#xA;  Bin ich wirklich sicher, dass mein Rechner sie nicht mehr zum Booten benötigt?&#xA;&#xA;Mit&#xA;&#xA;lsblk&#xA;findmnt&#xA;efibootmgr&#xA;fstab&#xA;&#xA;lässt sich diese Frage unter Linux relativ zuverlässig beantworten.&#xA;&#xA;Erst wenn Root-Dateisystem, EFI-Partition, UEFI-Boot-Eintrag und dauerhafte Mounts eindeutig geklärt sind, sollte eine alte Windows-Systempartition entfernt werden.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Wer von Windows auf Linux umgestiegen ist, kennt das Problem: Im Rechner steckt noch eine alte SSD oder Festplatte mit NTFS-Partitionen und vielleicht sogar einer kleinen Partition namens <code>System-reserviert</code>.</p>

<p>Bevor man sie löscht und als Linux-Datenträger weiterverwendet, sollte man eindeutig klären:</p>

<p><strong>Bootet das aktuelle Linux wirklich von einem anderen Datenträger?</strong></p>

<p>Genau diese Prüfung war in meinem Fall notwendig, bevor eine alte Windows-SSD vollständig neu verwendet werden konnte.</p>

<h2 id="das-problem">Das Problem</h2>

<p>Auf dem Rechner waren mehrere Laufwerke vorhanden:</p>
<ul><li>eine NVMe-SSD mit dem aktuellen Linux-System</li>
<li>eine weitere SSD mit Daten</li>
<li>eine ältere SSD mit ehemaligen Windows-Partitionen</li>
<li>eine zusätzliche alte NTFS-Festplatte</li></ul>

<p>Die frühere Windows-SSD enthielt unter anderem:</p>

<pre><code class="language-text">System-reserviert
Datensicherung
</code></pre>

<p>Die Bezeichnung <code>System-reserviert</code> ist ein guter Grund, nicht einfach alles zu löschen.</p>

<p>Zuerst musste geklärt werden, ob diese Partition noch irgendeine Rolle für den aktuellen Bootvorgang spielte.</p>

<hr>

<h1 id="1-alle-datenträger-anzeigen">1. Alle Datenträger anzeigen</h1>

<p>Eine übersichtliche Darstellung liefert:</p>

<pre><code class="language-bash">lsblk -e7 -o NAME,PATH,SIZE,MODEL,FSTYPE,LABEL,PARTLABEL,UUID,MOUNTPOINTS
</code></pre>

<p>Interessant sind vor allem:</p>

<pre><code class="language-text">NAME
MODEL
FSTYPE
LABEL
UUID
MOUNTPOINTS
</code></pre>

<p>So lässt sich zunächst unterscheiden:</p>
<ul><li>Welche Platte enthält Linux?</li>
<li>Welche Partition ist als <code>/</code> eingehängt?</li>
<li>Welche Platte enthält noch NTFS?</li>
<li>Gibt es alte Windows-Systempartitionen?</li></ul>

<p>Zusätzlich kann man die Partitionstabellen ansehen:</p>

<pre><code class="language-bash">sudo fdisk -l
</code></pre>

<p>Bei mehreren ähnlich großen SSDs ist die Modellbezeichnung besonders hilfreich.</p>

<hr>

<h1 id="2-prüfen-wo-das-root-dateisystem-liegt">2. Prüfen, wo das Root-Dateisystem liegt</h1>

<p>Entscheidend ist zunächst die Linux-Systempartition:</p>

<pre><code class="language-bash">findmnt -no SOURCE,FSTYPE,TARGET /
</code></pre>

<p>Eine typische Ausgabe könnte beispielsweise so aussehen:</p>

<pre><code class="language-text">/dev/nvme0n1p5 ext4 /
</code></pre>

<p>Damit ist klar:</p>

<p>Das laufende Linux befindet sich auf dieser Partition.</p>

<p>Das sagt allerdings noch nicht zwingend, wo die für den UEFI-Boot benötigte EFI-Systempartition liegt.</p>

<hr>

<h1 id="3-efi-partition-prüfen">3. EFI-Partition prüfen</h1>

<p>Bei einem UEFI-System:</p>

<pre><code class="language-bash">findmnt /boot/efi
</code></pre>

<p>Damit lässt sich feststellen, welches Gerät aktuell unter</p>

<pre><code class="language-text">/boot/efi
</code></pre>

<p>eingehängt ist.</p>

<p>Im konkreten Fall lag auch die EFI-Partition auf derselben NVMe-SSD wie das aktuelle Linux-System.</p>

<p>Damit sprach bereits sehr viel dafür, dass die alte Windows-SSD nicht mehr zum Booten benötigt wurde.</p>

<hr>

<h1 id="4-uefi-boot-einträge-kontrollieren">4. UEFI-Boot-Einträge kontrollieren</h1>

<p>Zur zusätzlichen Absicherung:</p>

<pre><code class="language-bash">sudo efibootmgr -v
</code></pre>

<p><code>efibootmgr</code> zeigt die im UEFI gespeicherten Boot-Einträge.</p>

<p>Interessant sind insbesondere:</p>

<pre><code class="language-text">BootCurrent
BootOrder
</code></pre>

<p>und die Gerätepfade der einzelnen Boot-Einträge.</p>

<p>Im untersuchten System zeigte der aktive Linux-Boot-Eintrag auf die EFI-Partition der NVMe-SSD.</p>

<p>Die alte Windows-SSD tauchte dort nicht als benötigter aktueller Boot-Datenträger auf.</p>

<hr>

<h1 id="5-etc-fstab-kontrollieren">5. /etc/fstab kontrollieren</h1>

<p>Eine weitere wichtige Kontrolle:</p>

<pre><code class="language-bash">grep -Ev &#39;^\s*#|^\s*$&#39; /etc/fstab
</code></pre>

<p>Damit werden Kommentare und Leerzeilen ausgeblendet.</p>

<p>In meinem Fall enthielt <code>/etc/fstab</code> Einträge für:</p>
<ul><li>die Linux-Systempartition</li>
<li>die EFI-Partition</li>
<li>einen zusätzlichen Linux-Datenträger</li></ul>

<p>Die alte Windows-SSD war dort nicht eingebunden.</p>

<p>Auch das bestätigte:</p>

<p><strong>Das laufende System war nicht auf sie angewiesen.</strong></p>

<hr>

<h1 id="6-erst-danach-löschen">6. Erst danach löschen</h1>

<p>Die Kombination aus</p>

<pre><code class="language-bash">lsblk
findmnt
efibootmgr
/etc/fstab
</code></pre>

<p>lieferte schließlich ein konsistentes Bild:</p>

<pre><code class="language-text">Linux-System
      ↓
NVMe-SSD

EFI-Systempartition
      ↓
dieselbe NVMe-SSD

aktiver UEFI-Boot-Eintrag
      ↓
EFI-Partition der NVMe-SSD

alte Windows-SSD
      ↓
weder Root noch EFI noch fstab-Abhängigkeit
</code></pre>

<p>Erst danach wurde die alte Windows-Partitionierung entfernt und die SSD als Linux-Datenträger neu eingerichtet.</p>

<hr>

<h1 id="warum-die-prüfung-wichtig-ist">Warum die Prüfung wichtig ist</h1>

<p>Eine kleine Partition mit Namen wie</p>

<pre><code class="language-text">System-reserviert
EFI System
Boot
Recovery
</code></pre>

<p>sollte man nicht allein aufgrund ihres Alters löschen.</p>

<p>Gerade Rechner, auf denen Windows und Linux nacheinander oder parallel installiert waren, können Boot-Dateien auf einem anderen Laufwerk enthalten als das eigentliche Betriebssystem.</p>

<p>Das Betriebssystem kann also beispielsweise auf</p>

<pre><code class="language-text">/dev/nvme0n1
</code></pre>

<p>liegen, während der Rechner theoretisch trotzdem eine EFI-Partition auf</p>

<pre><code class="language-text">/dev/sda
</code></pre>

<p>verwenden könnte.</p>

<p>Deshalb ist es sinnvoll, nicht nur das Root-Dateisystem zu prüfen.</p>

<hr>

<h1 id="minimaler-prüfablauf">Minimaler Prüfablauf</h1>

<p>Vor dem Löschen eines alten Systemdatenträgers würde ich mindestens diese vier Prüfungen durchführen:</p>

<pre><code class="language-bash">lsblk -e7 -o NAME,PATH,SIZE,MODEL,FSTYPE,LABEL,UUID,MOUNTPOINTS
</code></pre>

<pre><code class="language-bash">findmnt -no SOURCE,FSTYPE,TARGET /
</code></pre>

<pre><code class="language-bash">findmnt /boot/efi
</code></pre>

<pre><code class="language-bash">sudo efibootmgr -v
</code></pre>

<p>Zusätzlich:</p>

<pre><code class="language-bash">grep -Ev &#39;^\s*#|^\s*$&#39; /etc/fstab
</code></pre>

<p>Wenn alle Ergebnisse eindeutig auf einen anderen Datenträger zeigen, ist die Grundlage vorhanden, die alte Platte anschließend neu zu verwenden.</p>

<hr>

<h1 id="fazit">Fazit</h1>

<p>Der gefährliche Teil beim Wiederverwenden einer alten Windows-SSD ist nicht das Formatieren selbst.</p>

<p>Der gefährliche Teil ist die Frage:</p>

<blockquote><p>Bin ich wirklich sicher, dass mein Rechner sie nicht mehr zum Booten benötigt?</p></blockquote>

<p>Mit</p>

<pre><code class="language-text">lsblk
findmnt
efibootmgr
fstab
</code></pre>

<p>lässt sich diese Frage unter Linux relativ zuverlässig beantworten.</p>

<p>Erst wenn Root-Dateisystem, EFI-Partition, UEFI-Boot-Eintrag und dauerhafte Mounts eindeutig geklärt sind, sollte eine alte Windows-Systempartition entfernt werden.</p>
]]></content:encoded>
      <guid>https://write.medienzentrum.rocks/linuxatmertengiesen/alte-windows-festplatte-unter-linux-sicher-zur-wiederverwendung-pruefen</guid>
      <pubDate>Wed, 16 Sep 2026 13:22:14 +0000</pubDate>
    </item>
    <item>
      <title>Daten von einer sterbenden NTFS-Festplatte unter Linux retten: rsync, SMART und ddrescue</title>
      <link>https://write.medienzentrum.rocks/linuxatmertengiesen/daten-von-einer-sterbenden-ntfs-festplatte-unter-linux-retten-rsync-smart-und</link>
      <description>&lt;![CDATA[Nach einem Wechsel von Windows zu Linux bleiben oft alte NTFS-Festplatten im Rechner: ehemalige Backupplatten, Windows-Systempartitionen oder Datenträger, die irgendwann einmal als Archiv dienten.&#xA;&#xA;In meinem Fall sollte eine solche alte NTFS-Platte zunächst einfach leergeräumt und anschließend für Linux neu formatiert werden. Beim Kopieren größerer Datenbestände traten jedoch wiederholt Input/output error (5) auf. Damit wurde aus einer simplen Aufräumaktion eine Datenrettung.&#xA;&#xA;Dieser Artikel beschreibt den tatsächlich verwendeten Ablauf unter Linux Mint:&#xA;&#xA;Datenträger eindeutig identifizieren&#xA;sicherstellen, dass keine Boot- oder Systempartition gelöscht wird&#xA;lesbare Daten mit rsync kopieren&#xA;den Gesundheitszustand mit SMART prüfen&#xA;beschädigte Einzeldateien mit GNU ddrescue retten&#xA;gerettete Dateien überprüfen&#xA;die defekte Platte anschließend ausmustern&#xA;&#xA;Problem&#xA;&#xA;Die alte Platte war noch als NTFS formatiert und enthielt mehrere hundert Gigabyte an Backups, Bildern, Videos und sehr vielen kleinen Webdateien.&#xA;&#xA;Ein Kopierversuch mit rsync lief zunächst normal, meldete dann aber Fehler wie:&#xA;&#xA;rsync: [sender] read errors mapping &#34;...&#34;: Input/output error (5)&#xA;&#xA;ERROR: ... failed verification -- update discarded.&#xA;&#xA;rsync error: some files/attrs were not transferred&#xA;(code 23)&#xA;&#xA;Wichtig dabei: rsync konnte den weit überwiegenden Teil der Daten weiterhin kopieren. Betroffen waren einzelne Dateien.&#xA;&#xA;Bevor man in so einer Situation die Platte repariert, neu formatiert oder weitere große Kopieraktionen startet, sollte geklärt werden, ob ein Dateisystemproblem oder ein physischer Plattenschaden vorliegt.&#xA;&#xA;---&#xA;&#xA;1. Festplatten eindeutig identifizieren&#xA;&#xA;Bevor irgendein destruktiver Befehl ausgeführt wird, sollte klar sein, welches Gerät welches ist.&#xA;&#xA;Eine gute Übersicht liefert:&#xA;&#xA;lsblk -e7 -o NAME,PATH,SIZE,MODEL,FSTYPE,LABEL,PARTLABEL,UUID,MOUNTPOINTS&#xA;&#xA;Zusätzlich:&#xA;&#xA;sudo fdisk -l&#xA;&#xA;Für das aktuell laufende Linux-System ist wichtig:&#xA;&#xA;findmnt -no SOURCE,FSTYPE,TARGET /&#xA;findmnt /boot/efi&#xA;&#xA;Damit lässt sich feststellen, auf welcher Partition / liegt und von welcher EFI-Partition das System bootet.&#xA;&#xA;Auch /etc/fstab sollte kontrolliert werden:&#xA;&#xA;grep -Ev &#39;^\s#|^\s$&#39; /etc/fstab&#xA;&#xA;Und bei einem UEFI-System:&#xA;&#xA;sudo efibootmgr -v&#xA;&#xA;Im konkreten Fall konnte so eindeutig festgestellt werden:&#xA;&#xA;Linux lag auf einer NVMe-SSD.&#xA;Die aktive EFI-Partition lag ebenfalls dort.&#xA;Eine zusätzliche NTFS-Partition namens System-reserviert gehörte zum früheren Windows-System und wurde vom aktuellen Linux nicht verwendet.&#xA;Die zu rettende alte Backupplatte war ein anderer Datenträger.&#xA;&#xA;Diese Prüfung war entscheidend. Ein wipefs oder mkfs auf der falschen Platte wäre nicht reparabel gewesen.&#xA;&#xA;---&#xA;&#xA;2. Viele Dateien besser mit rsync als per Dateimanager kopieren&#xA;&#xA;Bei Verzeichnissen mit sehr vielen kleinen Dateien kann ein grafischer Dateimanager schnell unübersichtlich oder langsam werden.&#xA;&#xA;Für einzelne Verzeichnisse eignet sich rsync:&#xA;&#xA;rsync -rlt --partial --info=progress2 \&#xA;&#34;/media/user/ALTEPLATTE/Quellordner&#34; \&#xA;&#34;/mnt/NEUEPLATTE/Zielordner/&#34;&#xA;&#xA;Die verwendeten Optionen:&#xA;&#xA;-r                  Verzeichnisse rekursiv kopieren&#xA;-l                  symbolische Links erhalten&#xA;-t                  Zeitstempel erhalten&#xA;--partial           angefangene Dateien bei Abbruch behalten&#xA;--info=progress2    Gesamtfortschritt anzeigen&#xA;&#xA;Mehrere Ordner lassen sich in einem Lauf angeben:&#xA;&#xA;rsync -rlt --partial --info=progress2 \&#xA;&#34;/media/user/ALTEPLATTE/Ordner1&#34; \&#xA;&#34;/media/user/ALTEPLATTE/Ordner2&#34; \&#xA;&#34;/media/user/ALTEPLATTE/Ordner3&#34; \&#xA;&#34;/mnt/NEUEPLATTE/Sicherung/&#34;&#xA;&#xA;Ein Vorteil von rsync: Der gleiche Befehl kann später erneut gestartet werden. Bereits erfolgreich kopierte Dateien müssen dann nicht komplett erneut übertragen werden.&#xA;&#xA;Nicht jede Lesewarnung bedeutet automatisch Datenverlust&#xA;&#xA;Bei der defekten Platte tauchten manche Dateien während des Kopierens zunächst mit einem Lesefehler auf, konnten bei einem späteren Versuch aber doch übertragen werden.&#xA;&#xA;Entscheidend waren deshalb vor allem Meldungen wie:&#xA;&#xA;failed verification -- update discarded&#xA;&#xA;Diese Dateien waren tatsächlich nicht erfolgreich kopiert worden.&#xA;&#xA;---&#xA;&#xA;3. SMART prüfen – und nicht nur auf „PASSED“ schauen&#xA;&#xA;Nach den ersten I/O-Fehlern wurde die Platte mit smartctl untersucht:&#xA;&#xA;sudo smartctl -a /dev/sdX&#xA;&#xA;Falls das Programm fehlt:&#xA;&#xA;sudo apt install smartmontools&#xA;&#xA;Interessant waren insbesondere diese Werte:&#xA;&#xA;ReallocatedSectorCt&#xA;CurrentPendingSector&#xA;OfflineUncorrectable&#xA;PowerOnHours&#xA;&#xA;Bei der untersuchten Platte wurden unter anderem gemeldet:&#xA;&#xA;ReallocatedSectorCt   151&#xA;CurrentPendingSector  1114&#xA;OfflineUncorrectable   561&#xA;PowerOnHours          69315&#xA;&#xA;Gleichzeitig stand weiter oben:&#xA;&#xA;SMART overall-health self-assessment test result: PASSED&#xA;&#xA;Das ist ein gutes Beispiel dafür, warum man sich nicht allein auf PASSED verlassen sollte.&#xA;&#xA;Die Kombination aus&#xA;&#xA;wiederholten echten I/O-Lesefehlern,&#xA;bereits umverteilten Sektoren,&#xA;sehr vielen noch ausstehenden problematischen Sektoren,&#xA;nicht korrigierbaren Sektoren&#xA;&#xA;war hier ein klarer Grund, die Platte nicht mehr weiterzuverwenden.&#xA;&#xA;Die Konsequenz war deshalb:&#xA;&#xA;Nicht reparieren und anschließend neu formatieren, sondern zuerst möglichst viele Daten retten und die Platte danach ausmustern.&#xA;&#xA;---&#xA;&#xA;4. Zuerst die noch lesbaren Daten retten&#xA;&#xA;Bei einer sichtbar ausfallenden Festplatte ist es sinnvoll, nicht sofort stundenlange Tests oder Reparaturläufe zu starten.&#xA;&#xA;Im konkreten Fall wurden zunächst die noch lesbaren Verzeichnisse mit rsync auf andere Datenträger kopiert.&#xA;&#xA;Erst danach wurden die wenigen Dateien bearbeitet, die rsync nicht lesen konnte.&#xA;&#xA;Damit musste die alte Platte nicht mehrfach vollständig durchgelesen werden.&#xA;&#xA;---&#xA;&#xA;5. Beschädigte Einzeldateien mit GNU ddrescue retten&#xA;&#xA;Für die verbleibenden Dateien kam GNU ddrescue zum Einsatz.&#xA;&#xA;Installation:&#xA;&#xA;sudo apt install gddrescue&#xA;&#xA;Anschließend wurde eine kleine Shell-Funktion verwendet:&#xA;&#xA;BASE=&#34;/media/user/ALTEPLATTE&#34;&#xA;OUT=&#34;/mnt/NEUEPLATTE/Rettung&#34;&#xA;&#xA;recover() {&#xA;    rel=&#34;$1&#34;&#xA;    src=&#34;$BASE/$rel&#34;&#xA;    dst=&#34;$OUT/$rel&#34;&#xA;&#xA;    mkdir -p &#34;$(dirname &#34;$dst&#34;)&#34;&#xA;&#xA;    echo&#xA;    echo &#34;=== RETTE: $rel ===&#34;&#xA;&#xA;    ddrescue -n &#34;$src&#34; &#34;$dst&#34; &#34;$dst.ddrescue.map&#34;&#xA;    ddrescue -r3 &#34;$src&#34; &#34;$dst&#34; &#34;$dst.ddrescue.map&#34;&#xA;}&#xA;&#xA;Eine Datei konnte damit einfach so bearbeitet werden:&#xA;&#xA;recover &#34;Backup/Bilder/beispiel.jpg&#34;&#xA;&#xA;Zuerst versucht&#xA;&#xA;ddrescue -n&#xA;&#xA;möglichst viel ohne aggressive Wiederholungsversuche zu lesen.&#xA;&#xA;Danach versucht&#xA;&#xA;ddrescue -r3&#xA;&#xA;problematische Bereiche bis zu drei weitere Male zu lesen.&#xA;&#xA;Die Map-Datei merkt sich, welche Bereiche bereits erfolgreich gerettet wurden.&#xA;&#xA;---&#xA;&#xA;6. Was ddrescue noch retten konnte&#xA;&#xA;Die Ergebnisse waren sehr unterschiedlich.&#xA;&#xA;Einige Dateien, die rsync überhaupt nicht mehr kopieren konnte, ließen sich mit ddrescue anschließend zu&#xA;&#xA;100.00%&#xA;&#xA;wiederherstellen.&#xA;&#xA;Bei anderen blieben wenige Kilobyte defekt.&#xA;&#xA;Beispielsweise konnten große MP4-Videos bis auf ungefähr 8 KB gerettet werden. Andere Dateien blieben zu 94, 97 oder über 99 Prozent lesbar.&#xA;&#xA;Es gab aber auch Dateien, bei denen&#xA;&#xA;rescued: 0 B&#xA;pct rescued: 0.00%&#xA;&#xA;stehen blieb.&#xA;&#xA;Und bei zwei Dateien konnte ddrescue nicht einmal die Quelldatei öffnen:&#xA;&#xA;Can&#39;t open input file: Input/output error&#xA;&#xA;Das zeigt eine Grenze der Rettung auf Dateiebene:&#xA;&#xA;Wenn bereits die für das Öffnen einer Datei benötigten Dateisysteminformationen nicht mehr gelesen werden können, kann ein dateibasierter ddrescue-Aufruf nicht helfen.&#xA;&#xA;Für wichtige Daten wäre dann eine sektorweise Rettung des gesamten Datenträgers ein anderer Ansatz gewesen. Für die betreffenden unwichtigen Altdateien wurde darauf verzichtet.&#xA;&#xA;---&#xA;&#xA;7. Gerettete Dateien prüfen&#xA;&#xA;Ein Wert von 99 Prozent sagt noch nicht, ob eine Datei praktisch verwendbar ist.&#xA;&#xA;Deshalb wurden unterschiedliche Dateitypen anschließend geprüft.&#xA;&#xA;Dateityp erkennen&#xA;&#xA;file /pfad/zur/datei&#xA;&#xA;Bei erfolgreich geretteten Dateien ergaben sich beispielsweise wieder plausible Typen wie:&#xA;&#xA;JPEG image data&#xA;PDF document&#xA;Microsoft Word 2007+&#xA;Composite Document File V2 Document&#xA;&#xA;Das ist allerdings nur ein erster Test.&#xA;&#xA;---&#xA;&#xA;8. DOCX-Dateien überprüfen&#xA;&#xA;DOCX-Dateien sind intern ZIP-Archive.&#xA;&#xA;Deshalb kann man ihre Struktur testen:&#xA;&#xA;unzip -t dokument.docx&#xA;&#xA;Eine vollständig gerettete Datei lieferte:&#xA;&#xA;No errors detected in compressed data&#xA;&#xA;Bei beschädigten Dateien zeigte unzip dagegen beispielsweise:&#xA;&#xA;invalid compressed data to inflate&#xA;bad zipfile offset&#xA;&#xA;Reparaturversuch mit zip -FF&#xA;&#xA;Eine Kopie des beschädigten Dokuments kann als ZIP behandelt werden:&#xA;&#xA;cp dokument.docx dokumentbeschaedigt.zip&#xA;&#xA;Dann:&#xA;&#xA;zip -FF dokumentbeschaedigt.zip --out dokumentrepariert.zip&#xA;&#xA;Anschließend:&#xA;&#xA;unzip -t dokumentrepariert.zip&#xA;&#xA;Das kann Teile eines DOCX retten.&#xA;&#xA;Allerdings gibt es einen wichtigen Fallstrick:&#xA;&#xA;Ein anschließend fehlerfreies ZIP bedeutet nicht automatisch ein repariertes Word-Dokument.&#xA;&#xA;Bei einem Test fehlten nach der Reparatur ausgerechnet:&#xA;&#xA;[ContentTypes].xml&#xA;rels/.rels&#xA;word/rels/document.xml.rels&#xA;word/document.xml&#xA;&#xA;word/document.xml enthält den eigentlichen Dokumenttext.&#xA;&#xA;Der ZIP-Container war danach zwar fehlerfrei, der Dokumentinhalt aber trotzdem verloren.&#xA;&#xA;Eingebettete Bilder konnten dagegen noch extrahiert werden:&#xA;&#xA;mkdir -p gerettetemedien&#xA;&#xA;unzip -j dokumentrepariert.zip \&#xA;&#39;word/media/&#39; \&#xA;-d gerettetemedien&#xA;&#xA;---&#xA;&#xA;9. PDFs prüfen&#xA;&#xA;Für PDFs wurde pdfinfo verwendet:&#xA;&#xA;pdfinfo dokument.pdf&#xA;&#xA;Bei teilweise beschädigten Rettungen konnten trotzdem korrekte Metadaten und Seitenzahlen gelesen werden.&#xA;&#xA;Beispielsweise wurden Dateien trotz weniger fehlender Kilobyte noch sauber als fünf- beziehungsweise mehrseitige PDFs erkannt.&#xA;&#xA;Das war ein gutes Indiz dafür, dass zumindest die grundlegende PDF-Struktur erhalten geblieben war.&#xA;&#xA;---&#xA;&#xA;10. Bilder wirklich decodieren&#xA;&#xA;file kann eine beschädigte Datei weiterhin als JPEG erkennen.&#xA;&#xA;Deshalb reicht&#xA;&#xA;file bild.jpg&#xA;&#xA;nicht immer aus.&#xA;&#xA;Mit ffmpeg lässt sich versuchen, das Bild vollständig zu decodieren:&#xA;&#xA;ffmpeg -v error -i bild.jpg -f null -&#xA;&#xA;Im Test gab es drei unterschiedliche Ergebnisse:&#xA;&#xA;Keine Ausgabe&#xA;&#xA;Das Bild ließ sich vollständig decodieren.&#xA;&#xA;Kleine Warnung&#xA;&#xA;overread 8&#xA;&#xA;Das Bild war sichtbar beschädigt, ließ sich aber noch anzeigen.&#xA;&#xA;Vollständiger Decoderfehler&#xA;&#xA;No JPEG data found in image&#xA;Invalid data found when processing input&#xA;&#xA;Diese Datei war praktisch nicht mehr nutzbar.&#xA;&#xA;---&#xA;&#xA;11. Videos prüfen: ffprobe reicht nicht immer&#xA;&#xA;Die geretteten MP4-Dateien wurden zuerst mit ffprobe geprüft:&#xA;&#xA;ffprobe -v error video.mp4&#xA;&#xA;Bei allen drei Testdateien blieb die Ausgabe leer.&#xA;&#xA;Das bedeutet: Der Container konnte gelesen werden.&#xA;&#xA;Für einen vollständigen Test wurde anschließend das gesamte Video decodiert:&#xA;&#xA;ffmpeg -v error -i video.mp4 -f null -&#xA;&#xA;Bei einem vollständig geretteten Video blieb die Ausgabe wiederum leer.&#xA;&#xA;Bei zwei anderen Videos erschienen einzelne Meldungen wie:&#xA;&#xA;cabac decode of qscale diff failed&#xA;error while decoding MB ...&#xA;&#xA;Die Videos ließen sich trotzdem abspielen. Durch die wenigen nicht lesbaren Kilobyte waren lediglich einzelne Bildbereiche beziehungsweise Frames beschädigt.&#xA;&#xA;Damit waren sie für den konkreten Zweck ausreichend gerettet.&#xA;&#xA;---&#xA;&#xA;12. Gerettete Dateien erst separat behalten&#xA;&#xA;Die ddrescue-Ergebnisse wurden zunächst bewusst in einem eigenen Rettungsordner gespeichert.&#xA;&#xA;Beispiel:&#xA;&#xA;/mnt/NEUEPLATTE/Rettung/&#xA;&#xA;Erst nach Prüfung wurden brauchbare Dateien an ihre endgültigen Positionen kopiert.&#xA;&#xA;Das verhindert, dass eine möglicherweise schlechtere Rettungsfassung versehentlich eine bereits vorhandene Datei überschreibt.&#xA;&#xA;Auch bei Videos wurden zunächst beide Fassungen behalten:&#xA;&#xA;video.mp4&#xA;videorsync-alt.mp4&#xA;&#xA;Erst nach dem Abspielen und Testen wurde die schlechtere Version gelöscht.&#xA;&#xA;---&#xA;&#xA;13. Rettungsreste aufräumen&#xA;&#xA;Nach Abschluss der Rettung können die Map-Dateien entfernt werden, sofern definitiv keine weiteren Rettungsversuche geplant sind:&#xA;&#xA;find /mnt/NEUEPLATTE/Rettung \&#xA;-type f -name &#39;.ddrescue.map&#39; -delete&#xA;&#xA;Temporäre Reparaturarchive können ebenfalls gelöscht werden:&#xA;&#xA;rm dokumentbeschaedigt.zip&#xA;rm dokumentrepariert.zip&#xA;&#xA;Die tatsächlich geretteten Dateien sollten vorher natürlich an ihre endgültigen Speicherorte kopiert worden sein.&#xA;&#xA;---&#xA;&#xA;14. Defekte Platte aushängen&#xA;&#xA;Wenn alles Wichtige kopiert wurde:&#xA;&#xA;sudo umount /media/user/ALTEPLATTE&#xA;&#xA;Danach kontrollieren:&#xA;&#xA;lsblk -o NAME,SIZE,MODEL,FSTYPE,LABEL,MOUNTPOINTS /dev/sdX&#xA;&#xA;Wenn bei der Partition kein Mountpoint mehr angezeigt wird, ist sie sauber ausgehängt.&#xA;&#xA;Im beschriebenen Fall wurde die Platte danach nicht neu formatiert, sondern aus dem Rechner ausgebaut.&#xA;&#xA;Die SMART-Werte und die reproduzierbaren I/O-Fehler waren zu eindeutig, um sie noch als Datenträger weiterzuverwenden.&#xA;&#xA;---&#xA;&#xA;Was ich aus dem Fall mitnehme&#xA;&#xA;Der ursprüngliche Plan war simpel:&#xA;&#xA;  Daten herunterkopieren, NTFS löschen, ext4 formatieren.&#xA;&#xA;Die Kopierfehler haben den Ablauf jedoch sinnvoll verändert.&#xA;&#xA;Der entscheidende Workflow war am Ende:&#xA;&#xA;Datenträger eindeutig identifizieren&#xA;        ↓&#xA;wichtige Daten mit rsync kopieren&#xA;        ↓&#xA;I/O-Fehler feststellen&#xA;        ↓&#xA;SMART-Werte prüfen&#xA;        ↓&#xA;keine Reparatur oder Formatierung mehr&#xA;        ↓&#xA;problematische Einzeldateien mit ddrescue retten&#xA;        ↓&#xA;Dateien je nach Format prüfen&#xA;        ↓&#xA;brauchbare Rettungen einsortieren&#xA;        ↓&#xA;defekte HDD ausmustern&#xA;&#xA;Besonders hilfreich war die Kombination aus Werkzeugen:&#xA;&#xA;lsblk / findmnt / efibootmgr&#xA;        → richtige Platte identifizieren&#xA;&#xA;rsync&#xA;        → möglichst viel normal kopieren&#xA;&#xA;smartctl&#xA;        → Hardwarezustand einschätzen&#xA;&#xA;ddrescue&#xA;        → problematische Einzeldateien gezielt retten&#xA;&#xA;file / unzip / pdfinfo / ffprobe / ffmpeg&#xA;        → prüfen, ob die Rettung tatsächlich brauchbar ist&#xA;&#xA;Der vielleicht wichtigste Punkt: Ein SMART-Status PASSED bedeutet nicht automatisch, dass eine Festplatte gesund ist. Wenn gleichzeitig hunderte oder tausende problematische Sektoren und reale I/O-Fehler auftreten, sollte man die einzelnen SMART-Werte und das tatsächliche Verhalten der Platte ernst nehmen.&#xA;&#xA;Und ebenso wichtig: Eine Datei ist nicht automatisch intakt, nur weil sie zu 99 Prozent gerettet wurde oder file noch den richtigen Dateityp erkennt. Erst ein formatgerechter Test zeigt, wie viel wirklich noch verwendbar ist.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Nach einem Wechsel von Windows zu Linux bleiben oft alte NTFS-Festplatten im Rechner: ehemalige Backupplatten, Windows-Systempartitionen oder Datenträger, die irgendwann einmal als Archiv dienten.</p>

<p>In meinem Fall sollte eine solche alte NTFS-Platte zunächst einfach leergeräumt und anschließend für Linux neu formatiert werden. Beim Kopieren größerer Datenbestände traten jedoch wiederholt <code>Input/output error (5)</code> auf. Damit wurde aus einer simplen Aufräumaktion eine Datenrettung.</p>

<p>Dieser Artikel beschreibt den tatsächlich verwendeten Ablauf unter Linux Mint:</p>
<ol><li>Datenträger eindeutig identifizieren</li>
<li>sicherstellen, dass keine Boot- oder Systempartition gelöscht wird</li>
<li>lesbare Daten mit <code>rsync</code> kopieren</li>
<li>den Gesundheitszustand mit SMART prüfen</li>
<li>beschädigte Einzeldateien mit GNU <code>ddrescue</code> retten</li>
<li>gerettete Dateien überprüfen</li>
<li>die defekte Platte anschließend ausmustern</li></ol>

<h2 id="problem">Problem</h2>

<p>Die alte Platte war noch als NTFS formatiert und enthielt mehrere hundert Gigabyte an Backups, Bildern, Videos und sehr vielen kleinen Webdateien.</p>

<p>Ein Kopierversuch mit <code>rsync</code> lief zunächst normal, meldete dann aber Fehler wie:</p>

<pre><code class="language-text">rsync: [sender] read errors mapping &#34;...&#34;: Input/output error (5)

ERROR: ... failed verification -- update discarded.

rsync error: some files/attrs were not transferred
(code 23)
</code></pre>

<p>Wichtig dabei: <code>rsync</code> konnte den weit überwiegenden Teil der Daten weiterhin kopieren. Betroffen waren einzelne Dateien.</p>

<p>Bevor man in so einer Situation die Platte repariert, neu formatiert oder weitere große Kopieraktionen startet, sollte geklärt werden, ob ein Dateisystemproblem oder ein physischer Plattenschaden vorliegt.</p>

<hr>

<h1 id="1-festplatten-eindeutig-identifizieren">1. Festplatten eindeutig identifizieren</h1>

<p>Bevor irgendein destruktiver Befehl ausgeführt wird, sollte klar sein, welches Gerät welches ist.</p>

<p>Eine gute Übersicht liefert:</p>

<pre><code class="language-bash">lsblk -e7 -o NAME,PATH,SIZE,MODEL,FSTYPE,LABEL,PARTLABEL,UUID,MOUNTPOINTS
</code></pre>

<p>Zusätzlich:</p>

<pre><code class="language-bash">sudo fdisk -l
</code></pre>

<p>Für das aktuell laufende Linux-System ist wichtig:</p>

<pre><code class="language-bash">findmnt -no SOURCE,FSTYPE,TARGET /
findmnt /boot/efi
</code></pre>

<p>Damit lässt sich feststellen, auf welcher Partition <code>/</code> liegt und von welcher EFI-Partition das System bootet.</p>

<p>Auch <code>/etc/fstab</code> sollte kontrolliert werden:</p>

<pre><code class="language-bash">grep -Ev &#39;^\s*#|^\s*$&#39; /etc/fstab
</code></pre>

<p>Und bei einem UEFI-System:</p>

<pre><code class="language-bash">sudo efibootmgr -v
</code></pre>

<p>Im konkreten Fall konnte so eindeutig festgestellt werden:</p>
<ul><li>Linux lag auf einer NVMe-SSD.</li>
<li>Die aktive EFI-Partition lag ebenfalls dort.</li>
<li>Eine zusätzliche NTFS-Partition namens <code>System-reserviert</code> gehörte zum früheren Windows-System und wurde vom aktuellen Linux nicht verwendet.</li>
<li>Die zu rettende alte Backupplatte war ein anderer Datenträger.</li></ul>

<p>Diese Prüfung war entscheidend. Ein <code>wipefs</code> oder <code>mkfs</code> auf der falschen Platte wäre nicht reparabel gewesen.</p>

<hr>

<h1 id="2-viele-dateien-besser-mit-rsync-als-per-dateimanager-kopieren">2. Viele Dateien besser mit rsync als per Dateimanager kopieren</h1>

<p>Bei Verzeichnissen mit sehr vielen kleinen Dateien kann ein grafischer Dateimanager schnell unübersichtlich oder langsam werden.</p>

<p>Für einzelne Verzeichnisse eignet sich <code>rsync</code>:</p>

<pre><code class="language-bash">rsync -rlt --partial --info=progress2 \
&#34;/media/user/ALTE_PLATTE/Quellordner&#34; \
&#34;/mnt/NEUE_PLATTE/Zielordner/&#34;
</code></pre>

<p>Die verwendeten Optionen:</p>

<pre><code class="language-text">-r                  Verzeichnisse rekursiv kopieren
-l                  symbolische Links erhalten
-t                  Zeitstempel erhalten
--partial           angefangene Dateien bei Abbruch behalten
--info=progress2    Gesamtfortschritt anzeigen
</code></pre>

<p>Mehrere Ordner lassen sich in einem Lauf angeben:</p>

<pre><code class="language-bash">rsync -rlt --partial --info=progress2 \
&#34;/media/user/ALTE_PLATTE/Ordner1&#34; \
&#34;/media/user/ALTE_PLATTE/Ordner2&#34; \
&#34;/media/user/ALTE_PLATTE/Ordner3&#34; \
&#34;/mnt/NEUE_PLATTE/Sicherung/&#34;
</code></pre>

<p>Ein Vorteil von <code>rsync</code>: Der gleiche Befehl kann später erneut gestartet werden. Bereits erfolgreich kopierte Dateien müssen dann nicht komplett erneut übertragen werden.</p>

<h2 id="nicht-jede-lesewarnung-bedeutet-automatisch-datenverlust">Nicht jede Lesewarnung bedeutet automatisch Datenverlust</h2>

<p>Bei der defekten Platte tauchten manche Dateien während des Kopierens zunächst mit einem Lesefehler auf, konnten bei einem späteren Versuch aber doch übertragen werden.</p>

<p>Entscheidend waren deshalb vor allem Meldungen wie:</p>

<pre><code class="language-text">failed verification -- update discarded
</code></pre>

<p>Diese Dateien waren tatsächlich nicht erfolgreich kopiert worden.</p>

<hr>

<h1 id="3-smart-prüfen-und-nicht-nur-auf-passed-schauen">3. SMART prüfen – und nicht nur auf „PASSED“ schauen</h1>

<p>Nach den ersten I/O-Fehlern wurde die Platte mit <code>smartctl</code> untersucht:</p>

<pre><code class="language-bash">sudo smartctl -a /dev/sdX
</code></pre>

<p>Falls das Programm fehlt:</p>

<pre><code class="language-bash">sudo apt install smartmontools
</code></pre>

<p>Interessant waren insbesondere diese Werte:</p>

<pre><code class="language-text">Reallocated_Sector_Ct
Current_Pending_Sector
Offline_Uncorrectable
Power_On_Hours
</code></pre>

<p>Bei der untersuchten Platte wurden unter anderem gemeldet:</p>

<pre><code class="language-text">Reallocated_Sector_Ct   151
Current_Pending_Sector  1114
Offline_Uncorrectable   561
Power_On_Hours          69315
</code></pre>

<p>Gleichzeitig stand weiter oben:</p>

<pre><code class="language-text">SMART overall-health self-assessment test result: PASSED
</code></pre>

<p>Das ist ein gutes Beispiel dafür, warum man sich nicht allein auf <code>PASSED</code> verlassen sollte.</p>

<p>Die Kombination aus</p>
<ul><li>wiederholten echten I/O-Lesefehlern,</li>
<li>bereits umverteilten Sektoren,</li>
<li>sehr vielen noch ausstehenden problematischen Sektoren,</li>
<li>nicht korrigierbaren Sektoren</li></ul>

<p>war hier ein klarer Grund, die Platte nicht mehr weiterzuverwenden.</p>

<p>Die Konsequenz war deshalb:</p>

<p><strong>Nicht reparieren und anschließend neu formatieren, sondern zuerst möglichst viele Daten retten und die Platte danach ausmustern.</strong></p>

<hr>

<h1 id="4-zuerst-die-noch-lesbaren-daten-retten">4. Zuerst die noch lesbaren Daten retten</h1>

<p>Bei einer sichtbar ausfallenden Festplatte ist es sinnvoll, nicht sofort stundenlange Tests oder Reparaturläufe zu starten.</p>

<p>Im konkreten Fall wurden zunächst die noch lesbaren Verzeichnisse mit <code>rsync</code> auf andere Datenträger kopiert.</p>

<p>Erst danach wurden die wenigen Dateien bearbeitet, die <code>rsync</code> nicht lesen konnte.</p>

<p>Damit musste die alte Platte nicht mehrfach vollständig durchgelesen werden.</p>

<hr>

<h1 id="5-beschädigte-einzeldateien-mit-gnu-ddrescue-retten">5. Beschädigte Einzeldateien mit GNU ddrescue retten</h1>

<p>Für die verbleibenden Dateien kam GNU <code>ddrescue</code> zum Einsatz.</p>

<p>Installation:</p>

<pre><code class="language-bash">sudo apt install gddrescue
</code></pre>

<p>Anschließend wurde eine kleine Shell-Funktion verwendet:</p>

<pre><code class="language-bash">BASE=&#34;/media/user/ALTE_PLATTE&#34;
OUT=&#34;/mnt/NEUE_PLATTE/Rettung&#34;

recover() {
    rel=&#34;$1&#34;
    src=&#34;$BASE/$rel&#34;
    dst=&#34;$OUT/$rel&#34;

    mkdir -p &#34;$(dirname &#34;$dst&#34;)&#34;

    echo
    echo &#34;=== RETTE: $rel ===&#34;

    ddrescue -n &#34;$src&#34; &#34;$dst&#34; &#34;$dst.ddrescue.map&#34;
    ddrescue -r3 &#34;$src&#34; &#34;$dst&#34; &#34;$dst.ddrescue.map&#34;
}
</code></pre>

<p>Eine Datei konnte damit einfach so bearbeitet werden:</p>

<pre><code class="language-bash">recover &#34;Backup/Bilder/beispiel.jpg&#34;
</code></pre>

<p>Zuerst versucht</p>

<pre><code class="language-bash">ddrescue -n
</code></pre>

<p>möglichst viel ohne aggressive Wiederholungsversuche zu lesen.</p>

<p>Danach versucht</p>

<pre><code class="language-bash">ddrescue -r3
</code></pre>

<p>problematische Bereiche bis zu drei weitere Male zu lesen.</p>

<p>Die Map-Datei merkt sich, welche Bereiche bereits erfolgreich gerettet wurden.</p>

<hr>

<h1 id="6-was-ddrescue-noch-retten-konnte">6. Was ddrescue noch retten konnte</h1>

<p>Die Ergebnisse waren sehr unterschiedlich.</p>

<p>Einige Dateien, die <code>rsync</code> überhaupt nicht mehr kopieren konnte, ließen sich mit <code>ddrescue</code> anschließend zu</p>

<pre><code class="language-text">100.00%
</code></pre>

<p>wiederherstellen.</p>

<p>Bei anderen blieben wenige Kilobyte defekt.</p>

<p>Beispielsweise konnten große MP4-Videos bis auf ungefähr 8 KB gerettet werden. Andere Dateien blieben zu 94, 97 oder über 99 Prozent lesbar.</p>

<p>Es gab aber auch Dateien, bei denen</p>

<pre><code class="language-text">rescued: 0 B
pct rescued: 0.00%
</code></pre>

<p>stehen blieb.</p>

<p>Und bei zwei Dateien konnte <code>ddrescue</code> nicht einmal die Quelldatei öffnen:</p>

<pre><code class="language-text">Can&#39;t open input file: Input/output error
</code></pre>

<p>Das zeigt eine Grenze der Rettung auf Dateiebene:</p>

<p>Wenn bereits die für das Öffnen einer Datei benötigten Dateisysteminformationen nicht mehr gelesen werden können, kann ein dateibasierter <code>ddrescue</code>-Aufruf nicht helfen.</p>

<p>Für wichtige Daten wäre dann eine sektorweise Rettung des gesamten Datenträgers ein anderer Ansatz gewesen. Für die betreffenden unwichtigen Altdateien wurde darauf verzichtet.</p>

<hr>

<h1 id="7-gerettete-dateien-prüfen">7. Gerettete Dateien prüfen</h1>

<p>Ein Wert von 99 Prozent sagt noch nicht, ob eine Datei praktisch verwendbar ist.</p>

<p>Deshalb wurden unterschiedliche Dateitypen anschließend geprüft.</p>

<h2 id="dateityp-erkennen">Dateityp erkennen</h2>

<pre><code class="language-bash">file /pfad/zur/datei
</code></pre>

<p>Bei erfolgreich geretteten Dateien ergaben sich beispielsweise wieder plausible Typen wie:</p>

<pre><code class="language-text">JPEG image data
PDF document
Microsoft Word 2007+
Composite Document File V2 Document
</code></pre>

<p>Das ist allerdings nur ein erster Test.</p>

<hr>

<h1 id="8-docx-dateien-überprüfen">8. DOCX-Dateien überprüfen</h1>

<p>DOCX-Dateien sind intern ZIP-Archive.</p>

<p>Deshalb kann man ihre Struktur testen:</p>

<pre><code class="language-bash">unzip -t dokument.docx
</code></pre>

<p>Eine vollständig gerettete Datei lieferte:</p>

<pre><code class="language-text">No errors detected in compressed data
</code></pre>

<p>Bei beschädigten Dateien zeigte <code>unzip</code> dagegen beispielsweise:</p>

<pre><code class="language-text">invalid compressed data to inflate
bad zipfile offset
</code></pre>

<h2 id="reparaturversuch-mit-zip-ff">Reparaturversuch mit zip -FF</h2>

<p>Eine Kopie des beschädigten Dokuments kann als ZIP behandelt werden:</p>

<pre><code class="language-bash">cp dokument.docx dokument_beschaedigt.zip
</code></pre>

<p>Dann:</p>

<pre><code class="language-bash">zip -FF dokument_beschaedigt.zip --out dokument_repariert.zip
</code></pre>

<p>Anschließend:</p>

<pre><code class="language-bash">unzip -t dokument_repariert.zip
</code></pre>

<p>Das kann Teile eines DOCX retten.</p>

<p>Allerdings gibt es einen wichtigen Fallstrick:</p>

<p>Ein anschließend fehlerfreies ZIP bedeutet <strong>nicht automatisch ein repariertes Word-Dokument</strong>.</p>

<p>Bei einem Test fehlten nach der Reparatur ausgerechnet:</p>

<pre><code class="language-text">[Content_Types].xml
_rels/.rels
word/_rels/document.xml.rels
word/document.xml
</code></pre>

<p><code>word/document.xml</code> enthält den eigentlichen Dokumenttext.</p>

<p>Der ZIP-Container war danach zwar fehlerfrei, der Dokumentinhalt aber trotzdem verloren.</p>

<p>Eingebettete Bilder konnten dagegen noch extrahiert werden:</p>

<pre><code class="language-bash">mkdir -p gerettete_medien

unzip -j dokument_repariert.zip \
&#39;word/media/*&#39; \
-d gerettete_medien
</code></pre>

<hr>

<h1 id="9-pdfs-prüfen">9. PDFs prüfen</h1>

<p>Für PDFs wurde <code>pdfinfo</code> verwendet:</p>

<pre><code class="language-bash">pdfinfo dokument.pdf
</code></pre>

<p>Bei teilweise beschädigten Rettungen konnten trotzdem korrekte Metadaten und Seitenzahlen gelesen werden.</p>

<p>Beispielsweise wurden Dateien trotz weniger fehlender Kilobyte noch sauber als fünf- beziehungsweise mehrseitige PDFs erkannt.</p>

<p>Das war ein gutes Indiz dafür, dass zumindest die grundlegende PDF-Struktur erhalten geblieben war.</p>

<hr>

<h1 id="10-bilder-wirklich-decodieren">10. Bilder wirklich decodieren</h1>

<p><code>file</code> kann eine beschädigte Datei weiterhin als JPEG erkennen.</p>

<p>Deshalb reicht</p>

<pre><code class="language-bash">file bild.jpg
</code></pre>

<p>nicht immer aus.</p>

<p>Mit <code>ffmpeg</code> lässt sich versuchen, das Bild vollständig zu decodieren:</p>

<pre><code class="language-bash">ffmpeg -v error -i bild.jpg -f null -
</code></pre>

<p>Im Test gab es drei unterschiedliche Ergebnisse:</p>

<h3 id="keine-ausgabe">Keine Ausgabe</h3>

<pre><code class="language-text"></code></pre>

<p>Das Bild ließ sich vollständig decodieren.</p>

<h3 id="kleine-warnung">Kleine Warnung</h3>

<pre><code class="language-text">overread 8
</code></pre>

<p>Das Bild war sichtbar beschädigt, ließ sich aber noch anzeigen.</p>

<h3 id="vollständiger-decoderfehler">Vollständiger Decoderfehler</h3>

<pre><code class="language-text">No JPEG data found in image
Invalid data found when processing input
</code></pre>

<p>Diese Datei war praktisch nicht mehr nutzbar.</p>

<hr>

<h1 id="11-videos-prüfen-ffprobe-reicht-nicht-immer">11. Videos prüfen: ffprobe reicht nicht immer</h1>

<p>Die geretteten MP4-Dateien wurden zuerst mit <code>ffprobe</code> geprüft:</p>

<pre><code class="language-bash">ffprobe -v error video.mp4
</code></pre>

<p>Bei allen drei Testdateien blieb die Ausgabe leer.</p>

<p>Das bedeutet: Der Container konnte gelesen werden.</p>

<p>Für einen vollständigen Test wurde anschließend das gesamte Video decodiert:</p>

<pre><code class="language-bash">ffmpeg -v error -i video.mp4 -f null -
</code></pre>

<p>Bei einem vollständig geretteten Video blieb die Ausgabe wiederum leer.</p>

<p>Bei zwei anderen Videos erschienen einzelne Meldungen wie:</p>

<pre><code class="language-text">cabac decode of qscale diff failed
error while decoding MB ...
</code></pre>

<p>Die Videos ließen sich trotzdem abspielen. Durch die wenigen nicht lesbaren Kilobyte waren lediglich einzelne Bildbereiche beziehungsweise Frames beschädigt.</p>

<p>Damit waren sie für den konkreten Zweck ausreichend gerettet.</p>

<hr>

<h1 id="12-gerettete-dateien-erst-separat-behalten">12. Gerettete Dateien erst separat behalten</h1>

<p>Die <code>ddrescue</code>-Ergebnisse wurden zunächst bewusst in einem eigenen Rettungsordner gespeichert.</p>

<p>Beispiel:</p>

<pre><code class="language-text">/mnt/NEUE_PLATTE/Rettung/
</code></pre>

<p>Erst nach Prüfung wurden brauchbare Dateien an ihre endgültigen Positionen kopiert.</p>

<p>Das verhindert, dass eine möglicherweise schlechtere Rettungsfassung versehentlich eine bereits vorhandene Datei überschreibt.</p>

<p>Auch bei Videos wurden zunächst beide Fassungen behalten:</p>

<pre><code class="language-text">video.mp4
video_rsync-alt.mp4
</code></pre>

<p>Erst nach dem Abspielen und Testen wurde die schlechtere Version gelöscht.</p>

<hr>

<h1 id="13-rettungsreste-aufräumen">13. Rettungsreste aufräumen</h1>

<p>Nach Abschluss der Rettung können die Map-Dateien entfernt werden, sofern definitiv keine weiteren Rettungsversuche geplant sind:</p>

<pre><code class="language-bash">find /mnt/NEUE_PLATTE/Rettung \
-type f -name &#39;*.ddrescue.map&#39; -delete
</code></pre>

<p>Temporäre Reparaturarchive können ebenfalls gelöscht werden:</p>

<pre><code class="language-bash">rm dokument_beschaedigt.zip
rm dokument_repariert.zip
</code></pre>

<p>Die tatsächlich geretteten Dateien sollten vorher natürlich an ihre endgültigen Speicherorte kopiert worden sein.</p>

<hr>

<h1 id="14-defekte-platte-aushängen">14. Defekte Platte aushängen</h1>

<p>Wenn alles Wichtige kopiert wurde:</p>

<pre><code class="language-bash">sudo umount /media/user/ALTE_PLATTE
</code></pre>

<p>Danach kontrollieren:</p>

<pre><code class="language-bash">lsblk -o NAME,SIZE,MODEL,FSTYPE,LABEL,MOUNTPOINTS /dev/sdX
</code></pre>

<p>Wenn bei der Partition kein Mountpoint mehr angezeigt wird, ist sie sauber ausgehängt.</p>

<p>Im beschriebenen Fall wurde die Platte danach nicht neu formatiert, sondern aus dem Rechner ausgebaut.</p>

<p>Die SMART-Werte und die reproduzierbaren I/O-Fehler waren zu eindeutig, um sie noch als Datenträger weiterzuverwenden.</p>

<hr>

<h1 id="was-ich-aus-dem-fall-mitnehme">Was ich aus dem Fall mitnehme</h1>

<p>Der ursprüngliche Plan war simpel:</p>

<blockquote><p>Daten herunterkopieren, NTFS löschen, ext4 formatieren.</p></blockquote>

<p>Die Kopierfehler haben den Ablauf jedoch sinnvoll verändert.</p>

<p>Der entscheidende Workflow war am Ende:</p>

<pre><code class="language-text">Datenträger eindeutig identifizieren
        ↓
wichtige Daten mit rsync kopieren
        ↓
I/O-Fehler feststellen
        ↓
SMART-Werte prüfen
        ↓
keine Reparatur oder Formatierung mehr
        ↓
problematische Einzeldateien mit ddrescue retten
        ↓
Dateien je nach Format prüfen
        ↓
brauchbare Rettungen einsortieren
        ↓
defekte HDD ausmustern
</code></pre>

<p>Besonders hilfreich war die Kombination aus Werkzeugen:</p>

<pre><code class="language-text">lsblk / findmnt / efibootmgr
        → richtige Platte identifizieren

rsync
        → möglichst viel normal kopieren

smartctl
        → Hardwarezustand einschätzen

ddrescue
        → problematische Einzeldateien gezielt retten

file / unzip / pdfinfo / ffprobe / ffmpeg
        → prüfen, ob die Rettung tatsächlich brauchbar ist
</code></pre>

<p>Der vielleicht wichtigste Punkt: Ein SMART-Status <code>PASSED</code> bedeutet nicht automatisch, dass eine Festplatte gesund ist. Wenn gleichzeitig hunderte oder tausende problematische Sektoren und reale I/O-Fehler auftreten, sollte man die einzelnen SMART-Werte und das tatsächliche Verhalten der Platte ernst nehmen.</p>

<p>Und ebenso wichtig: Eine Datei ist nicht automatisch intakt, nur weil sie zu 99 Prozent gerettet wurde oder <code>file</code> noch den richtigen Dateityp erkennt. Erst ein formatgerechter Test zeigt, wie viel wirklich noch verwendbar ist.</p>
]]></content:encoded>
      <guid>https://write.medienzentrum.rocks/linuxatmertengiesen/daten-von-einer-sterbenden-ntfs-festplatte-unter-linux-retten-rsync-smart-und</guid>
      <pubDate>Wed, 16 Sep 2026 13:19:39 +0000</pubDate>
    </item>
  </channel>
</rss>