質問: スライスcまたはスライス2がディスク全体をカバーするのはなぜですか 数人の友人と話し合っていたのですが、理解できませんでした。 freebsdおよびopensolaris/solarisでは、ドライブをパーティション分割すると、ディスク全体をカバーするパーティションが作成されます。da0s1c c0d0s2 たとえば、opensolarisサーバーのメインハードドライブの出力は次のとおりです。xistence@keyhole.network.lan:/dev/rdsk# prtvtoc /dev/rdsk/c4d0s2 * /dev/rdsk/c4d0s2 partition map * * dimensions: * 512 bytes/sector * 63 sectors/track * 255 tracks/cylinder * 16065 sectors/cylinder * 7296 cylinders * 7294 accessible cylinders * * flags: * 1: unmountable * 10: read-only * * unallocated space: * first sector last * sector count sector * 0 16065 16064 * * first sector last * partition tag flags sector count sector mount directory 0 2 00 16065 117145980 117162044 2 5 01 0 117178110 117178109 8 1 01 0 16065 16064 パーティション2を使用する理由は何でしたか?なぜパーティション0ではないのですか? unixの歴史のどこでこれが決定されましたか?その時点でどのようなレガシー機能が提供されましたか? (私が見つけたものから)完全になくなるgptパーティショニングを使用します。何か面白いもの... parox gptスタイルのパーティショニングとsolarisがvtocレイアウトの観点からそれをどのように表すかについて言及したので、これが1 tbであり、 zfsアレイであり、gptで自動的にセットアップされています。xistence@keyhole.network.lan:~# prtvtoc /dev/rdsk/c5d0 * /dev/rdsk/c5d0 partition map * * dimensions: * 512 bytes/sector * 1953520128 sectors * 1953520061 accessible sectors * * flags: * 1: unmountable * 10: read-only * * unallocated space: * first sector last * sector count sector * 34 222 255 * * first sector last * partition tag flags sector count sector mount directory 0 4 00 256 1953503455 1953503710 8 11 00 1953503711 16384 1953520094
回答: 昔は、ディスク全体の「dd」を使用してバックアップを行っていました。したがって、1つのコマンドですべてを実行できるように、「c」スライスを用意しました。そのため、「c」スライスが存在します。ddは完璧ではありません。ディスクが10%しかいっぱいでない場合、「ジャンク」または(たとえば)「スワップ」に使用される(バックアップには役に立たない)ブロックのコピーに90%の時間を費やします。 「dd」は、ディスクがほぼいっぱいにならない限り、または何らかの理由で正確なブロックごとのコピーが必要な場合を除いて、時間の無駄です。これはすべて、raid-0ディスクミラーリングとボリュームマネージャーがそのような種類のパーティションコピーをすべて行う前のことでした。(誰かが「c」スライスで「ダンプ」について言及しました。それは機能しません。「ダンプ」はファイルごとのコピー[実際には、inodeごと]なので、機能しません。)他の誰かが「なぜそれが最初のパーティションでも最後のパーティションでもないcなのか」と尋ねました。答えは「伝統」です。ケンかデニス(あるいはビル・ジョイかカーク・マックシック)が当時正当な理由を持っていたと私は推測することができるだけです。実際のパーティションには最初の2つのパーティションラベルを使用したと思います。それからある日、誰かがバックアップを実行するために重複するパーティションのアイデアを思いつき、「c」が次に利用可能なパーティションでした。当時は2〜3台のunixマシンしかなかったので、これを2回実行すると、残りの時間に使用される「標準を設定」できます。歴史的な事故が決してうまくいかない標準になる方法の別の例は、この記事で説明されています: bin、sbin、usr/bin、usr/sbinsplitを理解する