トップページ -> コンピュータ -> FreeBSD ユーザ向け情報 -> CD-R の ISO イメージの作り方
[サイトマップへ]   [検索へ]  

CD-R の ISO イメージの作り方

Index


 

始めに

計算機研4階の Windows マシンに入っているソフトでは、 今まで vfat の制約を越えるようなファイルを焼くことが出来ませんでした。 例えば、

    Makefile 
makefile

のように、大文字・小文字だけの違いしかないファイルは 同一のファイルとみなされてしまいます。 (誰かから聞いた覚えがあるだけで、確認はしていません。)

そこで、今回は unix 上で動くイメージ作成ソフトを使って CD-R を焼いてみようと思います。

To Index

 

iso9660 のイメージを作る

次のようにすれば image-dir 以下のディレクトリを image.iso というイメージファイルとして作成することが出来ます。

% mkisofs -R -a -d -l -N -L -o image.iso image-dir

以下のオプションが使えます(他にもいろいろあります)。

必須のもの

-o image.iso
イメージを書き出すファイルを指定します。 ".iso" という拡張子を使うと、Windows 95 の CD-R 書き込みソフトの 関係上便利です。
image-dir
ここで指定したディレクトリの中身を iso9660 イメージに変換します。
指定すると嬉しいもの
-a
'~' や '#' を含むファイル(通常これらはバックアップファイルとみなされる) もイメージに入れます。
-R
Rock Ridge 拡張を用いて SUSP レコードと RR レコードを 作ります(???)。
UNIX 系 OS で読む様な CD を作る時は、次の -r とこれのどちらかが 必ず必要だと考えてもいいでしょう。
-r
-R オプションと同じですが、以下の点が異なります。 要するに、誰にでも読める様にするということですな。
-T
TRANS.TBL というファイルを各ディレクトリに作ります。 このファイルはファイル名の対応表で、Rockridge 形式の CD-ROM を読めないシステムでディスクを読まなければならない時に (人間が)参考にするものです。
指定すると、iso9660 から外れるが、通常あまり問題のないもの。
-d
通常 '.' を含まないファイルの末尾には '.' をつけますが、 これを付けないようにします。
-D
iso9660 では通常サブディレクトリは8段階までしか許されていないため、 それ以上深いディレクトリは再配置されますが、これを行わずに ディレクトリをそのままの位置に配置します。
-l
通常 MS-DOS との互換性のためにファイル名を 8.3 形式にしますが、 32 文字迄のファイル名を許可します(iso9660 level 2)。
-N
iso9660 のバージョンナンバーを省きます。
-L
'.' で始まるファイル名を許します。
指定しなくてもいいもの
-A application_id
アプリケーションIDを指定します。
-V volume_id
ヴォリュームラベルを指定します。
-f
ファイルシステムを作る時に、シンボリックリンクをファイルの実体に 置き換えます。Rock Ridge 拡張が使えないシステムでは有効ですが、 使えるシステムでは無駄なだけでしょう。

普通の CD-ROM を CD-R に焼く時は、dd で CD-ROM の内容をイメージファイルとして 吸い出せばいいので、上の方法を採る必要はありません。

# dd if=/dev/scd1 of=image.iso
/dev/scd1 は OS やマシンによって変化します。

勿論、全ての CD-ROM がこの方法で OK という訳ではないと思いますが。 (音楽 CD や CD-I なんかはどうなんでしょう?)


To Index

 

出来たイメージの確認

イメージファイルをあたかも実際のファイルシステムのように マウントして確認することが出来ます。

Linux の場合

カーネルの再構築の時に loopback device を有効に しておかないといけません。又、/dev/loop[0-9] が必要です。

次の様にすると、image.iso をあたかも CD-ROM であるかのように /cdrom にマウントすることが出来ます。

       # mount -t iso9660 -o loop image.iso /cdrom
       

ここで気をつけないといけないのが、loopback デバイスによる イメージファイルのマウントは、ローカルなファイルシステム でないと行えないということです。 つまり、NFS ごしにはマウントできません。

確認が終ったら次の様にしてマウントを外します。

       # umount /cdrom
       

BSD/OS の場合 (うまくいきませんでした。正しいやり方がわかる方は 教えて下さい。)

カーネルの再構築の時に vnode disk devices を有効にしておかないと いけません。又、/dev/vnd が必要です。

次のようにしてマウントします。

       # vndconfig image.iso
# mount -t cd9660 /dev/vnd /mnt

確認が終ったらアンマウントしましょう。

       # umount  /dev/vnd
# vndconfig -c
FreeBSD の場合

次のようにしてマウントします。

       # vnconfig /dev/vn0c image.iso
# mount -t cd9660 /dev/vn0c /mnt

アンマウントはこんな感じです。

       # umount /mnt 
# vnconfig -u /dev/vn0c

マウントしてしまった後は、通常の CD をマウントした時のように image-file の中を見ることが出来ます。 心行くまで確認して下さい。

To Index

 

CD-R を実際に焼く

CD-R を焼くには安定した転送速度を維持する必要があります。 もしネットワークごしにイメージファイルが見えたとしても それを Windows のローカルなディスクに ftp などで 一旦転送してから作業を始めて下さい。

To Index