ディスク分割ツールを使用して、ディスクを1つ以上の個別の管理領域に分割できます。 別々の領域はパーティションと呼ばれます。 ディスクは、パーティションテーブルに各パーティションの位置とサイズを格納し、オペレーティングシステムは、パーティション情報に基づいてパーティションを論理ディスクと見なします。 これにより、データの損失を防ぎ、ディスク領域の使用を改善できます。 このトピックでは、ディスクパーティションの作成、ディスクパーティションのサイズの変更、パーティションテーブルのタイプの変更、ディスクパーティションの削除など、ディスクパーティションの管理方法について説明します。
ディスクパーティション
ディスク上に作成できるパーティションの最大数と各パーティションのサイズは、パーティションテーブルのタイプによって異なる場合があります。
パーティションテーブルのタイプには、マスターブートレコード (MBR) とGUIDパーティションテーブル (GPT) が含まれます。
ディスクあたりの最大パーティション数
MBRディスクでは、最大4つのプライマリパーティション、または最大3つのプライマリパーティションと1つの拡張パーティションを作成できます。 拡張パーティションは、複数の論理パーティションに分割することもできる。
GPTディスクでは、無制限の数のパーティションを作成できます。 ただし、
parted
などの特定のパーティショニングツールでは、作成できるパーティションの数が制限される場合があります。
最大ディスクサイズ
MBRディスクの場合:
セクタサイズが512バイトの場合、最大ディスクサイズは2テラバイトである。
セクタサイズが4,096バイトの場合、最大ディスクサイズは16テラバイトである。
GPTディスクの場合:
セクタサイズが512バイトの場合、最大ディスクサイズは8 ZBである。
セクタサイズが4,096バイトの場合、最大ディスクサイズは64 ZBである。
次の例では、fdiskツールを使用してMBRディスクをパーティション化します。 以下の手順を実行します。
オペレーティングシステムに関する情報を表示します。
sudo cat /etc/os-release
サンプルコマンド出力:
NAME="Alibaba Cloud Linux" VERSION="3 (Soaring Falcon)" ID="alinux" ID_LIKE="rhel fedora centos anolis" VERSION_ID="3" UPDATE_ID="9" PLATFORM_ID="platform:al8" PRETTY_NAME="Alibaba Cloud Linux 3 (Soaring Falcon)" ANSI_COLOR="0;31" HOME_URL="https://www.aliyun.com/"
fdiskがインストールされているかどうかを確認します。
fdisk --help
fdiskが見つからないというエラーメッセージが表示された場合は、次のコマンドを実行してfdiskをインストールします。
sudo yum install -y util-linux
fdiskが期待どおりにインストールされているかどうかを確認します。
fdisk --help
次のサンプルコマンド出力は、fdiskがインストールされていることを示します。
Usage: fdisk [options] <disk> change partition table fdisk [options] -l [<disk>] list partition table(s) ... For more details see fdisk(8).
パーティションテーブルの作成
この例では、パーティションテーブルは /dev/vdb
ディスクに作成されます。
ディスク情報を表示します。
lsblk
サンプルコマンド出力:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 39.8G 0 part / vdb 253:16 0 20G 0 disk
fdisk
インターフェイスにアクセスします。sudo fdisk /dev/vdb
m
と入力して、サポートされているすべてのコマンドを表示します。 サンプルコマンド出力:... Create a new label g create a new empty GPT partition table G create a new empty SGI (IRIX) partition table o create a new empty DOS partition table s create a new empty Sun partition table
g
と入力してGPTパーティションテーブルを作成するか、o
と入力してMBRパーティションテーブルを作成します。 ディスク情報を表示するには、p
を入力します。 サンプルコマンド出力:Command (m for help): o Created a new DOS disklabel with disk identifier 0x34c3f526. Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x34c3f526
w
と入力してパーティションテーブル情報をディスクに保存し、終了します。
パーティションの作成
この例では、/dev/vdb
ディスクにパーティションが作成されます。
fdisk
インターフェイスにアクセスします。sudo fdisk /dev/vdb
現在のディスクに関する情報を表示するには、
p
と入力します。Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x34c3f526
n
と入力してパーティションを作成します。Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): First sector (2048-41943039, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +100M Created a new partition 1 of type 'Linux' and of size 100 MiB.
p
と入力して、プライマリパーティションタイプを選択します。デフォルトのパーティション番号を使用するには、
1
を入力します。2048
を入力して、2048する開始セクターをデフォルトにします。説明開始セクタの番号は2048 (デフォルト) であり、終了セクタは開始セクタの先頭から100 MB離れている。 次のいずれかのパラメーターを使用して、パーティションのサイズを指定します。
+ セクター: セクターのサイズをパーティションサイズとして使用するセクターを指定します。
+ size: パーティションのサイズを指定します。 たとえば、パラメーターを + 100 Mに設定すると、パーティションサイズが100 MBに設定されます。
パーティションサイズを100 MBに設定するには、
+ 100 M
と入力します。次のコマンド出力は、作成されたパーティションのサイズが100 MBであることを示します。
... Created a new partition 1 of type 'Linux' and of size 100 MiB.
w
と入力してパーティション情報をパーティションテーブルに保存し、終了します。Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
パーティションサイズの変更
このセクションでは、パーティションを拡張する方法について説明します。 fdisk
ツールは、パーティションのサイズを変更するコマンドを提供しません。 fdisk
を使用してパーティションのサイズを変更する場合、元のパーティションを削除し、新しいサイズの新しいパーティションを作成する必要があります。 この操作は、既存のディスクデータの損失につながる可能性があります。 parted
は、パーティションのサイズを変更するコマンドを提供する別のディスクパーティショニングツールです。 次のセクションでは、parted
を使用してパーティションサイズを変更する方法について説明します。
parted
をインストールします。sudo yum install -y parted
partedが期待どおりにインストールされているか確認します。
sudo parted --help
次のコマンド出力が返されます。これは、partedが期待どおりにインストールされていることを示します。
Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. OPTIONs: -h, --help displays this help message ...
parted
インターフェイスにアクセスします。sudo parted /dev/vdb
parted
の単位をMiBに設定します。(parted) unit MiB
すべてのパーティション情報を表示するには、
p
と入力します。(parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1.00MiB 101MiB 100MiB primary 2 101MiB 201MiB 100MiB primary
パーティションのサイズを変更します。
NUMBER
とENDの値を、対応するパーティション番号と終了位置に置き換えます。resizepart NUMBER END
パーティション2の開始位置は、101 MiBである。 サイズを500 MiBに拡張するには、パーティション2の終了位置を設定してMiBを601します。
(parted) resizepart 2 601MiB (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1.00MiB 101MiB 100MiB primary 2 101MiB 601MiB 500MiB primary
quit
と入力してを終了します。fdisk
インターフェイスにアクセスします。sudo fdisk /dev/vdb
現在のディスク情報を表示し、パーティションサイズを確認するには、pを入力します。
Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux /dev/vdb2 206848 1230847 1024000 500M 83 Linux
q
を入力して終了します。
パーティションタイプの変更
パーティションの種類を変更するには、fdisk
を使用します。
fdisk
インターフェイスにアクセスします。sudo fdisk /dev/vdb
現在のパーティション情報を表示するには、
p
と入力します。 サンプルコマンド出力:Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux /dev/vdb2 206848 1230847 1024000 500M 83 Linux
すべてのパーティションタイプを表示するには、
l
と入力します。 サンプルコマンド出力:0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . ......
パーティションの種類を変更します。
たとえば、パーティション2をタイプ番号が5の拡張パーティションに変更するとします。
t
、2、5を順番に入力します。Command (m for help): t Partition number (1,2, default 2): 2 Hex code (type L to list all codes): 5 Changed type of partition 'Linux' to 'Extended'.
パーティション情報を表示するには、
p
と入力します。Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux /dev/vdb2 206848 1230847 1024000 500M 5 Extended
w
と入力してパーティション情報をパーティションテーブルに保存し、終了します。Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
パーティションの削除
fdisk
インターフェイスにアクセスします。sudo fdisk /dev/vdb
パーティション情報を表示するには、
p
と入力します。Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux /dev/vdb2 206848 1230847 1024000 500M 5 Extended
たとえば、パーティション2を削除するとします。
d
を入力し、次にパーティション番号2を入力します。 次のコマンド出力は、パーティション2が削除されたことを示します。Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 has been deleted.
パーティション情報を表示するには、
p
と入力します。 次のコマンド出力は、パーティション2が削除されたことを示します。Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux
w
と入力してパーティション情報をパーティションテーブルに保存し、終了します。Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.