ディスク、マウント、fstab
ディスクとパーティションの管理は、Ubuntu 26.04 システム管理の中核となるスキルです。この記事では、ディスク情報を表示し、パーティションを手動でマウントし、fstab を使用して起動時に自動マウントを構成する方法を説明します。
ディスクおよびパーティション情報の表示
lsblk - ブロックデバイスの一覧表示
# Basic usage
lsblk
# Example output:
# NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
# sda 8:0 0 500G 0 disk
# ├─sda1 8:1 0 512M 0 part /boot/efi
# ├─sda2 8:2 0 488G 0 part /
# └─sda3 8:3 0 11.5G 0 part [SWAP]
# sdb 8:16 0 2T 0 disk
# └─sdb1 8:17 0 2T 0 part
# Show filesystem types and UUIDs
lsblk -f
# Show more detailed information
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABELその他のディスク情報ツール
# View partition table
sudo fdisk -l
# View disk usage
df -h
# View disk usage of a specific directory
du -sh /var/log
# View UUIDs of all partitions
sudo blkidパーティショニング
MBR パーティショニングに fdisk を使用する
# Partition /dev/sdb
sudo fdisk /dev/sdb
# fdisk interactive commands:
# n - Create a new partition
# p - Print partition table
# d - Delete a partition
# t - Change partition type
# w - Write changes and exitGPT パーティショニングに gdisk を使用する
sudo apt install gdisk
sudo gdisk /dev/sdbparted の使用
# Interactive mode
sudo parted /dev/sdb
# Non-interactive example: create a GPT partition table and one partition
sudo parted /dev/sdb mklabel gpt
sudo parted /dev/sdb mkpart primary ext4 0% 100%パーティションのフォーマット
# Format as ext4
sudo mkfs.ext4 /dev/sdb1
# Format as XFS
sudo mkfs.xfs /dev/sdb1
# Format as Btrfs
sudo mkfs.btrfs /dev/sdb1
# Format as NTFS (requires ntfs-3g)
sudo mkfs.ntfs /dev/sdb1
# Set a volume label
sudo e2label /dev/sdb1 "DataDisk"マウントとアンマウント
mount - パーティションのマウント
# Create a mount point
sudo mkdir -p /mnt/data
# Mount a partition
sudo mount /dev/sdb1 /mnt/data
# Mount as read-only
sudo mount -o ro /dev/sdb1 /mnt/data
# Mount an ISO file
sudo mount -o loop ubuntu-26.04.iso /mnt/iso
# Mount an NFS share
sudo mount -t nfs 192.168.1.100:/shared /mnt/nfs
# Mount a CIFS/SMB share
sudo mount -t cifs //192.168.1.100/share /mnt/smb -o username=user,password=pass
# View all current mounts
mount | column -t
findmntumount - パーティションのアンマウント
# Unmount a partition
sudo umount /mnt/data
# If the device is busy, find the processes using it
sudo lsof +f -- /mnt/data
sudo fuser -mv /mnt/data
# Force unmount (use with caution)
sudo umount -l /mnt/data # Lazy unmount
sudo umount -f /mnt/data # Force unmount (NFS)/etc/fstab 自動マウント
Warning
/etc/fstab の構成エラー (UUID のタイプミスや存在しないマウント ポイントなど) により、システムが正常に起動できなくなる可能性があります。編集する前に必ずファイル (sudo cp /etc/fstab /etc/fstab.bak) をバックアップし、変更後は sudo mount -a および sudo findmnt --verify で構成を確認してください。非クリティカルなパーティションの場合は、ブートの失敗を防ぐために nofail オプションを追加することを検討してください。
fstab ファイル形式
/etc/fstab は、起動時に自動的にマウントされるパーティションを定義します。各行には 6 つのフィールドが含まれます。
# <device> <mount point> <filesystem> <options> <dump> <fsck>
UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2フィールドの説明:
| フィールド | 説明 |
|---|---|
| デバイス | パーティション識別子。 UUIDを推奨します |
| マウントポイント | マウント先のディレクトリ パス |
| ファイルシステム | ext4、xfs、btrfs、ntfsなど。 |
| オプション | カンマ区切りのマウント オプション |
| ダンプ | バックアップフラグ、通常は0 |
| Fsck | ブートチェック順序: ルートの場合は 1、その他の場合は 2、スキップの場合は 0 |
UUIDの取得
# Method 1: blkid
sudo blkid /dev/sdb1
# Output: /dev/sdb1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4"
# Method 2: lsblk
lsblk -f /dev/sdb1
# Method 3: ls symlinks
ls -la /dev/disk/by-uuid/fstab の設定例
# Edit fstab (back up before modifying)
sudo cp /etc/fstab /etc/fstab.bak
sudo nano /etc/fstab一般的な構成:
# ext4 data partition
UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /mnt/data ext4 defaults 0 2
# Mount with specific options
UUID=b2c3d4e5-f6a7-8901-bcde-f12345678901 /mnt/ssd ext4 defaults,noatime,discard 0 2
# NTFS partition (Windows data drive)
UUID=1234567890ABCDEF /mnt/windows ntfs-3g defaults,uid=1000,gid=1000,umask=022 0 0
# NFS network share
192.168.1.100:/shared /mnt/nfs nfs defaults,_netdev 0 0
# tmpfs (in-memory filesystem)
tmpfs /tmp tmpfs defaults,noatime,size=2G 0 0
# swap partition
UUID=c3d4e5f6-a7b8-9012-cdef-123456789012 none swap sw 0 0一般的なマウント オプション
| オプション | 説明 |
|---|---|
defaults | rw、suid、dev、exec、auto、nouser、async と同等 |
noatime | アクセス時間を更新しないでください。パフォーマンスを向上させる |
nodiratime | ディレクトリのアクセス時間を更新しない |
discard | TRIM を有効にする (SSD に推奨) |
nofail | デバイスが存在しない場合でもブートをブロックしない |
_netdev | マウントする前にネットワークを待ちます |
ro | 読み取り専用としてマウントする |
noexec | バイナリの実行を防止する |
nosuid | SUID/SGID ビットを無視する |
fstab 構成の検証
# Mount all entries in fstab that are not yet mounted (tests if configuration is correct)
sudo mount -a
# Verify with findmnt
sudo findmnt --verify
# If there are errors, restore the backup
sudo cp /etc/fstab.bak /etc/fstabスワップ管理
# View current swap
swapon --show
free -h
# Create a swap file
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Add to fstab to make it persistent
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Disable swap
sudo swapoff /swapfileLVM 論理ボリューム管理
# Install LVM tools
sudo apt install lvm2
# Create a physical volume
sudo pvcreate /dev/sdb1
# Create a volume group
sudo vgcreate mydata /dev/sdb1
# Create a logical volume
sudo lvcreate -L 100G -n myvolume mydata
# Format and mount
sudo mkfs.ext4 /dev/mydata/myvolume
sudo mount /dev/mydata/myvolume /mnt/data
# Online extend a logical volume
sudo lvextend -L +50G /dev/mydata/myvolume
sudo resize2fs /dev/mydata/myvolume
# View LVM status
sudo pvs
sudo vgs
sudo lvsトラブルシューティング
起動時の fstab マウントの失敗
fstab の設定ミスにより起動できない場合は、GRUB リカバリ モードを使用します。
# Remount root partition as read-write
mount -o remount,rw /
# Edit and fix fstab
nano /etc/fstab
# Reboot
reboot不十分なディスク容量のトラブルシューティング
# View partition usage
df -h
# Find large files
sudo find / -type f -size +100M -exec ls -lh {} \;
# View directory space usage (sorted)
sudo du -sh /* | sort -rh | head -20
# Clean APT cache
sudo apt clean
sudo apt autoremove