タイトルBrowsing Mac OS X》Mac OS X 10.1で追加されたCD-R作成機能を試してみる(3)CD-ROMのコピーを行うカテゴリーメディア制作, 周辺機器, Browsing Mac OS X
作成日2001/12/14 14:3:18作成者新居雅行
Mac OS XやMac OS 9では、Finderで必要なファイルをCD-Rに書き込むという機能が利用できるようになったが、CD-ROM等のディスクをまるごとコピーする機能はさすがにFinderには組み込まれていないようだ。もちろん、市販ソフトウエアのコピーをするのはいけないことだが、たとえば同じ内容のCD-Rを複数作ることもあるだろう。筆者もちょうど数カ月前に、ピアノの発表会の記録CDを大量手生産したが、そのときはWinCDRでの複製機能を利用して作成した。そんなニーズがある場合、「そのままコピー」ができれば便利だ。
Mac OS XではFinderの機能ではなく、UtilitiesフォルダのDisk Copyの機能を使えば比較的簡単にできる。ポイントは、マウントしているCD-ROMのイメージファイルを作成し、それを元に新たにCD-Rへの書き込みを行うということである。Disk Copyを起動してからの作業手順でその方法を示しておこう。

◇コピーもとのディスクをCD-ROMドライブに挿入してマウントしておく。そして、Disk Copyで「イメージ」メニューから「装置から新規イメージを作成」(Command+shift+I)を選択する。
 

◇装置セレクタというダイアログボックスが出てくる。ここでCD-ROMドライブを選択するのだが、必ずしもdisk2とは限らない。階層表示を開いて「CD_ROM_Mode_1」のような項目が出てくるのがCD-ROMドライブであると思われるが、筆者の機器以外では未確認だ。この1レベル下にある「CD_ROM_Mode_1」の項目を選択して、「イメージ」ボタンをクリックする。
 

◇作成するイメージファイルを保存するフォルダとファイル名を指定する。ファイル名の末尾には自動的に.cdr.dmgという拡張子がつくので、そのつもりで拡張子抜きの名前をしていするのがポイントとなる。また、イメージフォーマットは「DVD/CDマスター」を選択しておくのが良い。暗合化はとりあえず「なし」でいいだろう。
 

◇ディスクイメージが作成される。しばらくかかる。ディスクイメージが作成されたらメッセージがウインドウに出るので、そこでとりあえずCD-ROMはドライブから取り出しておこう。
 

◇続いて、CD-Rへの書き込みを行う。CD-RWドライブの接続や電源などの準備を整えるが、CD-Rディスク自体はまだこの段階では入れない。そして、先にDisk Copyで「イメージ」メニューから「イメージをCDに作成」(Command+B)を選択する。
 

◇書き込みイメージファイルを選択する。つまり、さきほど作成したイメージファイルを選択すれば良い。
 

◇まず、このようなダイアログボックスが表示されるので、ここでCD-Rドライブをオープンして、生のCD-Rディスクを挿入する。
 
 
◇CD-Rディスクが挿入され、ドライブで認識されれば、次のようにダイアログボックスの表示が変わる。作成オプションや作成後の操作を適当に選択するが通常はそのままでOKだろう。そして、「CDを作成」ボタンをクリックする。メッセージがなぜかきちんと日本語化されていないが気にしないで進もう。
 

◇書き込みが行われる。前の図のような設定なら、書き込みが終わると、チャイムの音が鳴って知らせてくれる。また、ドライブからCD-Rが取り出される。
 

