すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:ディスクパーティションの管理

最終更新日:Dec 12, 2024

ディスク分割ツールを使用して、ディスクを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ディスクをパーティション化します。 以下の手順を実行します。

  1. オペレーティングシステムに関する情報を表示します。

    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/"
  2. fdiskがインストールされているかどうかを確認します。

    fdisk --help
  3. fdiskが見つからないというエラーメッセージが表示された場合は、次のコマンドを実行してfdiskをインストールします。

    sudo yum install -y util-linux
  4. 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ディスクに作成されます。

  1. ディスク情報を表示します。

    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 
  2. fdiskインターフェイスにアクセスします。

    sudo fdisk /dev/vdb
  3. 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
  4. 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
  5. wと入力してパーティションテーブル情報をディスクに保存し、終了します。

パーティションの作成

この例では、/dev/vdbディスクにパーティションが作成されます。

  1. fdiskインターフェイスにアクセスします。

    sudo fdisk /dev/vdb
  2. 現在のディスクに関する情報を表示するには、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
  3. 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.
  4. pと入力して、プライマリパーティションタイプを選択します。

  5. デフォルトのパーティション番号を使用するには、1を入力します。

  6. 2048を入力して、2048する開始セクターをデフォルトにします。

    説明

    開始セクタの番号は2048 (デフォルト) であり、終了セクタは開始セクタの先頭から100 MB離れている。 次のいずれかのパラメーターを使用して、パーティションのサイズを指定します。

    • + セクター: セクターのサイズをパーティションサイズとして使用するセクターを指定します。

    • + size: パーティションのサイズを指定します。 たとえば、パラメーターを + 100 Mに設定すると、パーティションサイズが100 MBに設定されます。

  7. パーティションサイズを100 MBに設定するには、+ 100 Mと入力します。

  8. 次のコマンド出力は、作成されたパーティションのサイズが100 MBであることを示します。

    ...
    Created a new partition 1 of type 'Linux' and of size 100 MiB.
  9. 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を使用してパーティションサイズを変更する方法について説明します。

  1. partedをインストールします。

    sudo yum install -y parted
  2. 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
    
    ...
  3. partedインターフェイスにアクセスします。

    sudo parted /dev/vdb
  4. partedの単位をMiBに設定します。

    (parted) unit MiB
  5. すべてのパーティション情報を表示するには、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
  6. パーティションのサイズを変更します。

    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
  7. quitと入力してを終了します。

  8. fdiskインターフェイスにアクセスします。

    sudo fdisk /dev/vdb
  9. 現在のディスク情報を表示し、パーティションサイズを確認するには、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
  10. qを入力して終了します。

パーティションタイプの変更

パーティションの種類を変更するには、fdiskを使用します。

  1. fdiskインターフェイスにアクセスします。

    sudo fdisk /dev/vdb
  2. 現在のパーティション情報を表示するには、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
  3. すべてのパーティションタイプを表示するには、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 / .
    ......
  4. パーティションの種類を変更します。

    たとえば、パーティション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'.
  5. パーティション情報を表示するには、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
  6. wと入力してパーティション情報をパーティションテーブルに保存し、終了します。

    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.

パーティションの削除

  1. fdiskインターフェイスにアクセスします。

    sudo fdisk /dev/vdb
  2. パーティション情報を表示するには、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
  3. たとえば、パーティション2を削除するとします。 dを入力し、次にパーティション番号2を入力します。 次のコマンド出力は、パーティション2が削除されたことを示します。

    Command (m for help): d
    Partition number (1,2, default 2): 2
    
    Partition 2 has been deleted.
  4. パーティション情報を表示するには、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
  5. wと入力してパーティション情報をパーティションテーブルに保存し、終了します。

    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.