はじめに
PS1のCDはかなり古くなっており、今後未来に向けて貴重なソフトウェアを保護する観点からデータのバックアップする方法を考えます。この度、Linuxの通常のCDバックアップ方法(最強の方法)であるddを使ってやってみたら、何故だか何度やってもエラーが出てバックアップが取れませんでした。
Windowsで吸い出す方法は見つかるのですが、Linux上でのやり方はなかなか見つかりませんでしたので、Qiita上に記事を乗せ同じ課題に直面した方への支援をしたい所存であります。
出来なかった方法(ddを使った方法で起きるエラー)
通常のDDをつかったCDのバックアップ手順を行ってみます。
sudo dd if=/dev/sr0 of=CD.iso conv=noerror,sync
noerrorとsyncはそれぞれ読み取りエラーを無視してゼロで埋めるオプションです。無しで行うとエラーが出てすぐに止まるので、試してみました。しかしながらこの方法は不可能でした。
下記のようなエラーが連続で出力され、あるところで進まなくなります。
43373568 bytes (43 MB, 41 MiB) copied, 47.0817 s, 921 kB/s
dd: error reading '/dev/sr0': Input/output error
83736+979 records in
84715+0 records out
43374080 bytes (43 MB, 41 MiB) copied, 47.1179 s, 921 kB/s
dd: error reading '/dev/sr0': Input/output error
83736+980 records in
84716+0 records out
成功した方法(cdrdaoを使った方法)
この方法は下記のURLに書かれてあった方法です。
cdrdaoのインストール
まずcdrdaoというソフトウェアをインストールします。Ubuntu20.04ですとapt経由で導入できました。
sudo apt install cdrdao
これで準備完了です。
バックアップ
下記の方法で出来ました。
cdrdao read-cd --device /dev/sr0 --driver generic-mmc-raw -v 2 --datafile CD.bin --read-raw CD.toc
実行するとカレントディレクトリにCD.binとCD.tocというファイルが作成されます。このCD.binはePSXeやPCSXRなどのエミュレータから利用できることを確認しました。この方法ですべてのPS1のCDがバックアップ可能であるかについては不明です。
過去の遺産が消えていく現在
フロッピーやCDいろんなメディアがドンドン無くなっていく中で、過去の貴重な情報を保護する観点も重要になってくるかと考えています。いつWindowsやLinuxが違うものに変わってしまうかもしれません。気づいたときには過去の遺産を誰も読み出せなくなっているかもしれないのです。このような過去の遺産の置き去りは、急激な電子化の弊害でもあると思います。そのため、過去のデーターのバックアップ方法の確立は人類の命題と言っても過言ではないでしょう。実際に現在フロッピーがヤバイ状況に陥っています。5インチ、8インチ、その他各種3.5インチ規格があり当時の読み方を再現できなければ読めない状況です。
終わりに
今回はLinux上でPS1のCDのバックアップ操作が可能であることがわかりました。Linuxのソースコードは公開されていますから、これで近い将来はバックアップおよび電子化はどうにか可能でしょう。しかしながらこの方法もいつまで可能であるか不明です。cdrdaoが最新のドライブで使えなくなればやり方を修正しなければならないかもしれません。そういった問題は明日にでもすぐに起きることであり、かなり根深い問題であると思います。
この記事がうまく行かなかった人への助けになれば幸いです。