Go to main content
マニュアルページ セク ション 1M: シ ステム管理コマン ド

印刷ビューの終了

更新: 2016年12月6日
 
 

fdisk(1M)

名前

fdisk - 固定ディスクパーティションテーブルの作成または変更

形式

fdisk [-o offset] [-s size] [-P fill_patt] [-S geom_file] 
     [-w | -r | -d | -n | -I | -B | -t | -T | -g | -G | -R | -E] 
     [-–F fdisk_file] [ [-v] -W {fdisk_file | -}] 
     [-h] [-b masterboot] 
     [-A id : act : bhead : bsect : bcyl : ehead : esect : 
         ecyl : rsect : numsect] 
     [-D id : act : bhead: bsect : bcyl : ehead: esect :
         ecyl : rsect : numsect] rdevice

説明

このコマンドは、次のように使用します。

  • x86 システム上の fdisk パーティションテーブルを作成および変更する

  • SPARC または x86 システム上のリムーバブルメディアで fdisk パーティションテーブルを作成および変更する

  • x86 システムのみ、固定ディスクの最初のセクターに格納されるマスターブートレコードをインストールする

このテーブルは、異なるオペレーティングシステムごとに予約されているディスク領域を識別するために、または第 2 段階のブートストラップのあるパーティション (アクティブな Solaris パーティション) を識別するために、第 1 段階のブートストラップ (またはファームウェア) により使用されます。rdevice 引数は、固定ディスクに対応する raw デバイスを指定する場合に使用しなくてはいけません。たとえば、/dev/rdsk/c0t0d0p0 のように指定します。

このプログラムは、3 種類の動作モードで実行します。最初の動作モードは対話モードです。対話モードでは、ディスク上に存在するパーティションテーブルが表示され、さらにユーザーがテーブルを変更できるように、メニューが表示されます。メニュー、問い合わせ、警告、およびエラーメッセージは、特に説明がなくても理解できるものです。

対話モードでは、ディスク上にパーティションテーブルがない場合、ユーザーはデフォルトのパーティション分割を行うか、または初期テーブル値を指定するかの、どちらかを選択できます。デフォルトのパーティション分割では、ディスク全体が Solaris システムに割り当てられ、Solaris システムパーティションがアクティブになります。いずれの場合も、初期テーブルが作成された時点で、fdisk はパーティションテーブルとともに、第 1 段階のブートストラップ (x86 のみ) コードも書き込みます。このモード (x86 のみ) では、2T バイトより大きなディスク上に非 EFI パーティションのエントリを作成する場合、fdisk はパーティションの最大サイズが 2T バイトであることを警告します。これらの状態で、fdisk によって表示される割合 (パーセント) は 2T バイトに基づいています。

2 番目の動作モードは、エントリの追加、削除、または fdisk テーブル全体の置き換えを自動的に行う場合に使用します。このモードでは、コマンド行に指定したエントリを追加または削除できます。また、ファイルから fdisk テーブル全体を読み込んで、元のテーブルと置き換えることもできます。fdisk はこのファイルを作成する目的でも使用できます。コマンド行オプションを使用すると、任意の fdisk テーブルが、ディスク全体を Solaris システムに割り当てるデフォルトの fdisk テーブルに置き換えられます。

3 番目の動作モードは、ディスクの診断時に使用します。このモードでは、ディスクのあるセクションをユーザーが指定したパターンで埋めることができ、ディスクのモードセクションを読み書きすることもできます。


注 - 3 番目の動作モードは、拡張パーティションでは現在サポートされません。

fdisk がパーティションを作成する場合、領域は fdisk のパーティションテーブル内に割り当てられますが、割り当てられたディスク領域は初期化されません。ファイルシステムのメタデータを作成して新しいパーティションに書き込むには newfs(1M) が必要であり、VTOC または EFI/GPT メタデータを書き込むには format(1M) が必要です。

メニューオプション

fdisk プログラムの対話モードで使用できるメニューオプションは、次のとおりです。

Create a partition

