Wie konvertiere ich ein gemountetes Dateisystem zwischen Codepages?

Wie konvertiere ich ein gemountetes Dateisystem zwischen Codepages?

Ich habe ein externes Laufwerk, ext3das (grundsätzlich) in formatiert ist und vorher an ein Linksys NLSU2 NAS-Gerät angeschlossen war. Jetzt ist das NSLU2 kaputt und ich habe Probleme, die Dateien auf der Festplatte wiederherzustellen, weil ihre Dateinamen eine Windows-Codepage verwenden ( cp850). Ich kann über ein Tool namens „ext2fsd“ in Windows auf die Festplatte zugreifen, wo ich die Möglichkeit habe, die richtige Codepage auszuwählen. Mein Windows-Computer ist jedoch ziemlich alt und das Tool ext2fsd stürzt von Zeit zu Zeit ab.

Wenn ich versuche, die Festplatte in Ubuntu zu mounten, bekomme ich fehlerhafte Dateinamen, weil die Codepage vermutlich nicht dem Standard entspricht. Ist es möglich:

  1. Das Laufwerk in Ubuntu als ext3 mit der auf der Festplatte verwendeten Codepage mounten?
  2. Konvertierendie Codepage auf eine für ext3 geeignete Standardpage umstellen?

Antwort1

Ich würde versuchen, die Dateinamen mit zu reparieren convmv- ich bin mir nicht sicher, ob es für Windows verfügbar ist, Ubuntu hat es in Repositories. Dies ist ein Tool, das ich für genau diesen Anwendungsfall verwendet habe. Von seinerHandbuch:

convmv ist dazu gedacht, einen einzelnen Dateinamen, einen Verzeichnisbaum und die darin enthaltenen Dateien oder ein ganzes Dateisystem in eine andere Kodierung zu konvertieren. Es konvertiert nur die Dateinamen, nicht den Inhalt der Dateien. Eine Besonderheit von convmv ist, dass es sich auch um Symlinks kümmert und auch den Symlink-Zielzeiger konvertiert, falls das Symlink-Ziel ebenfalls konvertiert wird.

Dies ist sehr praktisch, wenn man von alten 8-Bit-Gebietsschemata auf UTF-8-Gebietsschemata umsteigen möchte. Es ist auch möglich, Verzeichnisse in UTF-8 zu konvertieren, die bereits teilweise UTF-8-kodiert sind. convmv kann erkennen, ob bestimmte Dateien UTF-8-kodiert sind und überspringt sie standardmäßig. Um diese intelligente Funktion auszuschalten, verwenden Sie den Schalter --nosmart.

verwandte Informationen