ウェブサイト検索

Linux ディスク パーティションを管理する 10 の fdisk コマンド


fdisk の略 (「固定ディスク または フォーマット ディスク」の略) は、 の最も一般的に使用されるコマンドライン ベースのディスク操作ユーティリティです。 Linux/Unix システム。 fdisk コマンドを使用すると、独自のユーザーフレンドリーなテキストベースのメニュー駆動インターフェイスを使用して、ハードドライブ上のパーティションを表示、作成、サイズ変更、削除、変更、コピー、移動できます。

このツールは、新しいパーティション用のスペースの作成、新しいドライブ用のスペースの整理、古いドライブの再構成、新しいディスクへのデータのコピーまたは移動の点で非常に役立ちます。システム内のハードディスクのサイズに基づいて、 最大 4 つの新しいプライマリパーティションと論理 (拡張) パーティションの数を作成できます。

この記事では、Linux ベースのシステムでパーティション テーブルを管理するための 10 個の基本的なfdisk コマンドについて説明します。 fdisk コマンドを実行するにはroot ユーザーである必要があります。そうしないと、「コマンドが見つかりません」エラーが表示されます。

1. Linux ですべてのディスク パーティションを表示する

次の基本的なコマンドは、システム上のすべての既存のディスク パーティションを一覧表示します。 「-l」引数は (すべてのパーティションをリストする) を表し、Linux で使用可能なすべてのパーティションを表示するために fdisk コマンドで使用されます。パーティションはデバイス名で表示されます。例: /dev/sda/dev/sdb、または /dev/sdc

[[email  ~]# fdisk -l

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

2. Linux で特定のディスク パーティションを表示する

特定のハードディスクのすべてのパーティションを表示するには、デバイス名を指定してオプション「-l」を使用します。たとえば、次のコマンドはデバイス /dev/sda のすべてのディスク パーティションを表示します。異なるデバイス名がある場合は、デバイス名を /dev/sdb または /dev/sdc のように書きます。

[[email  ~]# fdisk -l /dev/sda

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

3. 使用可能なすべての fdisk コマンドを確認します

fdisk で使用できるすべてのコマンドを表示したい場合。以下に示すように、 /dev/sda などのハードディスク名を指定して次のコマンドを使用するだけです。次のコマンドを実行すると、次のような出力が得られます。

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help):

m」と入力すると、/dev/sda ハードディスク上で操作できる fdisk の使用可能なすべてのコマンドのリストが表示されます。画面に「m」と入力すると、/dev/sda デバイスで使用できる fdisk の利用可能なオプションがすべて表示されます。

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):

4. Linux ですべてのパーティション テーブルを印刷する

ハードディスクのすべてのパーティション テーブルを印刷するには、特定のハードディスクのコマンド モード (/dev/sda など) を使用する必要があります。

[root@tecmint ~]# fdisk /dev/sda

コマンド モードから、前と同様に「m」の代わりに「p」を入力します。 「p」と入力すると、特定の /dev/sda パーティション テーブルが出力されます。

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

5. Linux でパーティションを削除する方法

/dev/sda などの特定のハードディスクから特定のパーティション (/dev/sda9 など) を削除したい場合。これを行うには、fdisk コマンド モードである必要があります。

[root@tecmint ~]# fdisk /dev/sda

次に、「d」と入力して、指定されたパーティション名をシステムから削除します。 「d」と入力すると、/dev/sda ハードディスクから削除するパーティション番号を入力するよう求められます。ここで番号「4」を入力すると、パーティション番号「4」(つまり、/dev/sda4)ディスクが削除され、空き領域が表示されます。パーティションテーブル内のスペース。 「w」と入力してテーブルをディスクに書き込み、パーティション テーブルに新しい変更を加えた後に終了します。新しい変更は、次回システムを再起動した後にのみ適用されます。これは、以下の出力から簡単に理解できます。

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): d
Partition number (1-4): 4

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/root

警告 : オプション「d」を使用するとシステムからパーティションが完全に削除され、パーティション内のすべてのデータが失われる可能性があるため、この手順を実行する際は注意してください。

6. Linux で新しいパーティションを作成する方法

デバイスのいずれかに空き領域が残っている場合は、/dev/sda と言い、その下に新しいパーティションを作成します。次に、/dev/sda の fdisk コマンド モードにする必要があります。次のコマンドを入力して、特定のハードディスクのコマンド モードに入ります。

