![マウントされたファイルシステムをコードページ間で変換するにはどうすればよいですか?](https://rvso.com/image/1303448/%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88%E3%81%95%E3%82%8C%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%92%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9A%E3%83%BC%E3%82%B8%E9%96%93%E3%81%A7%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
ext3
以前 Linksys NLSU2 NAS デバイスに接続されていた、(基本的に)でフォーマットされた外付けドライブがあります。現在、NSLU2 は壊れており、ファイル名が Windows コードページ ( cp850
) を使用しているため、ディスク上のファイルの復元に苦労しています。Windows の「ext2fsd」というツールを介してディスクにアクセスでき、適切なコードページを選択するオプションがあります。ただし、私の Windows コンピューターはかなり古く、ext2fsd ツールは時々クラッシュします。
Ubuntu でディスクをマウントしようとすると、コードページが非標準であるためファイル名が壊れていると思われます。次のことが可能ですか?
- ディスクで使用されているコードページを使用して、Ubuntu でドライブを ext3 としてマウントしますか?
- 変換するコードページを ext3 に適した標準のものに変更しますか?
答え1
ファイル名を修正するにはconvmv
、Windowsで利用できるかどうかはわかりませんが、Ubuntuにはリポジトリがあります。これはまさにこのユースケースで使用したツールです。マニュアル:
convmv は、単一のファイル名、ディレクトリ ツリーとそれに含まれるファイル、またはファイル システム全体を別のエンコーディングに変換するのに便利です。ファイル名のみを変換し、ファイルの内容は変換しません。convmv の特別な機能は、シンボリック リンクも処理し、シンボリック リンク ターゲットが変換される場合はシンボリック リンク ターゲット ポインターも変換することです。
これらはすべて、古い 8 ビット ロケールから UTF-8 ロケールに切り替えたい場合に非常に便利です。また、すでに部分的に UTF-8 でエンコードされているディレクトリを UTF-8 に変換することもできます。convmv は、特定のファイルが UTF-8 でエンコードされているかどうかを検出し、デフォルトでそれらをスキップします。このスマート機能をオフにするには、--nosmart スイッチを使用します。