Open6

Ubuntu22.04で外付けSSDを初期化してマウントする方法

でぶねこでぶねこ

まずはfdiskを使用して外付けSSDがどのように認識されているか確認する

$ sudo fdisk -l
〜略〜
Disk /dev/sdb: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: XCERIA G2 SSD   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes

自分の環境だと「/dev/sdb」に認識されている
まずこれをフォーマットする

でぶねこでぶねこ

「parted」コマンドを使用し、GPTで全容量を指定したパーティションを作成する

$ sudo parted --script /dev/sdb "mklabel gpt"
$ sudo parted --script /dev/sdb "mkpart primary 0% 100%"

再度fdiskを使用して状態を確認する

$ sudo fdisk -l
〜略〜
Disk /dev/sdb: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: XCERIA G2 SSD   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: gpt
Disk identifier: 3692678C-028F-4416-A9E2-985785B32352

Device     Start        End    Sectors  Size Type
/dev/sdb1  65535 3907000094 3906934560  1.8T Linux filesystem
でぶねこでぶねこ

「mkfs」を使用して「/dev/sdb1」を「ext4」形式でフォーマットする

$ sudo mkfs -t ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 488366820 4k blocks and 122093568 inodes
Filesystem UUID: 59949f6e-5b93-401f-a3cd-b7f15399b334
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848

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

でぶねこでぶねこ

続いてマウント設定を行う
再起動などを行なっても変化しないようにSSDのUUIDを調べ、UUIDを使用したマウントを行う。
まず「blkid」を使用し、現在「/dev/sdb1」に設定されているSSDのUUIDを調べる

$ sudo blkid | grep sdb1
/dev/sdb1: UUID="59949f6e-5b93-401f-a3cd-b7f15399b334" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="40169df6-9183-4f1d-a320-a83291049c27

今回の例だと下記になる

59949f6e-5b93-401f-a3cd-b7f15399b334
でぶねこでぶねこ

マウント用のディレクトリを作成し

$ sudo mkdir /mnt/ssd

「fstab」に上記で調べたUUIDで起動時にマウントするように設定する

$ sudo vim /etc/fstab
+ /dev/disk/by-uuid/59949f6e-5b93-401f-a3cd-b7f15399b334 /mnt/ssd ext4 defaults 0 0

「defaults」の部分はオプション、細かく指定することもできる
次の「0 0」は前者が「dump」コマンドによるバックアップ対象にする(1)かしないか(0)
後者が起動時に「fsck」なるものでチェックする優先度指定、0ならチェックしない
外付けHDDの類なら「0 0」で良いと思う

続いて「mount」コマンドを利用して追加した内容で問題なく動作するか確認する

$ sudo mount -a
$ df -h | grep sdb
/dev/sdb1                          1.8T   28K  1.7T   1% /mnt/ssd
でぶねこでぶねこ

ext4の場合マウントしたフォルダ直下は一般ユーザでは書き込み等ができなかった
そのため以下の手順でもう一階層追加すれば良い

$ sudo /mnt/ssd/share
$ sudo chmod 1777 /mnt/ssd/share

なお「1777」だと他ユーザのファイルを消すことができなくなる
https://pcvogel.sarakura.net/2021/07/20/32370