お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2012-12-29 21:41:52

sakuyatomoe
新しいメンバ
登録日: 2012-12-27

新規SSDに fdisk を実行した時の最初のセクター番号の件

最近、ubuntu 12.04 LTS を使いはじめて気がついた事です。

新規にSSDを購入し、fdisk でパーティーションを作成する際に、最初のセクターが1にならない
という現象に出くわしました。 

新規SSDをUSBケースに入れたもので、同じものをubuntu 12.04 LTSと古いPCに実装
されていた Fedora Core4 で比較しました。

直感的には、最初のセクター番号/シリンダー番号は「1」になるべきのように思いますが
ubuntu 12.04 LTS の場合は「2048」から始まります。

これはubuntu 12.04 LTS に実装されている fdisk の仕様なのでしょうか?

以上、ご教示をお願いいたします。


具体的に、新規SSDに fdisk を実行した時のメッセージを以下に転記します。

(ubuntu 12.04 LTSの場合)

デバイスは正常な DOS パーティションテーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルをディスク識別子 0xc88fbefe で作成します。
あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
その後はもちろん以前の内容は修復不可能になります。

警告: パーティションテーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
パーティション番号 (1-4, 初期値 1): 1
最初 セクタ (2048-234441647, 初期値 2048):


(Fedora Core4 の場合)

デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 14593 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-14593, default 1):

オフライン

 

#2 2012-12-31 19:30:12

Crush
メンバ
登録日: 2009-02-10

Re: 新規SSDに fdisk を実行した時の最初のセクター番号の件

仕様です。
セクタとシリンダは別のものです。違うものが基準なら取られる値が違うのは当然です。PC/AT互換機では最初のパーティションは「最初のシリンダ」ですので、多くの場合は、63セクタ目になりますし、いずれにしても「1セクタ目」はありえません。
CHSというアドレス指定自体が形骸化しているのですが、歴史が作り出した幻のようなものです。
Fedoraでも「セクタ」ではなく「シリンダ」と書かれていますよね?これは多く使われているジオメトリでは、63セクタ目に当たります。
2048セクタ目な理由は、4KiBセクタフォーマットのHDDが出てきたことが大きな理由になると思います。
なぜそうなるか?は割り算してみればわかります。割り切れればいいので、ジオメトリ側を調整するという別解もあります。

http://hpcgi1.nifty.com/yosh/sp/aft/
Bigsectorについてはわざわざ説明するより、既存のドキュメントのほうがこなれてると思うので、一例を示します。わかりづらいようなら探せばいろいろなドキュメントが見つかると思われます。
SSDも、その構造的な制御単位から、
http://d.hatena.ne.jp/Lansen/20100724/1279973697
このような具合です。
興味があるようなら目を通してみてください。
余計なことをせずに初期値で使うほうが幸せになれますが、設定を変更することも可能ですので、コマンドラインでヘルプを表示してみるといいかと思います。

オフライン

 

#3 2013-01-01 05:40:44

sakuyatomoe
新しいメンバ
登録日: 2012-12-27

Re: 新規SSDに fdisk を実行した時の最初のセクター番号の件

Crush様、わかりやすいご説明、ありがとうございました。
今回の現象が仕様である事を理解しました。

オフライン

 

#4 2013-01-01 21:43:31

Crush
メンバ
登録日: 2009-02-10

Re: 新規SSDに fdisk を実行した時の最初のセクター番号の件

https://wiki.ubuntu.com/LucidLynx/ReleaseNotes/ja#A.2BMNEw.2FDDGMKMwtzDnMPNYg3VMUCQwblkJZvQwazCIMIowAXJ5W5owbjC3MLkwxjDgMGeNd1LVMGtZMWVXMFcwfjBZ-
一部では、パーティション開始位置の変更によって障害が発生していました。
最新のものではありませんので、現状がどうなっているかはわかりませんが。

現状の「初期値」なのは間違いないですし、デバイスのセクタサイズや種類によって変化するものではなく、一律開始位置のオフセットは2048セクタです。
オフセットは条件が満たされれば、別の値をとってもいいので、このオフセット値は他所にあわせたものだとは思います。

fdisk -H 64 -S 32 と民生品のNASの一部ではパラメータを与えることで対応しているケースもありました。
多分こちらのほうが無駄な領域は減りそうな気はしますが、主観で「べき」と考えるのではなく、何を意味しているのかを調べてみると、答えは見つかることが多いです。

オフライン

 

Board footer

Powered by FluxBB