[root@tecmint ~]# fdisk /dev/sda

コマンドモードに入ったら、「n」コマンドを押して、/dev/sda に特定のサイズの新しいパーティションを作成します。これは、次の出力を使用して実証できます。

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e

新しいパーティションの作成中に、「拡張」または「プライマリ」パーティションの作成の 2 つのオプションを尋ねられます。拡張パーティションの場合は「e」を押し、プライマリ パーティションの場合は「p」を押します。次に、次の 2 つの入力を求められます。

  1. 作成するパーティションの最初のシリンダー番号。
  2. 作成されるパーティションの最後のシリンダー番号 (最後のシリンダー、+シリンダー、または +サイズ)。

最後のシリンダーに「+5000M」を追加することでシリンダーのサイズを入力できます。ここで、「+」は加算を意味し、5000M は新しいパーティションのサイズ (つまり 5000MB) を意味します。新しいパーティションを作成した後、「w」コマンドを実行してパーティション テーブルを変更して新しい変更を保存し、最後にシステムを再起動して新しく作成されたパーティションを確認する必要があることに注意してください。

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

7. Linux でパーティションをフォーマットする方法

新しいパーティションを作成した後、「mkfs」コマンドを使用して新しく作成したパーティションをフォーマットしないでください。ターミナルに次のコマンドを入力してパーティションをフォーマットします。ここで /dev/sda4 は新しく作成したパーティションです。

[root@tecmint ~]# mkfs.ext4 /dev/sda4

8. Linux でパーティションのサイズを確認する方法

新しいパーティションをフォーマットした後、fdisk コマンドでフラグ 's' (サイズをブロック単位で表示) を使用してそのパーティションのサイズを確認します。この方法で、特定のデバイスのサイズを確認できます。

[root@tecmint ~]# fdisk -s /dev/sda2
5194304

9. パーティションテーブルの順序を修正する方法

論理パーティションを削除して再度再作成した場合、「パーティションの順序が狂っている」問題や、「パーティション テーブル エントリがディスクの順序に従っていない」などのエラー メッセージが表示されることがあります。 '。

たとえば、(sda4sda5sda6) などの 3 つの論理パーティションが削除され、新しいパーティションが作成されると、新しいパーティションが作成されると予想される場合があります。パーティション名はsda4になります。ただし、 システムはそれをsda5 として作成します。これは、パーティションが削除された後、sda7 パーティションが sda4 として移動され、空き領域が最後に移動したために発生します。

このようなパーティションの順序の問題を修正し、新しく作成したパーティションに sda4 を割り当てるには、「x」を発行して追加機能セクションに入り、「f<」と入力します。' エキスパート コマンドを使用して、以下に示すようにパーティション テーブルの順序を修正します。

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): x

Expert command (m for help): f
Done.

Expert command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

f」 コマンドを実行した後、「w」 コマンドを実行して保存し、fdisk コマンド モードを終了することを忘れないでください。パーティション テーブルの順序が修正されると、エラー メッセージは表示されなくなります。

10. パーティションのブートフラグ(*)を無効にする方法

デフォルトでは、fdisk コマンドは各パーティションのブート フラグ (つまり、「*」) シンボルを表示します。特定のパーティションでブート フラグを有効または無効にする場合は、次の手順を実行します。

[root@tecmint ~]# fdisk  /dev/sda

p」コマンドを押して現在のパーティション テーブルを表示すると、/dev/ にブート フラグ (オレンジ色のアスタリスク (*) 記号) があることがわかります。以下に示すように、sda1 ディスク。

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

次にコマンド「a」を入力してブートフラグを無効にし、パーティション番号「1」を(私の場合は /dev/sda1)として入力します。 。これにより、パーティション /dev/sda1 のブート フラグが無効になります。これにより、アスタリスク (*) フラグが削除されます。

Command (m for help): a
Partition number (1-9): 1

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

fdisk コマンドのほぼすべての基本コマンドを含めるように最善を尽くしましたが、それでも fdisk には、「x」を入力することで使用できるその他のさまざまなエキスパート コマンドが含まれています。詳細については、ターミナルから「man fdisk」コマンドを確認してください。重要なコマンドを見逃した場合は、コメントセクションを介して私と共有してください。

こちらもお読みください:

  1. Linux でディスク容量を確認する 12 の「df 」コマンド
  2. ファイルとディレクトリのディスク使用量を調べるための 10 の便利な「du」コマンド