このオプションを使用すると、新しいパーティションを作成できます。パーティションの最大数は 4 つです。パーティションのタイプ (SOLARIS、MS-DOS、UNIX、またはその他) が尋ねられます。次に、パーティションのサイズをディスクの割合で指定するように求められます。この時点で c と入力すると、開始シリンダ番号およびシリンダ内のパーティションのサイズが尋ねられます。c を入力しなかった場合は、パーティションが収まるように、fdisk プログラムが開始シリンダ番号を決定します。いずれの場合でも、パーティションが既存のパーティションとオーバーラップする場合、または収まりきらない場合は、メッセージが表示されて最初のメニューに戻ります。

Change Active (Boot from) partition

このオプションを使用すると、第 1 段階のブートストラップが第 2 段階のブートストラップを検索するパーティション (アクティブパーティションと呼ばれる) を指定できます。

Delete a partition

このオプションを使用すると、作成済みのパーティションを削除できます。そのパーティション内のすべてのデータが破壊されるので注意してください。

Change between Solaris and Solaris2 Partition IDs

このオプションを使用すると、ユーザーは、現在と以前の fdisk オペレーティングシステムパーティション ID を切り替えることができます。これにより、そのディスクパーティション内のデータが影響を受けることはありません。このオプションは、以前のソフトウェアとの互換性を維持するために提供されています。

Edit/View extended partitions

このオプションを使用すると、拡張パーティションメニューを表示できます。論理ドライブの追加および削除、論理ドライブの sysid の変更、および論理ドライブ情報の表示を行うには、拡張パーティションメニューを使用します。拡張パーティションに加えた変更を確定するには、拡張パーティションサブメニューのオプション r を使用してメインメニューに戻る必要があります。拡張パーティションサブメニューによってサポートされるオプションのリストを表示するオプションもあります。オプションのリストを次に示します。

a

論理ドライブを追加します。

論理ドライブを追加するには、このサブメニューオプションを使用します。開始シリンダ、サイズ (シリンダ単位、または人間が読み取れる形式 - KB、MB、または GB)、およびパーティション ID の 3 種類の情報が必要となります。パーティション ID を指定する場合、サポートされるパーティションを一覧表示するために使用できるオプション (I) があります。

d

論理ドライブを削除します。

論理ドライブを削除するには、このサブメニューオプションを使用します。必要となる入力は、削除する論理ドライブの番号のみです。

h

ヘルプメニューを表示します。

このサブメニューオプションは、拡張パーティションサブメニューでサポートされる操作を表示します。

i

論理ドライブの ID を変更します。

既存の論理ドライブのシステム ID を変更するには、このサブメニューオプションを使用します。このサブメニューで I オプションを使用すると、サポートされるシステム ID のリストが表示されます。

p

論理ドライブのレイアウトを表示します。

論理ドライブの情報を標準出力に表示します。この出力には、現在の fdisk プログラムの実行で加えられた変更が反映されます。変更がディスクに確定されるのは、メインメニューに戻って (サブメニュー r を使用)、変更をディスクに確定するオプションを選択したときです。

r

メイン fdisk メニューに戻ります。

拡張パーティションサブメニューを終了して、メインメニューに戻ります。

拡張パーティションの番号付けの動的な特性に注意してください。たとえば、Solaris システムにパーティション p1p2p3、および p4 があるとします。拡張パーティションの作成のあと、同じシステムに論理デバイスノード p5 および以降のノードが最大 p36 まで連番で作成されました。たとえば、論理ドライブ p8 が削除されると、p8 に続くすべてのノード (p9 から p36 まで) がパーティションのリスト内で 1 つ上に移動し、p9p8 に、p10p9 というようになります。

この時点で、次に示すオプションを使用してパーティションテーブルの設定を変更することも、あるいは、テーブルを変更せずにセッションを中止することもできます。

Exit

このオプションを使用すると、fdisk によってこのセッションで作成された新しいテーブルが固定ディスクに書き込まれ、fdisk は終了します。

Cancel

パーティションテーブルを変更せずに終了します。

オプション

fdisk で使用できるオプションは、次のとおりです。

