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 つの入力を求められます。
- 作成するパーティションの最初のシリンダー番号。
- 作成されるパーティションの最後のシリンダー番号 (最後のシリンダー、+シリンダー、または +サイズ)。
最後のシリンダーに「+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. パーティションテーブルの順序を修正する方法
論理パーティションを削除して再度再作成した場合、「パーティションの順序が狂っている」問題や、「パーティション テーブル エントリがディスクの順序に従っていない」などのエラー メッセージが表示される場合があります。 '。
たとえば、(sda4、sda5、sda6) などの 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」コマンドを確認してください。重要なコマンドを見逃した場合は、コメントセクションを介して私と共有してください。
こちらもお読みください:
- Linux でディスク容量を確認する 12 の「df 」コマンド
- ファイルとディレクトリのディスク使用量を調べるための 10 の便利な「du」コマンド