GPART(8) | FreeBSD System Manager's Manual | GPART(8) |
名称
gpart — ディスクパーティショニングの GEOM クラスのための制御ユーティリティ書式
gpart | add -t type [ -a alignment][ -b start][ -s size][ -i index][ -l label][ -f flags] geom |
gpart | backup geom |
gpart | bootcode [ -b bootcode][ -p partcode -i index][ -f flags] geom |
gpart | commit geom |
gpart | create -s scheme [ -n entries][ -f flags] provider |
gpart | delete -i index [ -f flags] geom |
gpart | destroy [ -F][ -f flags] geom |
gpart | modify -i index [ -l label][ -t type][ -f flags] geom |
gpart | recover [ -f flags] geom |
gpart | resize -i index [ -a alignment][ -s size][ -f flags] geom |
gpart | restore [ -lF][ -f flags] provider [ ...] |
gpart | set -a attrib -i index [ -f flags] geom |
gpart | show [ -l | -r][ -p][ geom ...] |
gpart | undo geom |
gpart | unset -a attrib -i index [ -f flags] geom |
解説
gpart ユーティリティは、通常ディスクの GEOM プロバイダをパーティションで区切るために使用されます。最初の引数は、次の取られる動作です:- add
-
geom によって与えられたパーティショニングスキームに新しいパーティションを追加します。パーティションは、
-b
start オプションによって与えられた論理的なブロックアドレスで始まります。そのサイズは、
-s
size オプションで与えられます。 SI ユニット接尾辞は、許可されています。
-b と
-s オプションの 1 つまたは両方を省略することができます。そうだとしたら、それらは、自動的に計算されます。パーティションのタイプは、
-t
type オプションによって与えられます。パーティションタイプは、下記の
「パーティションタイプ」 と表題がつけられたセクションで議論されます。
追加オプションは、次を含みます:
- -a alignment
- 指定されるなら、 gpart ユーティリティは、 start オフセットとパーティション size を alignment 値の倍数に整列するように試みます。
- -i index
- 新しいパーティションでパーティションテーブルのインデックスは、置かれる場所です。インデックスは、パーティションを表すために使用されるデバイス特殊ファイルの名前を決定します。
- -l label
- パーティションにアタッチされたラベル。このオプションは、パーティションラベルをサポートするパーティショニングスキームで使用されるときのみ、有効です。
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- backup
- restore 動作で使用される特別な形式で標準出力にパーティションテーブルをダンプします。
- bootcode
-
(
-b
bootcode を使用して)
geom に関するパーティショニングスキームのメタデータにブートストラップコードを組み込むか、または (
-p
partcode と
-i
index を使用して) パーティションにブートストラップコードを書き込みます。すべてのパーティショニングスキームに、組み込みのブートストラップコードがあるわけではないので、
-b
bootcode オプションは、本来、スキーム特有です (下記の
「ブートストラップ」 のタイトルのセクションを参照)。
-b
bootcode オプションは、ブートストラップコードを含むファイルを指定します。ファイルの内容とサイズは、パーティショニングスキームによって決定されます。
-p
partcode オプションは、パーティションに書き込まれることを意図するブートストラップコードを含んでいるファイルを指定します。パーティションは、
-i
index オプションによって指定されます。ファイルのサイズは、パーティションのサイズより小さくなけらばなりません。
追加オプションは、次を含みます:
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- commit
- geom geom のためのあらゆる保留中 (pending) の変更をコミットします。すべての動作は、デフォルトでコミットされ、保留中の変更の結果となりません。それらが、コミットできないように、 -f flags オプションで動作を変更することができますが、保留中となります。保留中の変更は、geom と gpart ユーティリティによって反映されますが、それらは、実際にディスクに書き込まれません。 commit 動作は、ディスクにすべての保留中の変更を書き込みます。
- create
-
provider によって与えられたプロバイダで新しいパーティショニングスキームを作成します。
-s
scheme オプションは、使用するスキームを決定します。カーネルは、ディスクをパーティショニングするためにスキームを使用することができる前に特別のスキームのサポートがなければなりません。
追加オプションは、次を含みます:
- -n entries
- パーティションテーブルのエントリの数。すべてのパーティショニングスキームには、最小の数と最大の数のエントリがあります。このオプションによって、制限内のエントリの数でテーブルを作成することができます。いくつかのスキームには、最小と等しい最大があり、いくつかのスキームには、無制限と見なされる十分大きな最大があります。デフォルトで、パーティションテーブルは、エントリの最小の数で作成されます。
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- delete
-
geom
geom からパーティションを削除し、
-i
index オプションによってさらに識別されます。カーネルによってアクティブにパーティションを使用することができません。
追加オプションは、次を含みます:
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- destroy
-
geom
geom によって実装されるようにパーティショニングスキームを破壊します。
追加オプションは、次を含みます:
- -F
- たとえ空でなくても、強制的にパーティションテーブルを破壊します。
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- modify
-
geom
geom からパーティションを変更し、
-i
index オプションによってさらに識別されます。パーティションのタイプ、そして/または、ラベルのみを変更することができます。パーティションのタイプを変更するには、
-t
type オプションで新しいタイプを指定します。パーティションのラベルを変更するには、
-l
label オプションで新しいラベルを指定します。すべてのパーティショニングスキームは、ラベルをサポートしません、そのような場合にパーティションラベルを変更しようと試みることは無効です。
追加オプションは、次を含みます:
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- recover
-
geom
geom で不正なパーティションのスキームメタデータを復旧します。追加情報については、下記の
「リカバリング」 と表題が付けられたセクションを参照してください。
追加オプションは、次を含みます:
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- resize
-
geom
geom とさらに
-i
index よって識別されるパーティションをリサイズします。新しいパーティションサイズは、論理的なブロック番号で表され、
-s
size オプションによって与えることができます。
-s オプションが省略されるなら、新しいサイズは、自動的に与えられた geom
geom から利用可能な最大まで計算されます。
追加オプションは、次を含みます:
- -a alignment
- 指定されるなら、 gpart ユーティリティは、パーティション size を alignment 値の倍数に整列するように試みます。
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- restore
-
以前に
backup 動作によって作成され、標準入力から読み込まれたバックアップからパーティションテーブルを復旧します。パーティションテーブルだけが復旧されます。この動作は、パーティションの内容に影響しません。パーティションテーブルを復旧し、必要であるなら、ブートコードを書いた後に、ユーザデータは、バックアップから復旧されなければなりません。
追加オプションは、次を含みます:
- -F
- 復旧する前に与えられた provider でパーティションテーブルを破壊します。
- -l
- それらをサポートするパーティショニングスキームのためにパーティションラベルを返します。
- -f flags
- 追加の操作上のフラグ。使用に関する議論については、以下の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- set
-
パーティションエントリで名前が付けられた属性を設定します。利用可能な属性のリストにつては、下記のセクションの表題
「属性」 を参照してください。
追加オプションは、次を含みます:
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
- show
-
何も指定されないなら、指定された geom またはすべての geom のための現在のパーティション情報に表示します。デフォルトの出力は、各パーティションの論理的な開始ブロック、ブロック単位のパーティションサイズ、パーティションのインデックス数、パーティションタイプと人間に読み込み可能なパーティションサイズを含んでいます。ブロックサイズと位置は、
gpart list によって表示されるようなデバイスのセクタサイズに基づいています。追加オプションは、次を含みます:
- -l
- パーティションラベルをサポートするパーティショニングスキームに関して、パーティションタイプの代わりにそれらを印刷 (表示) します。
- -p
- パーティションのインデックスの代わりにプロバイダ名を表示します。
- -r
- シンボリック名の代わりに生のパーティションタイプを表示します。
- undo
- geom geom のためにあらゆる保留中の変更を元に戻します。この動作は、 commit 動作の反対で、コミットされていない任意の変更を元に戻すために使用することができます。
- unset
-
パーティションエントリで名前が付けられた属性をクリアします。利用可能な属性のリストにつては、下記のセクションの表題
「属性」 を参照してください。
追加オプションは、次を含みます:
- -f flags
- 追加の操作上のフラグ。その使用に関する説明については、下記の 「操作上のフラグ」 と表題が付けられたセクションを参照してください。
パーティショニングスキーム
いくつかのパーティショニングスキームは、 gpart ユーティリティによってサポートされます:- APM
- PowerPC(R) Macintosh(R) コンピュータによって使用される、Apple Partition Map。 GEOM_PART_APM カーネルオプションを要求します。
- BSD
- MBR パーティションを細分割するために通常使用される、旧来の BSD disklabel。 (MBR なしで単一のパーティショニングメソッドとして、このスキームも使用することができます。他のオペレーティングシステムのパーティション編集ツールは、しばしば裸の disklabel パーティションレイアウトを理解しないので、これは、時々、“危険なほどに専念する” (dangerously dedicated) と呼ばれます) GEOM_PART_BSD カーネルオプションを要求します。
- LDM
- Logical Disk Manager は、Microsoft Windows NT のためのボリュームマネージャの実装です。 GEOM_PART_LDM カーネルオプションを必要とします。
- GPT
- GUID パーティションテーブルは、Intel ベースの Macintosh コンピュータとほとんどの PC と他のシステムで徐々に置き換えられる MBR で使用されます。 GEOM_PART_GPT カーネルオプションを要求します。
- MBR
- マスタブートレコード (Master Boot Record) は、PC とリムーバブルメディアで使用されます。 GEOM_PART_MBR カーネルオプションを要求します。 GEOM_PART_EBR オプションは、論理パーティションを定義するために使用される、拡張ブートレコード (EBR) のためのサポートを追加します。 GEOM_PART_EBR_COMPAT オプションは、EBR スキームのパーティション名のための後方互換性を有効にします。また、そのようなパーティションで任意のタイプの動作を妨げます。
- PC98
- NEC PC-98 と互換性をもつコンピュータのための MBR の変異型。 GEOM_PART_PC98 カーネルオプションを要求します。
- VTOC8
- SPARC64 と UltraSPARC コンピュータによって使用される、Sun の SMI Volume Table Of Contents。 GEOM_PART_VTOC8 カーネルオプションを要求します。
パーティションタイプ
パーティションタイプは、特定の文字列か、またはマジック値によってディスク上で識別されます。 gpart ユーティリティは、共通のパーティションタイプのためのシンボリック名を使用するので、ユーザは、問題のパーティショニングスキームの、これらの値または他の詳細を知る必要はありません。また、 gpart ユーティリティによって、ユーザは、シンボリック名がないパーティションタイプにスキーム特有のパーティションタイプを指定できます。現在理解されているシンボリック名は、次の通りです:- bios-boot
-
ブートローダプログラムの 2 番目のステージのためのシステムパーティション。通常、GPT パーティショニングスキームのために GRUB 2 ローダによって使用されます。スキーム特有のタイプは、“
!21686148-6449-6E6F-744E-656564454649
”です。 - efi
-
Extensible Firmware Interface (EFI) を使用するコンピュータのためのシステムパーティション。そのような場合、GPT パーティショニングキームが使用され、“
!c12a7328-f81f-11d2-ba4b-00a0c93ec93b
”としてシステムパーティションのための実際のパーティションタイプを指定することもできます。 - freebsd
-
FreeBSD パーティションは、
BSD disklabel でファイルシステムに再分割します。これは、古いパーティションタイプであり、APM または GPT スキームに対して使用するべきではありません。スキーム特有のタイプは、MBR に対しては“
!165
”、APM に対しては“!FreeBSD
”と GPT に対しては“!516e7cb4-6ecf-11d6-8ff8-00022d09712b
”です。 - freebsd-boot
-
ブートストラップコード専用の
FreeBSD パーティション。スキーム特有のタイプは、GPT に対しては“
!83bd6b9d-7f41-11dc-be0b-001560b84f0f
”です。 - freebsd-swap
-
スワップ空間専用の
FreeBSD パーティション。スキーム特有のタイプは、APM に対しては“
!FreeBSD-swap
”、GPT に対しては“!516e7cb5-6ecf-11d6-8ff8-00022d09712b
”と VTOC8 に対してはタグ 0x0901 です。 - freebsd-ufs
-
UFS または UFS2 ファイルシステムを含む
FreeBSD パーティション。スキーム特有のタイプは、APM に対しては“
!FreeBSD-UFS
”、GPT に対しては“!516e7cb6-6ecf-11d6-8ff8-00022d09712b
”と VTOC8 に対してはタグ 0x0902 です。 - freebsd-vinum
-
Vinum ボリュームを含む
FreeBSD パーティション。スキーム特有のタイプは、APM に対しては“
!FreeBSD-Vinum
”、GPT に対しては“!516e7cb8-6ecf-11d6-8ff8-00022d09712b
”と VTOC8 に対してはタグ 0x0903 です。 - freebsd-zfs
-
ZFS ボリュームを含む
FreeBSD パーティション。スキーム特有のタイプは、APM に対しては“
!FreeBSD-ZFS
”、GPT に対しては“!516e7cba-6ecf-11d6-8ff8-00022d09712b
”と VTOC8 に対してはタグ 0x0904 です。 - mbr
-
マスタブートレコード (MBR) によって細分化されたパーティション。このタイプは、GPT によって“
!024dee41-33e7-11d3-9d69-0008c781f39f
”として知られています。 - ms-ldm-data
-
Logical Disk Manager (LDM) ボリュームを含んでいるパーティション。スキーム特有のタイプは、MBR のためには、“
!66
”で、GPT のためには、“!af9b60a0-1431-4f62-bc68-3311714a69ad
”です。 - ms-ldm-metadata
-
Logical Disk Manager (LDM) データベースを含んでいるパーティション。スキーム特有のタイプは、GPT のためには、“
!5808c8aa-7e8f-42e0-85d2-e1e90434cfb3
”です。
属性
EBR のためのスキーム特有の属性は、次の通りです:- active
GPT のためのスキーム特有の属性は、次の通りです:
- bootme
- 設定されると、 gptboot ステージ 1 のブートローダは、このパーティションからシステムをブートしようとします。 bootme 属性で複数のパーティションをマークすることができます。より詳しい情報については、 gptboot(8) を参照してください。
- bootonce
- この属性を自動的に設定すると、 bootme 属性を設定します。設定されると、 gptboot ステージ 1 のブートローダは、このパーティションからシステムを一度だけブートしようとします。 bootonce と bootme 属性のペアで複数のパーティションをマークすることができます。より詳しい情報については、 gptboot(8) を参照してください。
- bootfailed
- この属性は、手動で管理するべきではありません。それは、 gptboot ステージ 1 のブートローダと /etc/rc.d/gptboot スタートアップスクリプトによって管理されます。より詳しい情報については、 gptboot(8) を参照してください。
MBR のためのスキーム特有の属性は、次の通りです:
- active
PC98 のためのスキーム特有の属性は、次の通りです:
- active
- bootable
ブートストラップ
FreeBSD は、いくつかのパーティショニングスキームをサポートし、各スキームは、異なったブートストラップコードを使用します。ブートストラップコードは、各パーティショニングスキームための特定のディスク領域に位置し、異なるスキームに対してサイズの点で異なります。2 つのタイプにブートストラップコードを分割することができます。最初のタイプは、パーティショニングスキームののメタデータに組み込まれますが、 2 番目のタイプは、特定のパーティションに位置付けられます。組み込みのブートストラップコードは、 -b bootcode オプションがある gpart bootcode コマンドでのみ行われるべきです。 GEOM PART クラスは、どんなダメージを引き起こさずに、特定のパーティショニングスキームのメタデータにブートストラップコードを安全に組み込む方法を知っています。
Master Boot Record (MBR) は、パーティションテーブルのメタデータ領域に組み込まれた 512 バイトのブートストラップコードイメージを使用します。このブートストラップコードには、2 つの変異型があります。 /boot/mbr と /boot/boot0 です。 /boot/mbr は、パーティションテーブルの active 属性 ( 「属性」 セクションを参照) でパーティションを検索します。次に、次のブートストラップステージを実行します。 /boot/boot0 イメージは、ユーザに選択されたパーティションからマルチブートするためにいくつかの追加の対話型の関数をあるブート管理を含んでいます。
通常、BSD disklabel は、タイプ freebsd ( 「パーティションタイプ」 セクションを参照) がある MBR パーティション (スライス) の先頭に作成されます。それは、パーティションテーブルのメタデータ領域に組み込まれた、 8KB のサイズのブートストラップコードイメージ /boot/boot を使用します。
ブートストラップコードの両方のタイプは、GUID パーティションテーブルからブートするために使用されます。最初に、保護された MBR は、 /boot/pmbr イメージからの最初のディスクセクタに組み込まれます。 freebsd-boot パーティション ( 「パーティションタイプ」 セクションを参照) のための GPT を検索し、それからの次のブートストラップステージをを実行します。 freebsd-boot パーティションは、545KB より小さくするべきです。それは、ディスクの他の FreeBSD パーティションの前または後に置くことができます。このパーティションに書き込むために、次の 2 つのブートストラップコードの変異型があります: /boot/gptboot と /boot/gptzfsboot です。
/boot/gptboot は、UFS パーティションからブートするために使用されます。 gptboot は、GPT の freebsd-ufs パーティションを検索し、 bootonce と bootme 属性に基づいてブートするために 1 つを選択します。いずれの属性も見つからないなら、 /boot/gptboot は、最初の freebsd-ufs パーティションからブートします。 /boot/loader (3 番目のブートストラップステージ) は、これらの条件と一致する最初のパーティションからロードされます。より詳しい情報については、 gptboot(8) を参照してください。
/boot/gptzfsboot は、ZFS からブートするために使用されます。 ZFS プールを検出しようと試み、 freebsd-zfs パーティションのための GPT を検索します。プールがすべて検出された後、 /boot/zfsloader は、見つかった最初のものから開始されます。
VTOC8 スキームは、組み込まれたブートストラップコードをサポートしません。代わりに、8KBytes のブートストラップコードイメージ /boot/boot1 は、すべての十分大きな VTOC8 パーティションのために -p bootcode オプションがある gpart bootcode コマンドで書き込まれるべきです。これを行うために、 -i index オプションは、省略されるかもしれません。
また、APM スキームは、組み込みブートストラップコードをサポートしません。代わりに、800KBytes のブートストラップコードイメージ /boot/boot1.hfs は、また、800KB のサイズであるべき、タイプ freebsd-boot のパーティションに gpart bootcode コマンドで書き込まれるべきです。
操作上のフラグ
commit と undo 動作以外の動作は、省略可能な -f flags オプションを取ります。このオプションは、動作特有の操作上のフラグを指定するために使用されます。デフォルトで、 gpart ユーティリティは、動作を直ちに、コミットできるように、‘C
’フラグを定義します。ユーザは、
commit 動作で単一の複合の変更としてコミットされるか、または
undo 動作で元に戻る、他の保留中の変更で、後でそうすることができる保留中の変更で動作結果を持つために“
-f
x”を指定することができます。
リカバリング
GEOM PART クラスは、GPT のためだけにパーティションテーブルの復旧をサポートします。 GPT プライマリメタデータは、デバイスの初めに格納されます。冗長性のために、メタデータの 2 番目の (バックアップ) (backup) コピーは、装置の終りに格納されます。 2 つのコピーがあることの結果として、メタデータのいくつかの破損は、 GPT の操作に致命的ではありません。カーネルが破損してメタデータを検知するとき、破損してているとして、このテーブルをマークし、その問題を報告します。 destroy と recover は、破損しているテーブルで許可されたただ一つの操作です。プロバイダの最初のセクタが不正であるなら、カーネルは、たとえパーティションテーブル自体が不正でなくても、 GPT を検出することができません。 GPT を検出する能力を復旧するために dd(1) コマンドを使用して、保護された MBR を再書き込みすることができます。保護された MBR のコピーは、通常、 /boot/pmbr ファイルに置かれています。
1 つの GPT ヘッダが、不正であるように思えるが、もう片方のコピーが損なわれていない状態のままであるなら、カーネルは、次をログ記録します:
GEOM: provider: the primary GPT table is corrupt or invalid. 翻訳: プライマリ GPT テーブルは、不正であるか、または無効です。 GEOM: provider: using the secondary instead -- recovery strongly advised. 翻訳: 代わりにセカンダリを使用します -- 強く勧告された復旧。
または
GEOM: provider: the secondary GPT table is corrupt or invalid. 翻訳: セカンダリ GPT テーブルは、不正であるか、または無効です。 GEOM: provider: using the primary only -- recovery suggested. 翻訳: プライマリのみを使用します -- 推奨された復旧。
また、 show, status と list のような gpart コマンドは、不正なテーブルに関して報告します。
デバイスのサイズが (例えば、ボリューム拡張) を変更したなら、セカンダリ GPT ヘッダは、もはや最後のセクタに位置づけられません。これは、メタデータの不正ではありませんが、プライマリ GPT の任意の不正が、パーティションテーブルを失うことになるので、危険です。この問題は、次のメッセージでカーネルによって報告されます:
GEOM: provider: the secondary GPT header is not in the last LBA. 翻訳: セカダリ GPT ヘッダが最後の LBA にありません。
recover コマンドで、この状況を復旧することができます。このコマンドは、知られている有効なメタデータを使用して不正なメタデータを再構築して、セカンダリ GPT をデバイスの終りに移動させます。
注意: GEOM PART クラスは、異なった GEOM プロバイダを通して目に見える同じパーティションテーブルを検出でき、それらのいくつかは、不正であるとマークされます。復旧のためのプロバイダを選択するときに、注意してください。正しくない選択を行ったなら、別の GEOM クラスのメタデータを破壊することができます、例えば、GEOM MIRROR または GEOM LABEL。
SYSCTL 変数
PART GEOM のクラスの振る舞いを制御するために次の sysctl(8) 変数を使用することできます。デフォルト値は、各変数の隣に表示されています。- kern.geom.part.check_integrity: 1
- この変数は、メタデータの整合性チェックの振る舞いを制御します。整合性チェックが有効にされるとき、 PART GEOM のクラスは、ディスクメタデータから得られるすべての一般的なパーティションのパラメータについて検証します。何らかの矛盾が検出されるなら、パーティションテーブルは、次の診断メッセージをつけて拒否されます: GEOM_PART: Integrity check failed (provider, scheme)。翻訳: 整合性チェックに失敗しました (プロバイダ、スキーム)。
- kern.geom.part.ldm.debug: 0
- Logical Disk Manager (LDM) モジュールのデバッグレベル。 0 と 2 を含めた間の数にこれを設定することができます。 0 に設定されるなら、最小のデバッグ情報が印刷 (表示) され、 2 に設定されるなら、最高のデバッグ情報が印刷 (表示) されます。
- kern.geom.part.ldm.show_mirrors: 0
- この変数は、Logical Disk Manager (LDM) モジュールがミラーリングされたボリュームを扱う方法を制御します。デフォルトで、ミラーリングされたボリュームは、タイプ ms-ldm-data ( 「パーティションタイプ」 セクションを参照) があるパーティションとして表示されます。この変数が 1 に設定されるなら、ミラーリングされたボリュームのそれぞれの構成要素は、独立したパーティションとして存在します。 注: これは、ミラーリングされたボリュームを破壊し、データ損傷をもたらすかもしれません。
終了ステータス
終了ステータスは、成功すれば 0、コマンドが失敗するなら、1 です。使用例
ada0 で GPT スキームを作成します:
/sbin/gpart create -s GPT ada0
GPT ブートストラップコードを保護された MBR に埋め込みます:
/sbin/gpart bootcode -b /boot/pmbr ada0
freebsd-ufs パーティションから FreeBSD をブートできる専用の freebsd-boot パーティションを作成して、ブートストラップコードをそこにインストールします。このパーティションは、ブートストラップコード (通常 /boot/gptboot または /boot/gptzfsboot のいずれか) より大きくなければなりませんが、実際にどれだけのデータを含んでいるかにかかわらず、最初のステージのローダがブートの間にメモリにすべてのパーティションをロードするので、545 kB より小さいです。この例は、88 ブロック (44 kB) を使用するので、次のパーティションは、明示的なオフセットまたは整列を指定する必要のない 64 kB の境界で整列されます。ブートパーティション自体は、4 kB の境界で整列されます。
/sbin/gpart add -b 40 -s 88 -t freebsd-boot ada0 /sbin/gpart bootcode -p /boot/gptboot -i 1 ada0
システムがブートすることができる UFS ファイルシステムを含む 512MB のサイズの freebsd-ufs パーティションを作成します。ブートパーティションそれ自体は、 4 kB 境界に整列されます。
/sbin/gpart add -s 512M -t freebsd-ufs ada0
ada0 に MBR スキームを作成し、次に、30GB のサイズの FreeBSD スライスを作成し、それをアクティブであるとマークし、 boot0 のブートマネージャをインストールします:
/sbin/gpart create -s MBR ada0 /sbin/gpart add -t freebsd -s 30G ada0 /sbin/gpart set -a active -i 1 ada0 /sbin/gpart bootcode -b /boot/boot0 ada0
今、最大 20 のパーティションのための空間がある BSD スキーム ( BSD ラベル) を作成します:
/sbin/gpart create -s BSD -n 20 ada0s1
1 GB のサイズの UFS パーティションと 4 GB のサイズのスワップパーティションを作成します:
/sbin/gpart add -t freebsd-ufs -s 1G ada0s1 /sbin/gpart add -t freebsd-swap -s 4G ada0s1
BSD ラベルのためにブートストラップコードをインストールします:
/sbin/gpart bootcode -b /boot/boot ada0s1
da0 に VTOC8 スキームを作成します:
/sbin/gpart create -s VTOC8 da0
システムがブートすることができる UFS ファイルシステムを含む 512MB のサイズの freebsd-ufs パーティションを作成します。
/sbin/gpart add -s 512M -t freebsd-ufs da0
UFS ファイルシステムを含み、4KB の境界で整列された 15GB のサイズの freebsd-ufs パーティションを作成します:
/sbin/gpart add -s 15G -t freebsd-ufs -a 4k da0
すべての要求されたパーティションを作成した後に、それらにブートストラップコードを組み込みます:
/sbin/gpart bootcode -p /boot/boot1 da0
da0 からパーティションテーブルのバックアップを作成します:
/sbin/gpart backup da0 > da0.backup
バックアップから da0 にパーティションテーブルを復旧します:
/sbin/gpart restore -l da0 < /mnt/da0.backup
ada0 から ada1 と ada2 にパーティションテーブルのクローンを作成します:
/sbin/gpart backup ada0 | /sbin/gpart restore -F ada1 ada2
歴史
gpart ユーティリティは、 FreeBSD 7.0 で登場しました。作者
<marcel@FreeBSD.org>July 1, 2013 | FreeBSD |