–A id:act:bhead:bsect:bcyl:ehead:esect:ecyl:rsect:numsect

引数で指定されたパーティションを追加します (形式については以下の –F オプションを参照)。fdisk テーブルが変更された場合、このオプションを使用すると、Solaris パーティション上の VTOC がゼロで埋められます。

–b master_boot

マスターブートプログラムとしてファイル master_boot を指定します。デフォルトのマスターブートプログラムは /usr/lib/fs/ufs/mboot です。

–B

デフォルトでディスク全体を 1 つの Solaris パーティションに割り当てます。x86 マシンでは、ディスクが 2T バイトより大きい場合、Solaris パーティションのデフォルトのサイズは 2T バイトに制限されます。

–d

詳細デバッグモードを有効にします。fdisk を使用するたびに、その状態を標準エラー出力に送ります。このオプションの出力を –F オプションで使用しないでください。

–D id:act:bhead:bsect:bcyl:ehead:esect:ecyl:rsect:numsect

引数で指定されたパーティションを削除します (形式については以下の –F オプションを参照)。引数が完全に一致しないと、エントリが削除されないことに注意してください。fdisk テーブルが変更された場合、このオプションを使用すると、Solaris パーティション上の VTOC がゼロで埋められます。

–E

ディスク全体を使用する EFI パーティションを作成します。

–F fdisk_file

ファイル fdisk_file を使用してテーブルを初期化します。fdisk テーブルが変更された場合、このオプションを使用すると、Solaris パーティション上の VTOC がゼロで埋められます。

fdisk_file には、プライマリパーティション用の 4 つの指定行とそれに続く論理ドライブ用の指定行が含まれています。少なくとも 1 つの論理ドライブがある場合、プライマリパーティションに対して 4 つの行がある必要があります。この場合、構成するプライマリパーティションの数が 4 つより少ないときは、残りの行をゼロで埋める必要があります。

各行は位置に依存するエントリからなり、エントリはスペースまたはコロンで区切ります。形式は次のとおりです。

id act bhead bsect bcyl ehead esect ecyl rsect numsect

エントリの値は次のとおりです。

id

パーティションのタイプ。指定可能な数値は、fdisk.h に記述されています。

act

アクティブパーティションプラグ。0 は非アクティブ、128 はアクティブを意味します。論理ドライブの場合、ユーザーが 128 を指定しても、このフラグは常に 0 に設定されます。

bhead

パーティションが開始するヘッド。0 に設定されている場合、fdisk は他の情報に基づいて適切な値を設定します。

bsect

パーティションが開始するセクター。0 に設定されている場合、fdisk は他の情報に基づいて適切な値を設定します。

bcyl

パーティションが開始するシリンダ。0 に設定されている場合、fdisk は他の情報に基づいて適切な値を設定します。

ehead

パーティションが終了するヘッド。0 に設定されている場合、fdisk は他の情報に基づいて適切な値を設定します。

esect

パーティションが終了するセクター。0 に設定されている場合、fdisk は他の情報に基づいて適切な値を設定します。

ecyl

パーティションが終了するシリンダ。0 に設定されている場合、fdisk は他の情報に基づいて適切な値を設定します。

rsect

パーティションが開始するディスクの先頭からの相対的な位置にあるセクター。この指定は必須です。この値は、fdisk が他のフィールドを設定するのに使用できます。論理ドライブの場合、論理ドライブに指定された rsect の前に、空きセクターが少なくとも 63 個ある必要があります。

numsect

セクター数で表したこのディスクパーティションのサイズ。この指定は必須です。この値は、fdisk が他のフィールドを設定するのに使用できます。

–g

ディスクのラベルジオメトリを取得して、標準出力に出力します (形式については –S オプションを参照)。

–G

ディスクの物理ジオメトリを取得して、標準出力に出力します (形式については –S オプションを参照)。

–h

詳細メッセージを表示します。メッセージには全オプションのリストとともに、各オプションの説明が示されます。

–I

デバイスチェックを省略します。デバイスを使用せずに、ディスクに送られる内容のファイルイメージを生成する場合に使用します。このオプションは –S と組み合わせて使用する必要があります (前述を参照)。

