Ubuntuで外付けHDDをフォーマットする

Ubuntuで外付けHDDをフォーマットする

はじめに

バックアップ用の外付け HDD を使用する必要があったため、その手順の記録しておきます。

デバイスが認識されていることを確認

マシンに接続された HDD が認識されているか確認します。

今回使用している HDD の容量は 8TB です。

$ sudo fdisk -l

# 省略

ディスク /dev/sdf: 7.28 TiB, 8001563222016 バイト, 15628053168 セクタ
Disk model: 004-2U9188
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト

/dev/sdfというパスのsdfが接続した HDD やの具体的なデバイスファイルを指します。

Linux では HDD や USB、キーボードなどの外部デバイスをデバイスファイルとして管理しており、HDD はsdasdbなどのようにアルファベット順に接続されているデバイスを確認することが出来ます。

追加で接続した外付け HDD はsdfとして認識されているので、6 番目の HDDであることが分かります。

読み込まれたデバイスはアルファベット順になっていると述べましたが、起動時の読み込まれる順番によって変化するので再起動したときにsdeなどのように順番が変わっていることもあります。

$ ls -la /dev/sd*

brw-rw---- 1 root disk 8,  0  36 18:07 /dev/sda
brw-rw---- 1 root disk 8,  1  36 18:07 /dev/sda1
brw-rw---- 1 root disk 8,  2  36 18:07 /dev/sda2
brw-rw---- 1 root disk 8,  5  36 18:07 /dev/sda5
brw-rw---- 1 root disk 8,  6  36 18:07 /dev/sda6
brw-rw---- 1 root disk 8, 16  36 18:07 /dev/sdb
brw-rw---- 1 root disk 8, 32  36 18:07 /dev/sdc
brw-rw---- 1 root disk 8, 33  36 18:07 /dev/sdc1
brw-rw---- 1 root disk 8, 48  36 18:07 /dev/sdd
brw-rw---- 1 root disk 8, 49  36 18:07 /dev/sdd1
brw-rw---- 1 root disk 8, 64  36 18:07 /dev/sde
brw-rw---- 1 root disk 8, 65  36 18:07 /dev/sde1
brw-rw---- 1 root disk 8, 80  36 18:08 /dev/sdf

/dev/sda1/dev/sda2というのはパーティションが区切られている HDD 及び SSD でという意味で、数字無しはディスクドライブ自体を示しています。

パーティションを確認するコマンドはいくつかありますが、lsblkコマンドで現在の状態を確認してみます。

$ lsblk
NAME       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda        8:0      0 111.8G  0 disk
├─sda1     8:1      0  93.2G  0 part /var/snap/firefox/common/host-hunspell
│                                    /
├─sda2     8:2      0     1K  0 part
├─sda5     8:5      0   9.3G  0 part /home
└─sda6     8:6      0   9.3G  0 part /var
sdb        8:16     0 232.9G  0 disk
sdc        8:32     0 465.8G  0 disk
└─sdc1     8:33     0 465.7G  0 part /home/xxxxxx/xxxxxx
sdd        8:48     0   1.8T  0 disk
└─sdd1     8:49     0   1.8T  0 part /home/xxxxxx/xxxxxx
sde        8:64     0   3.6T  0 disk
└─sde1     8:65     0   3.6T  0 part /home/xxxxxx/xxxxxx
sdf        8:80     0   7.3T  0 disk

sdaを例に見てみると、

  • sdaはディスクドライブを指す
  • sda1sda6のパーティションはそれぞれ MOUNTPOINTS で確認できるマウントポイントにマウントされている

以上のような事が読み取れます。

ディスクドライブのパーティションを作成

前置きが長くなりましたが、接続した HDD を利用できるようにしていきます。

パーティションを作成するコマンドはいくつかありますが、今回はpartedコマンドを使用します。

