FreeBSD QandA 680
Q. od ドライバを使っていますが、買ったばかりのリムーバブルディスク
(MO,PD,DVD-RAM etc.) を ufs でフォーマットするために disklabel しよう
とすると、
disklabel: ioctl DIOCSDINFO: No space left on device
というメッセージが出てできません。
A. A1. この現象は、CURRENT と 2.2 系で同時期に行われた、ディスクラベル の書き
込み時のチェック強化によって発生しているものだと思われます。2.2.2R 以前の
古いdisktab エントリを使っていると生じます。回避策としては、使っているドラ
イブ(MO,PD,DVD-RAM etc.)用の disktab エントリに新たに su パラメータを追加
するか、最新の od-driver パッケージ(現在のところ 2.2.7R 用まで用意されてい
ます)
<URL:ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-jp/OD/od-driver-2.2.7R.tar.gz>
に含まれている新しい disktab エントリに置き換えてください
A2. disktab エントリに su パラメータがあっても上記のことが起こる場合はすで
にディスクメディアが MSDOS/WIN95 などでフォーマットされており、スライス化
されているために disklabel が空き領域をみつけられなくてエラーになっている
と思われます。fdisk コマンドでスライスの情報を消すか、以下のように
dd if=/dev/zero of=/dev/od0 bs=2048 count=4
dd コマンドでディスクの先頭部分に 0x0 を書き込めば disklabel できます。
A3.また別の方法として、以下のコマンドでパラメータを自動設定して書き込むこ
とも可能です。
disklabel -r -w -B od0 auto
この場合は、disktab の修正は必要ありません。ただし、最小限のパーティション
設定になっているので必要ならあとでディスクラベルを編集しなければなりません。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。