今となってはDVDなどの「メディアに焼く」という行為はほとんどないが、ごくまれに必要がある。
以前は焼く機会も多かったのだが、いざやるとなるとコマンドすら忘れている。 というわけで、自分のためにメモを残しておく。
Debianの Wikiにgenisoimageとxorrisofsの説明があって、リファレンスとしてはこれが便利そう。
genisoimageはCygwin上でも使える。
目次
コマンド例
普通は以下のようなコマンドを使えば良い:
genisoimage -v -J -r -V VOLUME_LABEL -o image.iso ./
オプションの意味
それぞれのオプションの意味を訳しておく:
-v : 冗長モード
重大でない問題や気にしておく事について少し長めに説明する。
-J: MS-Windowsでの読み込みに適した2番目のスーパーブロックとディレクトリツリーを作成できる。
Jolietのファイル名は16ビットのUnicodeで指定され、各パスのコンポーネントは64文字までのUnicode文字で指定できる。 Linuxは、メイン・ディレクトリ・ツリーにRock Ridge情報が追加されていない場合、このツリーを使用する。
-r: 所有者、パーミッション、タイムスタンプ、ファイルタイプ、シンボリックリンクターゲットなどの典型的なPOSIXファイルプロパティを記録するRock Ridge情報の作成を可能にする。
Rオプションとは異なり、ハードディスク上の所有権を保持するのではなく、所有者のUIDを0に設定し、パーミッションを読み取り専用と検査専用に設定する。Rock Ridgeが存在する場合、Linuxはメイン・ディレクトリ・ツリーをマウントし、Rock Ridgeを使用してオリジナルの文字で長い名前を表示する。
-V: ISO 9660 ファイルシステムの名前を設定する。
これは、書き込まれた光メディアが udevによって監視されているリーダードライブに挿入されたときに、ディレクトリ/dev/disk/by-labelのリンク名として使用される。
VOLUME_LABEL の代わりに、自分の好きな名前を使う。
-o: 生成されるISO 9660 イメージファイルの名前を設定する。image.isoの代わりに適当なパスを使う。
最後の引数 ./ はISO 9660 ファイルシステムにコピーされる入力ファイルまたはディレクトリのパス。
ディレクトリの場合は、その下にあるすべてのファイルとディレクトリもコピーさる。
上の例では、カレントディレクトリがイメージ・ファイルに格納される。
おまけ
xorriso でISO 9660, Rock Ridge, Joliet, HFS+ についての説明があった。
ISO 9669
ISO 9660(別名 ECMA-119)は、読み取り専用のファイルシステムで、主に光学メディアCD、DVD、BDに使用されるが、ディスクファイル、USBスティック、ディスクパーティションなどの他のストレージデバイスに存在することもある。 多くのオペレーティングシステムやパーソナルコンピュータのブート機能で広く読まれている。
ISO 9660は、大文字と小文字の区別のない、非常に限定されたファイル名でディレクトリとデータファイルを記述する。 そのメタデータは基本的なPOSIX仕様に準拠していない。
Rock Ridge
Rock Ridgeは、ISO 9660ファイルシステムを強化する追加情報のセット名で、所有権、アクセス許可、シンボリックリンク、その他の属性を持つPOSIX準拠のファイルシステムを表すことができる。 Rock Ridgeでは、ファイル名は255バイトまで、パスは1024バイトまで許されている。
xorrisofs はデフォルトで Rock Ridge 情報を生成する。 この機能を無効にすることは強く推奨されない。
Joliet
Jolietは、UTF-16でエンコードされた64文字までのファイル名を提供する追加ディレクトリツリーの名前である。 Jolietツリーは、主にMicrosoft CorporationのオペレーティングシステムでISOイメージを読み込む際に有用だ。 このディレクトリツリーの作成は、オプション -J で有効化できる。
ISO 9660:1999
ISO 9660:1999 は、より長いファイル名を提供する追加ディレクトリツリーの名前である。 これにより、1つのファイル名に207文字まで使用できるようになる。 これは、Rock Ridge も Joliet も読めないが、それでも長いファイル名を必要とする 古いコンピュータシステムのブート機能で使えるかもしれない。 このディレクトリツリーの作成は、オプション -iso-level 4 で有効にすることができる。
HFS+
HFS+は、通常ハードディスクや同様のデバイスの書き込みと読み取りに使用されるファイルシステムの名前である。 HFS+ パーティションを ISO 9660 イメージに埋め込み、Apple Partition Map エントリでマークすることができる。 これは -G や -isohybrid-mbr のように ISO イメージの最初の 32 KiB にデータをコピーするオプションと干渉する。
hfsplusオプションを参照してほしい。
HFS+パーティションを埋め込む主な目的は、特定のモデルのアップルコンピュータの起動である。
さらにおまけ
ちなみにxorrisoの名前の意味は X/Open, Rock Ridge ISO とのこと。読み方は “コリゾ”のように読むらしい。
i pronounce `xorriso` (https://t.co/4NwZXB8uYm) as "chorizo"
— ashley williams (@ag_dubs) October 27, 2016
plz confirm that i am 💯 correct k thx #rustbeltrust