$ sudo parted /dev/sdf
GNU Parted 3.4
/dev/sdf を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) help # コマンドを確認
  align-check TYPE N            パーティション N のアライメント(TYPE: min|opt)をチェックする
  help [コマンド]               ヘルプ表示。コマンド指定でそのヘルプを表示
  mklabel,mktable               ラベルの種類  新しいラベル(パーティションテーブル)を作る
  mkpart PART-TYPE [FS-TYPE] START END     パーティションを作成
  name NUMBER 名前              パーティションに名前をつける
  print [devices|free|list,all|NUMBER]
                                パーティションテーブルや、利用可能なデバイス、空き領域、
                                見つかった全てのパーティション、あるいは特定のパーティションについて表示する
  quit                          プログラムを終了する
  rescue 開始 終了              開始、終了で指定した範囲付近にあるパーティションを復活させる
  resizepart NUMBER END         パーティション NUMBER を END にリサイズする
  rm NUMBER                     パーティションを削除する
  select デバイス               操作するデバイスを選択
  disk_set FLAG STATE           選択したデバイスの FLAG を変更
  disk_toggle [FLAG]            選択したデバイスの FLAG の状態をトグル
  set NUMBER フラグ 状態        ファイルシステムのフラグと状態を設定する
  toggle [NUMBER [FLAG]]        パーティションのフラグの状態を反転する
  unit UNIT                     デフォルトの単位を UNIT にする
  version                       GNU Parted のバージョンと著作権情報を表示

(parted) help mklabel # 作成するラベルの種類を確認
  mklabel,mktable ラベルの種類  新しいラベル(パーティションテーブル)を作る

        ラベルの種類は次のうちから選びます: aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, atari, loop

(parted) mklabel gpt # 8TBなのでGPT(GUIDパーティションテーブル)を指定
(parted) mkpart # パーティションを作成
パーティションの名前?  []? DataBackup # 適当な名前を作成(指定しなくても良い)
ファイルシステムの種類?  [ext2]? ext4 # ファイルシステムを指定(ext4はLinuxで標準的に使用されている)
開始? 0% # 開始位置を指定
終了? 100% # 終了位置を指定
(parted) p # パーティションが正しく作成されたか確認
モデル: ST8000DM 004-2U9188 (scsi)
ディスク /dev/sdf: 8002GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

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

(parted) q # コマンドを終了
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

パーティションをフォーマットする

次に作成したパーティションをフォーマットします。

$ sudo mkfs.ext4 /dev/sdf1
mke2fs 1.46.5 (30-Dec-2021)
/dev/sdf1 contains a ext4 file system
        created on Wed Mar 20 16:08:39 2024
Proceed anyway? (y,N) y # y を入力し次に進む
Creating filesystem with 1953506304 4k blocks and 244191232 inodes
Filesystem UUID: b745d81d-07b4-4500-a9d6-a52afd096df6
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, 1934917632

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done # しばらく放置するとデフォルト値が設定される
Writing superblocks and filesystem accounting information: done # エンターを押さなくてもしばらく放置すると終了する

マウントポイントにマウントさせる

フォーマットしたパーティションをマウントポイントを作成してマウントしていきます。

$ mkdir ~/Big_Size_Backup

$ sudo mount /dev/sde1 ~/Big_Size_Backup

$ df -h
# 省略
/dev/sde1       7.3T   28K  6.9T   1% /home/user01/Big_Size_Backup

作成したディレクトリに HDD がマウントされました。

fstab に登録

外部デバイスのマウントは一時的なもので、再起動やシャットダウンしてしますと次回起動時にマウントの設定は消えていまします。

そのため、外部 HDD を毎回自動的にマウントしたい場合は、その設定を/etc/fstabに登録します。

# 外部HDDのUUIDを確認する
$ lsblk -f
NAME   FSTYPE   FSVER LABEL      UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
# 省略

sde
└─sde1 ext4     1.0              b745d81d-07b4-4500-a9d6-a52afd096df6    6.9T     0% /home/user01/Big_Size_Backup

# 設定ファイルのバックアップを作成
$ sudo cp /etc/fstab /etc/fstab.bak

$ sudo vim /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>

# 中略

# ファイルの末尾に以下を記述↓
UUID=b745d81d-07b4-4500-a9d6-a52afd096df6 /home/user01/Big_Size_Backup ext4 nofail 0 0

# サーバを再起動
$ sudo reboot

サーバを再起動して起動時に HDD がマウントされていることを確認してください。

マウントされていない場合は設定を見直してください。

Linux の学習におすすめの参考書

簡単なアンケートに答えると、無料の PDF がダウンロード出来ます。

開発者でも知っておくと役に立つと思いますので是非手にとって勉強してみてください。

参考