
CentOS6.10 を使った少し古めの環境を触っていたとき、
fstab を UUID 指定にした途端、起動時に fsck エラーで止まる
というトラブルに遭遇しました💥
/dev/sdb1 のような デバイス名指定では普通に起動するのに、
「推奨されているはずの UUID 指定にすると起動しない」…
正直かなりハマりました😇
同じように困っている方のために、
実際に自分が調べて解決した内容をまとめます📝
❓ 何が起きていたのか
- 🖥 OS:CentOS 6.10
- 💾 HDD:4台搭載
/etc/fstab/dev/sdb1→ 問題なし ✅UUID=xxxx-xxxx→ 起動時 fsck エラー ❌
UUID は blkid からコピーしており、
一見すると正しそうでした。
⚠️ 原因① UUIDをそのままコピペしていた(クォート問題)
blkid の出力、こんな感じですよね👇
/dev/sdb1: UUID="1234-ABCD" TYPE="ext4"
この ダブルクォート付き UUID をそのまま fstab に書くと、
CentOS6 では 起動時の fsck が誤認識して失敗することがあります😱
✅ 正しい書き方(fstab)
UUID=1234-ABCD /data ext4 defaults 1 2
❌ ダメな例
UUID="1234-ABCD" /data ext4 defaults 1 2
👉 mount コマンドでは通るのに
👉 起動時だけ失敗するのが最大の罠でした🕳
🔐 安全なUUID取得方法
blkid -s UUID -o value /dev/sdb1
これなら 余計な記号が一切入らず安心です✨
⚠️ 原因② UUIDが重複していた(クローンディスクあるある)
次に疑ったのが UUIDの重複です💣
- dd でディスクを丸ごとコピー
- 同じOSイメージを複数HDDに展開
こうすると、同じUUIDを持つディスクが複数存在します。
その結果👇
- 🤔 fsck がどのディスクをチェックすべきか分からない
- 😵 想定外のディスクをチェックしてエラー
🔍 確認方法
blkid | grep UUID=
同じ UUID が複数出たら アウトです🚨
🔄 UUID再生成方法
ext3 / ext4
tune2fs -U random /dev/sdc1
XFS
xfs_admin -U generate /dev/sdc1
※ 必ずアンマウント状態で実行してください⚠️
⚠️ 原因③ 起動時にディスクがまだ認識されていない
CentOS6 は systemd ではなく SysVinit 世代なので、
ディスク認識より fsck が先に走ることがあります⏳
起きやすい環境👇
- SATAカード増設
- 特定のHBA
- USB接続ディスク
🧪 確認ポイント
ls -l /dev/disk/by-uuid/
dmesg | grep -i sd
起動後は見えるのに、起動途中では見えていない場合、
UUID指定は失敗しがちです😵💫
🩹 応急処置(妥協案)
UUID=1234-ABCD /data ext4 defaults 0 0
👉 fsck を無効化
👉 起動は安定
👉 ただし安全性は低下⚠️
✅ 私が実際にやった対処
1️⃣ blkid -s UUID -o value で UUID を取り直す
2️⃣ fstab から クォート・余計な文字を完全排除
3️⃣ blkid 全体を確認して UUID重複チェック
これで 起動時エラーは完全に解消しました🎉
📝 まとめ:UUID指定は万能じゃない(特にCentOS6)
UUID指定は理想的ですが、
- 🕰 古いOS
- 💽 クローン運用
- ⏳ 起動順序がシビア
が重なると、逆にトラブルの原因になります。
👉 /dev/sdX で安定しているなら無理に変えない
これも現場では十分アリな判断だと思いました👌


コメント