ローカルのファイルシステム上ではうまく作動するのに、
CD-Rに焼くとうまく作動しない。
そんな場合のひとつの対処方法。
原因がわかればいいのだが、わからない場合、 まずは再現環境をつくらないとトラブルシューティングは難しい。 しかし、トラブルシューティングのたびに、繰り返し CD-Rを焼くのも手間がかかりすぎるので、いい方法はないか?
ここでは、 isoファイルを作成するのに、cygwinを、 作成したisoファイルをテストするために、ParallelsWorkstationを 使用しています。
cygwin上で、mkisofs.exe コマンドを使う。
cdromディレクトリにCD-Rに焼くファイル一式を収めておいた上で
以下のようにする。
$ cd cdrom
$ mkisofs.exe -r -J -o ../cdrom.iso .
Unknown charsetになった場合
実行環境によっては、 Unknown charset というエラーメッセージが出ることがある。
この場合は、 export LANG=ja_JP.UTF-8 してcharsetの設定をしておく。 (または対応している適切な charsetに設定)
$ cd cdrom $ export LANG=ja_JP.UTF-8 $ mkisofs.exe -r -J -o ../cdrom.iso .
追記:CD-Rに焼いたときにディスク名をつけたり、文字コードの問題を回避する
単純に以下のようにしたのでは、作成したCD-RをWindowsでみたときに、 ディスク名が”cdrom”という無味乾燥な名前になってしまう。
$ mkisofs.exe -r -J -o ../cdrom.iso .
調べてみると、mkisofsにはオプションがあり、細かい調整が可能なことが判明。
- http://www.eng.maritime.kobe-u.ac.jp/~i_asano/misc/mkisofs/mkisofs.html
CD-ROMのディスク名をつけるには、-V オプション コピーライト情報は -publisher オプションで。
$ cd cdrom $ mkisofs -input-charset euc-jp -output-charset euc-jp -r -D -J -V "mycdrom" -publisher "ObjectDesign Inc." -o ../cdrom.iso .
作成したcdrom.iso をParallelsのCD-ROMデバイスの設定で指定して、起動する。