何枚も作成するのであれば、「イメージ」メニューから「イメージをCDに作成」(Command+B)を選択する以降の作業を何度か繰り返せばよい。ファイルをいちいち選ぶのがちょっと面倒ではある。
以上の方法は、CD-ROMコピーということにフォーカスしているが、前半はCD-ROMの中身をハードディスクに入れて持ち歩くという手段としても使えるだろう。出来上がったディスクイメージファイルをダブルクリックすると、そのディスクの内容でデスクトップにマウントされる。ただ、ディスクイメージの作成で「DVD/CDマスター」を選択しているのだが、この選択肢の既定値はcompressedつまり圧縮形式となっている。場合によっては圧縮してディスク領域をかせぐということもあり得るだろうが、けっこう時間がかかるので、実は筆者は最後まで圧縮したことがない。
作成したディスクイメージについては削除してもいいが残しておいてもいいだろう。残しておけば、後日コピーディスクの追加を作成するときに、前半の手間をかけなくていいわけだ。

ところで、以上の手続きをいちいち手作業でやるのなら、AppleScriptを使えばいいじゃないかと思うところだ。Mac OS 9のDiskCopyがスクリプト対応だったからそう思う方も多いだろう。だが、残念ながら、Mac OS XのDisk Copyはスクリプト対応ではない。
ソリューション化したいとなると、たとえばシェルスクリプトを組むことになるだろう。そのためのコマンドを紹介するが、もちろん、以下はTerminalでの入力を行う必要がある。ディスクイメージファイルをもとにCD-Rドライブに書き込むコマンドとして、hdiutilがある。これを使うのであるが、以下の方法は試してみたところできたというレベルのものなので、実際の運用ではテストを十分にしてかかっていただきたい。
まず、CD-ROMドライブにマウントしたディスクのイメージファイルを作る方法であるが、デバイスのエントリから次のようにすればファイルに落とすことができるようだ。もちろん、ある程度時間はかかる。

cat /dev/disk2s1 > ~/temp.dmg

これにより、自分のルートフォルダにtemp.dmgというファイルが作成され、挿入しているCD-ROMのイメージファイルとなる。実際にこのファイルをFinderでダブルクリックするとマウントされるのが確認できるだろう。ここで、disk2s1というデバイスがCD-ROMであるということを知ってかかっている。言い換えれば常にdisk2s1がCD-ROMだとは限らない。ここでは、Disk Copyで確認してあるデバイスなので、これを指定してcatコマンドで中身を取り出してファイルに保存したらうまくいったという次第である。(ちなみに、disk2s1s1やdisk2s1s2というエントリも/devにあるが、これらはCD-ROMの中に作成されたパーティションそれぞれのようである。)
一方、作成されたtemp.dmgと同じ内容をCD-Rに書き込む場合は、次のようなコマンドでとりあえずうまく行く。最初はドライブにはCD-Rディスクは挿入しないでおく。

hdiutil burn ~/temp.dmg

コマンドを入れると、以下のようにコンソールに表示が行われる。「Please insert a disk:」は点滅するので、それを確認したらドライブにディスクを入れる。すると自動的に書き込みが始まるようだ。書き込み後にイジェクトしないなどのオプションの設定もできる。

Please insert a disc:
Initializing
Opening session
Writing track
..............................................................................
Closing session
Verifying
...............................................................................

...............................................................................

hdiutil: burn: completed

ただし、筆者の環境では、こうして作成されたディスクをCD-ROMドライブに挿入しても、認識しなかった。自動的にマウントはしなくなってしまたのである。Mac OS Xを再起動したところ作成したCD-RをCD-ROMドライブで確認できた。だから、ディスクはこれでできるけど、その後の作業には支障が出る可能性があるというわけだ。いずれにしても、何らかの処置が必要なのかもしれない。
なお、ここでは、CD-ROMドライブがdisk2であることが分かっているが、プログラムでそれを判別できるかどうかは微妙なところである。「hdiutil pmap /dev/disk1s1」と行ったコマンドでの出力結果から自動判別はできるのかもしれないが、複雑なことをするよりも、デバイス名を自分で与えた方が、ここまでやる方なら簡単と思うかもしれない。
なお、ディスクイメージファイルを圧縮するなどのもhdiutilで可能である。manコマンドでマニュアルを確認していただければいいだろう。けっこういろんな機能がある。
(この項、以上)
関連リンク