Fedora41で4TB以上のHDDをフォーマット・マウントする方法
Minecraftというゲームの友人と遊んでいるサーバのバックアップ用に、WD社製 4TiB HDDを購入しました。
フォーマットの方法と、USBなどのディスクと同じようにやると2TiB以上のパーティションにフォーマットしてくれないので、探してみました。
※ 詳しい解説などは書いていません。その為、わからないことがあれば各自調べてください。
参考
手順
1. HDDのデバイス名を調べる
このコマンドで、HDDを調べます。
dmesg | grep "sd"
全体
[root@localhost locu]# dmesg | grep "sd"
[ 0.017983] ACPI: SSDT 0x0000000075531000 005D0B (v02 CpuRef CpuSsdt 00003000 INTL 20200717)
[ 0.017986] ACPI: SSDT 0x000000007552E000 002A45 (v02 SaSsdt SaSsdt 00003000 INTL 20200717)
[ 0.017988] ACPI: SSDT 0x000000007552A000 0033D3 (v02 INTEL IgfxSsdt 00003000 INTL 20200717)
[ 0.222008] ACPI: SSDT 0xFFFF92F9C02E7C00 0001AB (v02 PmRef Cpu0Psd 00003000 INTL 20200717)
[ 0.226545] ACPI: SSDT 0xFFFF92F9C171C000 001349 (v02 PmRef ApPsd 00003000 INTL 20200717)
[ 0.838505] ahci 0000:00:17.0: flags: 64bit ncq sntf clo only pio slum part deso sadm sds
[ 1.856308] sd 2:0:0:0: Attached scsi generic sg0 type 0
[ 1.857086] sd 2:0:0:0: [sda] 7814037168 512-byte logical blocks: (4.00 TB/3.64 TiB)
[ 1.857090] sd 2:0:0:0: [sda] 4096-byte physical blocks
[ 1.857236] sd 2:0:0:0: [sda] Write Protect is off
[ 1.857239] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 1.857487] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.886012] sd 2:0:0:0: [sda] Preferred minimum I/O size 4096 bytes
[ 1.886017] sd 2:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[ 1.900406] sda: sda1
[ 1.900514] sd 2:0:0:0: [sda] Attached SCSI disk
[ 4.288501] systemd[1]: Listening on systemd-mountfsd.socket - DDI File System Mounter Socket.
[ 5.495475] EXT4-fs (sda1): mounted filesystem 639e4f10-0cb4-43d7-b8c5-b437f15f2db6 r/w with ordered data mode. Quota mode: none.
「sd<アルファベット1文字>」で外付けディスクが読み込まれるらしいです。
今回は、「/dev/sda」という文字列で認識されていました。
2. GNU Partedでフォーマット
partedを起動
parted /dev/sda
「p」でドライブの確認
p
「mkpart」でフォーマット
mkpart primary
入力後、「ファイルシステムの種類?」「開始?」「終了?」と表示されるので、以下をそれぞれ入力する。
ファイルシステムの種類? [ext2]? ext4
開始? 0%
終了? 100%
入力したら、「quit」をする
quit
これで、「sda1」というパーティションが作成できました。
ログ全体
[root@localhost locu]# parted /dev/sda
GNU Parted 3.6
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p
モデル: WDC WD40 EZAX-00C8UB0 (scsi)
ディスク /dev/sda: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
(parted) mkpart primary
ファイルシステムの種類? [ext2]? ext4
開始? 0%
終了? 100%
(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
[root@localhost locu]#
3. 自動マウント設定
blkidでUUIDを取得
Linux端末の起動時、自動でマウントしてくれるように設定します。
「blkid」で、「sda1」の「UUID」を取得します。
UUID=”<この間をコピー>”
※ 僕の場合「639e4f10-0cb4-43d7-b8c5-b437f15f2db6」を取得できました。
blkid /dev/sda1
マウント用フォルダを作成
フォルダ名は、好きにつけてください
※もちろん、英数字記号のみです。( _とか -くらいにしておいた方がいいかも )
mkdir /mnt/external_hdd
「/etc/fstab」に設定
「/etc/fstab」にマウント設定をすると、起動時に自動マウントを行ってくれます
echo "UUID=<先程取得したUUID> /mnt/external_hdd ext4 rw 0 0" >> /etc/fstab
デーモンをリロード
いろいろ弄ったので、一応デーモンのリロードをしましょう
systemctl daemon-reload
HDDをマウントする
mount /dev/sda1
こうすることで、マウントが完了します。
確認してみましょう
df -h
自分のドライブ名があれば成功です!
/dev/sda1 3.6T 2.1M 3.4T 1% /mnt/server_backup
最後に、再起動をしておきましょう
reboot
これで、確認をして自動的にマウントされていれば成功です!
お疲れ様でした~!
トラブルシューティング
エラー: パーティション長 7814033408 セクタは msdos パーティションテーブルによって決められた最大長 4294967295 を越えています
上のように表示された場合、HDDの形式が「msdos」のため以下の手順を行ってみてください。
1. partedを起動
parted /dev/sda
2. HDDのモード変更
「p」でドライブ確認
p
「mklabel」で「msdos」から「gpt」へ変更
mklabel gpt
一応「quit」をする
quit
ログ全体
[root@localhost locu]# parted /dev/sda
GNU Parted 3.6
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p
モデル: WDC WD40 EZAX-00C8UB0 (scsi)
ディスク /dev/sda: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
(parted) mklabel gpt
警告: いま存在している /dev/sda のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? y
(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
[root@localhost locu]#
これで解決するはずです。