父は、Windows 95(オランダ語)で作成された .5インチの「フロッピー」ディスク のバッチを残しました。内容をコピーしたいです。フロッピードライブを備えた私の唯一のコンピューターはUbuntu 12.04.5 LTSを実行します。
udisks
パッケージをインストールした後、
udisks --mount /dev/fd0
/media/floppy0
にコンテンツをマウントします。
これは標準(8.3)DOSファイル名のファイルには問題ありませんが、他に何かがあるとひどく間違ってしまいます。
ls -l /media/floppy0 /bin/ls: cannot access /media/floppy0/vï▐ffφl.: Input/output error /bin/ls: cannot access /media/floppy0/$Θh²çⁿ.tΘ: Input/output error /bin/ls: cannot access /media/floppy0/ëG╟+.|√═: Input/output error /bin/ls: cannot access /media/floppy0/t╛n}φa.2σ═: Input/output error total 13395579
-r-xr-xr-x 1 rp root 1476370920 Dec 25 1959 ╣?.???
-rwxr-xr-x 1 rp root 641204006 Jan 30 1980 └≤½Θ- ps.QR3
-r-xr-xr-x 1 rp root 1346403387 Dec 19 1905 6?|■└ó<|.í7|
-rwxr-xr-x 1 rp root 48514 Jan 1 1980 BL.WDB
-rwxr-xr-x 1 rp root 3728 Aug 25 2000 CADRE.WP
-rwxr-xr-x 1 rp root 2857697280 Dec 31 1979 COM d????????? ? ? ? ? ? ??ëG?╟?+.|√═
-rwxr-xr-x 1 rp root 2294480508 Dec 11 1966 ï?=|Ω
-rwxr-xr-x 1 rp root 152428 Dec 23 1991 KAART2.WKS
-rwxr-xr-x 1 rp root 12909 Jan 1 1980 KABRO.WKS
-rwxr-xr-x 1 rp root 8554 Nov 28 1991 K.BRO drwxr-xr-x 2 rp root 1024 Nov 28 1991 KOPIE
-rwxr-xr-x 1 rp root 47250 Nov 28 1991 L39.ZND
-rwxr-xr-x 1 rp root 0 Dec 19 1991 LIJST39.WEK d????????? ? ? ? ? ? t?╛n}φa.2σ═
-r-xr-xr-x 1 rp root 1963196670 Jan 6 2038 ├┬?.ⁿ?u d????????? ? ? ? ? ? vï▐ffφl?.???
-rwxr-xr-x 1 rp root 21774 Dec 31 1979 WIELEK.WDB
-rwxr-xr-x 1 rp root 22612 Dec 31 1979 WIELGA.WDB
-rwxr-xr-x 1 rp root 23255 Dec 22 1991 WIEL.WBL
-rwxr-xr-x 1 rp root 27044 Jan 1 1980 WIEL.WDB
-rwxr-xr-x 1 rp root 0 Jan 8 1980 δ4ÉIBM.3.2 d????????? ? ? ? ? ? $?Θh²çⁿ?.t?Θ
-rwxr-xr-x 1 rp root 3137341625 Nov 26 1907 Θ╨■φ? s?.├╛?
(無意味なファイル名だけではありません:このフロッピーの内容をrsync
ingすることで5GBのファイルが得られ、その時点でディスク容量が不足しました。)
私の推測:VFATパス名の変換が誤って試行されるか、まったく試行されません。
これを修正する方法は?
this one などのGoogleで見つけたページは、 iocharset
およびcodepage
マウントオプション に適切な値を指定することの問題であることを示唆しています。
これは本当ですか?使用する値は?そして、まず第一に:それらを供給する方法は?
udisks
は、指定されたマウントオプションをすべて無視します。
$ udisks --mount /dev/fd0 --mount-options='ro,iocharset=utf8,codepage=1252,foo=bar'
Mounted /org/freedesktop/UDisks/devices/fd0 at /media/floppy0
$ fgrep fd0 /proc/mounts
/dev/fd0 /media/floppy0 vfat ro,nosuid,nodev,relatime,uid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
(それは私が言ったことではありません!)
直接mount
は黙って失敗します:
$ Sudo mount -t vfat /dev/fd0 /mnt
mount: block device /dev/fd0 is write-protected, mounting read-only
$ fgrep fd0 /proc/mounts
(何も返しません。マウントは機能しません)。
少なくともこの方法で、どのcodepage
sが有効かを確認できます。
$ Sudo mount -t vfat -oro,codepage=850 /dev/fd0 /mnt
$ fgrep fd0 /proc/mounts
$ Sudo mount -t vfat -oro,codepage=85 /dev/fd0 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/fd0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or s
しかし、私が必要なのは、そのようなコードページで実際にmount
する方法です。
なにが問題ですか?他に何ができますか?
mount
コマンド引数-t
は、ファイルシステムタイプを指定します。使用方法は近いですが、-t
とファイルシステムタイプの間にスペースが必要です。コマンドを次から変更します。
$ Sudo mount -tvfat /dev/fd0 /mnt
に:
$ Sudo mount -t vfat /dev/fd0 /mnt
申し訳ありませんが、実際の出力がどのように見えるかを示すためにfloopyドライブを備えたマシンにアクセスすることはできません。
正当なファイル名と作成日を含む例の各ファイルのファイルサイズを合計すると、合計は328,058になります。これは、その容量(1MB)のフロッピーディスクで予想される結果に関するものです。
明らかに、5 GBのファイルや、1959年または2038年に作成されたファイルは、ほぼ30年前のストレージデバイスにはありません。
問題がこれらの古いフロッピーから正当なファイルを回復することである場合、適切な名前、ファイルサイズ、および日付のファイルをコピーするだけで可能になりました。
私はこの古いものをテストするためのハードウェアを持っていませんし、udisksがこれらの古代のドライブをサポートしているとしか想定できません。おそらくそうではないと思います。または少なくとも完璧ではありません。
これらのデバイスのファイル構造を適切に読み取るマウントスキームを作成する方法があるかもしれませんが、ファイルを回復するだけであれば、多くの作業のように思えます。
Sudo mount /dev/fd0 /floppy -t vfat
動作するはずの「...」.
Win95はずっと前のことであり、NTFSはその頃とは思いません。しかしもちろん、[リモートではあるが] 1つの可能性は、フロッピーがFATデバイスとしてフォーマットされていないことです。
そして、ネイティブIDEコントローラーとUSBインターフェースの互換性の問題が常にあり、後者(使用していると思います)がドライブハードウェアおよびメディアと忠実に通信するかどうかです。