Ubuntu22.04で、外付けドライブのフォーマット方法と、パソコンの起動時に外付けドライブを自動マウントする方法を紹介します。
すべてCUIで実施し、mkfs
コマンドでドライブをフォーマットし、/etc/fstab
を編集することで自動マウントを行います。
また、mount
コマンドを利用した手動マウント方法も紹介します。
パソコンに接続されている外付けドライブの確認
まず、lsblk
コマンドでパソコンに接続されているドライブを確認します。
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
...
sda
sdb
└─sdb1 ext4 1.0 XXX 278.9G 64% /hoge
....
上記の例では、二つのドライブ(sda
とsdb
)がマウントされていることが確認できます。(ここのデバイス番号は接続されているHDD数などで変わります)
また、sda
ドライブはパーティションを持っておらず、sdb
は一つのパーティション(sdb1
)がext4
でフォーマットされていることが確認できます。
ドライブにパーティションを作成しext4でフォーマット
下記では、/dev/sda
に対してパーティションの作成とext4
でのフォーマットを行います。
まず、パーティションを作成します。
$ sudo fdisk /dev/sda
fdisk (util-linux 2.37.2) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。
# パーティションを作成する
コマンド (m でヘルプ): n
# パーティション番号を指定
パーティション番号 (1-128, 既定値 1): 1
# 最初のセクタ
最初のセクタ (34-11721045134, 既定値 2048): 2048
# 最後のセクタ
Last sector, +/-sectors or +/-size{K,M,G,T,P} (34-11721045134, 既定値 11721045134): 11721045134
新しいパーティション 1 をタイプ Linux filesystem、サイズ 5.5 TiB で作成しました。
# 書き込み
コマンド (m でヘルプ): w
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。
パーティションが作成されたことを確認します。
$ lsblk
...
sda 8:0 0 5.5T 0 disk
└─sda1 8:1 0 5.5T 0 part
...
5.5TBのパーティション(/sda/sda1
)が作成されたことが確認できます。
次に、ext4でフォーマットします。
$ sudo mkfs -t ext4 /dev/sda1
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 1465130385 4k blocks and 183144448 inodes
Filesystem UUID: ddae5e85-7cba-4132-abdf-e698966dbfdb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
ext4
でフォーマットされたことを確認しましょう。
$ lsblk -f
...
sda
└─sda1 ext4 1.0 XXX
...
sda1
にext4
でフォーマットされたパーティションが作成されていることが確認できました。
mountコマンドで手動マウント
/sda/sda1
パーティションをmount
コマンドでマウントします。
$ sudo mount -t ext4 /dev/sda1 /path/to/mount/dir
-t
オプションでファイルシステムを指定します。子満開はext4でフォーマットしているドライブです
これで、/path/to/mount/dir
に、外付けHDDがマウントされました。
UUIDでのマウント
/sda/sda1
のようなデバイス番号でマウントすることは可能ですが、この値はドライブの接続状況に応じて変更されうる値なので、毎回デバイス番号を調べるのは面倒くさいです。
デバイスごとに一意な値であるUUID
を利用してマウントする方法も紹介します。(正確には、ドライブをフォーマットするとUUID
は変更されます)
blkid
コマンドでUUIDを調べます。
$ blkid
...
/dev/sda1: UUID="03ba70ae-16e9-ZZZZ-YYYYY-XXXXXX" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a3b0ac7e-1541-ZZZZ-YYYYY-XXXXXX
UUID="XXX"
がこのデバイスのUUIDです。
次に、mount
コマンドでUUIDを利用してマウントします。
sudo mount -t ext4 UUID=<DEVICE_UUID> /path/to/mounted/dir
パソコンの起動時に自動でマウント
/etc/fstab
を編集します。下記の1行をファイルの末尾に追加してください。
UUID=03ba70ae-16e9-ZZZZ-YYYY-XXXX /path/to/mounted/dir ext4 nofail 0 0
- UUIDは上記で述べた通り、
blkid
コマンドで調べたUUIDを指定してください。 nofail
オプションは、マウントに失敗してもパソコンを起動するオプションです。これがない場合、マウントに失敗するとパソコンが起動しなくなります。
再起動すると、自動でデバイスがマウントされます。