🌟

Linuxのディスクパーティション作成方法

に公開

はじめに

VMware上に作成した仮想マシンに仮想ディスクを追加し、パーティション作成を行う方法を調べました。パーティション作成後、ファイルシステムの作成、マウントまでの工程を備忘録として残しておきます。
※VMwareFusion上にFedoraServer42の仮想マシンを作成しrootユーザーで操作します。

作成するディスク構成

  • ディスクサイズ : 60GB
  • ラベル : gpt
  • ファイルシステム : ext4
  • パーティションの分割は行わない

仮想ディスク情報の確認

root@fedora:~# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0              11:0    1 1024M  0 rom  
zram0           251:0    0  3.8G  0 disk [SWAP]
nvme0n2         259:0    0   60G  0 disk 
├─nvme0n2p1     259:1    0  200M  0 part /boot/efi
├─nvme0n2p2     259:2    0   20G  0 part 
│ ├─fedora-var  252:0    0   10G  0 lvm  /var
│ └─fedora-home 252:1    0   10G  0 lvm  /home
├─nvme0n2p3     259:3    0   20G  0 part /
└─nvme0n2p4     259:4    0  954M  0 part 
nvme0n1         259:5    0   60G  0 disk 

仮想マシンが認識しているデバイス情報を確認。

root@fedora:~# parted -l
エラー: /dev/nvme0n1: ディスクラベルが認識できません。
モデル: VMware Virtual NVMe Disk (nvme)                                   
ディスク /dev/nvme0n1: 64.4GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: unknown
ディスクフラグ: 

モデル: VMware Virtual NVMe Disk (nvme)
ディスク /dev/nvme0n2: 64.4GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了    サイズ  ファイルシステム  名前                  フラグ
 1    1049kB  211MB   210MB   fat16             EFI System Partition  boot, esp
 2    211MB   21.7GB  21.5GB                                          lvm
 3    21.7GB  43.2GB  21.5GB  ext4
 4    43.2GB  44.2GB  1000MB  ext4              primary

新規に追加した仮想ディスクは/dev/nvme0n1。このディスクのパーティションを作成していく。

パーティションの作成

root@fedora:~# parted /dev/nvme0n1
GNU Parted 3.6
/dev/nvme0n1 を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) 

partedコマンドを使用し、対話形式でパーティション操作を行なっていく。

(parted) mklabel gpt
(parted) print                                                            
モデル: VMware Virtual NVMe Disk (nvme)
ディスク /dev/nvme0n1: 64.4GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

mklabelコマンドでパーティションテーブルの種類を指定。今回はGPTラベルを指定する。
(※MBRラベルは古いディスクラベル、2TB以上のディスクに対応していないなどの制限がある)

(parted) mkpart primary ext4 0% 100%
(parted) print
モデル: VMware Virtual NVMe Disk (nvme)
ディスク /dev/nvme0n1: 64.4GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    1049kB  64.4GB  64.4GB  ext4              primary

(parted) quit                                                             

mkpartコマンドでパーティションを作成。
ファイルシステムをext4で指定しているが、このコマンドで実際にファイルシステムが作成されている訳ではない。(ファイルシステムの識別子のようなものを設定しているだけ)
フラグにはprimaryを指定しているが、GPT形式を設定する必要はない。MBR形式の場合はprimaryかextendedを指定してあげる必要がある。

root@fedora:~# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0              11:0    1 1024M  0 rom  
zram0           251:0    0  3.8G  0 disk [SWAP]
nvme0n2         259:0    0   60G  0 disk 
├─nvme0n2p1     259:1    0  200M  0 part /boot/efi
├─nvme0n2p2     259:2    0   20G  0 part 
│ ├─fedora-var  252:0    0   10G  0 lvm  /var
│ └─fedora-home 252:1    0   10G  0 lvm  /home
├─nvme0n2p3     259:3    0   20G  0 part /
└─nvme0n2p4     259:4    0  954M  0 part 
nvme0n1         259:5    0   60G  0 disk 
└─nvme0n1p1     259:7    0   60G  0 part 

/dev/nvme0n1p1パーティションが作成された。ただし、パーティションを作成しただけではディレクトリやファイルの操作ができないので、ファイルシステムを作成する必要がある。

ファイルシステムの作成

root@fedora:~# mkfs.ext4 /dev/nvme0n1p1 
mke2fs 1.47.2 (1-Jan-2025)
Creating filesystem with 15728128 4k blocks and 3932160 inodes
Filesystem UUID: 7ff0b578-e436-4913-aba0-83cdf9245a82
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done  

/dev/nvme0n1p1 にファイルシステムを作成する。

root@fedora:~# lsblk -f
NAME            FSTYPE      FSVER    LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
sr0                                                                                              
zram0           swap        1        zram0 7a113fe5-895c-4863-a851-ac563cdbfa0f                  [SWAP]
nvme0n2                                                                                          
├─nvme0n2p1     vfat        FAT16          07B4-EAEC                                 188M     6% /boot/efi
├─nvme0n2p2     LVM2_member LVM2 001       8bihnE-V15J-cPUo-TdVL-Ks2e-r0eA-e0cmaP                
│ ├─fedora-var  xfs                        a255f080-aed7-41c5-bfc1-69ecea8eb38b      9.1G     9% /var
│ └─fedora-home ext4        1.0            d9d1bb43-b680-436e-add5-c766d50413dc      8.7G     5% /home
├─nvme0n2p3     ext4        1.0            401b6565-c3b0-4439-bc67-26400048932c     13.3G    27% /
└─nvme0n2p4     ext4        1.0            5d912270-3b5e-46f4-8a0b-cd2df608a7bb                  
nvme0n1                                                                                          
└─nvme0n1p1     ext4        1.0            7ff0b578-e436-4913-aba0-83cdf9245a82  

nvme0n1p1 にext4ファイルシステムが作成された。

作成したパーティションをマウント

root@fedora:~# mount /dev/nvme0n1p1 /mnt

作成したパーティションを /mnt にマウントする。

root@fedora:~# df -T
ファイルシス            タイプ   1K-ブロック    使用   使用可 使用% マウント位置
/dev/nvme0n2p3          ext4        20466256 5467916 13933380   29% /
devtmpfs                devtmpfs        4096       0     4096    0% /dev
tmpfs                   tmpfs        1991848       0  1991848    0% /dev/shm
efivarfs                efivarfs         256      33      224   13% /sys/firmware/efi/efivars
tmpfs                   tmpfs         796740    1256   795484    1% /run
tmpfs                   tmpfs           1024       0     1024    0% /run/credentials/systemd-journald.service
tmpfs                   tmpfs        1991848       0  1991848    0% /tmp
/dev/nvme0n2p1          vfat          204580   12060   192520    6% /boot/efi
/dev/mapper/fedora-home ext4        10218772  532076  9146024    6% /home
/dev/mapper/fedora-var  xfs         10420224  902256  9517968    9% /var
tmpfs                   tmpfs           1024       0     1024    0% /run/credentials/systemd-resolved.service
tmpfs                   tmpfs           1024       0     1024    0% /run/credentials/getty@tty1.service
tmpfs                   tmpfs         398368      12   398356    1% /run/user/0
/dev/nvme0n1p1          ext4        61609772    2072 58445692    1% /mnt

df -Tコマンドでちゃんとマウントできている事を確認。

さいごに

無事にパーティションの作成が完了しました。ちなみに作成済みのパーティションを操作するとデータが消失する可能性もあるので、取扱いには注意してください。

Discussion