–n

他のオプションで明示的に指定されている場合を除き、fdisk テーブルを更新しません。他のオプションを指定しない場合、–n オプションは、マスターブートレコードだけをディスクに書き込みます。また、–n オプションを指定した場合、fdisk は対話モードで起動しないことにも注意してください。

–o offset

ディスクの先頭からのブロックオフセット。このオプションは –P–r、および –w とともに使用します。このオプションを指定しない場合、ゼロが想定されます。

–P fill_patt

パターン fill_patt でディスクを埋めます。fill_patt は 10 進数または 16 進数にすることができ、一定のロングパターンを表す数として使用します。fill_patt# の場合、パターンは各ブロックで # になります。パターンはロングワードとして各ブロックに格納されて各ブロックを埋めます (–o および –s を参照)。

–r

ディスクから読み込んで標準出力に書き込みます。操作の開始ポイントおよびサイズを指定するオプション –o–s を参照してください。

–R

読み取り専用ディスクとして扱います。このオプションはテスト用です。

–s size

操作を実行するブロック数 (–oを参照)

–S geom_file

geom_file の内容をラベルジオメトリとして設定します。geom_file には、行ごとに 1 つの指定を記述します。各行は復帰改行文字 (\n) で区切ります。行の先頭文字がアスタリスク (*) の場合、その行はコメント行とみなされます。各行は位置に依存するエントリからなり、スペースまたはコロンで区切ります。形式は次のとおりです。

pcyl ncyl acyl bcyl nheads nsectors sectsiz

この場合、エントリには次の値が含まれます。

pcyl

ドライブの物理シリンダ数

ncyl

ドライブの使用可能シリンダ数

acyl

ドライブの代替シリンダ数

bcyl

ドライブのオフセットシリンダ数 (ゼロにすべき)

nheads

このドライブのヘッド数

nsectors

トラックあたりのセクター数

sectsiz

セクターサイズ (バイト単位)

–t

パーティションテーブル境界を越えないように、無効なスライステーブルエントリを調整します。

–T

パーティションテーブル境界にまたがる無効なスライステーブルエントリを削除します。

–v

HBA (仮想) ジオメトリディメンションを出力します。このオプションは –W フラグと組み合わせて使用する必要があります。このオプションは、仮想ジオメトリをサポートするプラットフォームで使用できます。(x86 のみ) 。

–w

ディスクに書き込み、標準入力から読み込みます。操作の開始ポイントおよびサイズを指定するオプション –o–s を参照してください。

–W -

ディスクテーブルを標準出力に書き込みます。

–W fdisk_file

ディスクテーブルから fdisk ファイル fdisk_file を作成します。これは、上記の –F オプションと組み合わせて使用できます。

ファイル

/dev/rdsk/c0t0d0p0

固定ディスクに対応づけられる raw デバイス

/usr/lib/fs/ufs/mboot

デフォルトのマスターブートプログラム

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
アーキテクチャー
x86 と SPARC
使用条件
system/core-os

関連項目

uname(1), fmthard(1M), format(1M), newfs(1M), parted(1M), prtvtoc(1M), attributes(5)

診断

ほとんどのメッセージは、読めば理解できるものです。プログラムの開始直後に次のメッセージが表示される場合があります。

Fdisk: cannot open <device>

このメッセージは、デバイス名引数が無効であることを示します。

Fdisk: unable to get device parameters for device <device>

このメッセージは、固定ディスクの構成に問題があるか、または固定ディスクドライバでエラーが発生したことを示します。

Fdisk: error reading partition table

このメッセージは、固定ディスクから最初の読み込み時にエラーが発生したことを示します。固定ディスクのコントローラまたはドライバに問題があるか、固定ディスクの構成に問題がある可能性があります。

Fdisk: error writing boot record

このメッセージは、固定ディスクに新しいパーティションテーブルを書き込むときに、エラーが発生したことを示します。固定ディスクコントローラ、ディスク自体、ドライバ、または固定ディスクの構成に問題がある可能性があります。