2.

mount: special device ... does not exist

編集
この記事の要点
  • mount: special device /dev/... does not existマウント対象のデバイス(ディスク・パーティション)が存在しない
  • 原因 ①: デバイス名のタイポ(/dev/sda1/dev/sda2 間違い等)
  • 原因 ②: /etc/fstab に書いたデバイスが現在の環境に存在しない
  • 原因 ③: USB/外付けドライブが未接続 or 認識されていない
  • 対処: lsblk / fdisk -l で実在するデバイス名を確認

 

エラーの状況

# 直接 mount コマンド実行時
$ sudo mount /dev/sdb1 /mnt/data
mount: /mnt/data: special device /dev/sdb1 does not exist.

# 起動時 /etc/fstab エラー
[FAILED] Failed to mount /mnt/data.
mount: special device UUID=xxxx... does not exist
journal: /etc/fstab: /mnt/data: special device /dev/sdb1 does not exist

原因の調査

① 現在認識されているデバイス確認

# ブロックデバイス一覧
$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   100G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0    99G  0 part /
└─sda3   8:3    0   500M  0 part [SWAP]
sr0     11:0    1  1024M  0 rom

# 詳細
$ fdisk -l
Disk /dev/sda: 100 GiB, 107374182400 bytes
Device     Boot   Start       End  Sectors Size Type
/dev/sda1   *      2048   1050623  1048576 512M EFI System
/dev/sda2       1050624 208666623 207616000  99G Linux filesystem
/dev/sda3      208666624 209714687  1048064 512M Linux swap

② UUID やラベルで指定の場合

# UUID 一覧
$ blkid
/dev/sda1: UUID="ABCD-1234" TYPE="vfat" PARTUUID="..."
/dev/sda2: UUID="abcd1234-..." TYPE="ext4" PARTUUID="..."
/dev/sda3: UUID="..." TYPE="swap"

# /etc/fstab の UUID とこの結果を照合

対処方法

パターン 1: デバイス名のタイポ

# 実在: /dev/sdb1
# /etc/fstab に書いていた: /dev/sdb2  ← typo

# 修正
$ sudo vi /etc/fstab
/dev/sdb1  /mnt/data  ext4  defaults  0  2

パターン 2: USB / 外付けドライブ未接続

# /etc/fstab に外付け USB を書いていたが、USB を接続せずに起動した

# 解決策 1: マウントオプションを nofail / noauto に変更
$ sudo vi /etc/fstab
/dev/sdb1  /mnt/usb  ext4  defaults,nofail  0  2
# nofail: マウント失敗してもブートを続ける

# 解決策 2: noauto で自動マウント無効化
/dev/sdb1  /mnt/usb  ext4  defaults,noauto  0  0
# 必要時に手動 mount /mnt/usb

パターン 3: ディスク名が変わった

カーネルアップデートや BIOS 設定変更で /dev/sda/dev/nvme0n1 等になることがあります:

# UUID で指定するのが安全
$ blkid | grep ext4
/dev/sda2: UUID="abcd1234-5678-9abc-def0-123456789012" TYPE="ext4"

# /etc/fstab を UUID 指定に変更
$ sudo vi /etc/fstab
UUID=abcd1234-5678-9abc-def0-123456789012  /  ext4  defaults  0  1

パターン 4: ディスク自体が認識されていない

# カーネルログ確認
$ dmesg | grep -i "scsi\|sata\|nvme\|usb"

# 物理的に接続されているか
$ lspci | grep -i storage
$ lsusb

# SATA / NVMe ドライバが組み込まれているか
$ lsmod | grep -E "ahci|nvme"

パターン 5: LVM / RAID 上のデバイス

# LVM
$ sudo vgs        # ボリュームグループ
$ sudo lvs        # 論理ボリューム
$ sudo lvscan     # 全 LV スキャン

$ sudo vgchange -ay  # 非アクティブな VG をアクティブ化

# RAID (mdadm)
$ cat /proc/mdstat
$ sudo mdadm --detail /dev/md0
$ sudo mdadm --assemble --scan  # 自動アセンブル

緊急回復モードでのトラブルシュート

起動時 mount エラーで Emergency Mode に落ちた場合:

# パスワード入力後、緊急シェル
# /etc/fstab を編集
$ mount -o remount,rw /  # root を書き込み可能に
$ vi /etc/fstab
# 問題行をコメントアウトまたは削除

# 再起動
$ reboot

マウントが成功するかテスト

# /etc/fstab を編集後、再起動前に検証
$ sudo mount -a            # /etc/fstab の全エントリをマウント試行
                           # エラーなければ OK

# 個別テスト
$ sudo mount /mnt/data     # /etc/fstab の定義に従ってマウント
$ mount | grep /mnt/data   # マウント状況確認

# /etc/fstab の構文チェック
$ sudo findmnt --verify

/etc/fstab の書式

# device                              mount-point   fs-type   options          dump  fsck
UUID=abcd1234-...                       /             ext4      defaults         0     1
UUID=ABCD-1234                          /boot/efi     vfat      defaults         0     2
/dev/disk/by-label/DATA                 /mnt/data     ext4      defaults,nofail  0     2
//server.local/share                    /mnt/smb      cifs      credentials=/etc/smb.cred  0  0
192.168.1.100:/exports/data             /mnt/nfs      nfs       defaults         0     0
tmpfs                                   /tmp          tmpfs     size=512M        0     0

# options:
# defaults: rw,suid,dev,exec,auto,nouser,async
# noauto: 起動時に自動マウントしない
# nofail: マウント失敗でも起動を続行
# ro / rw: 読み専 / 読み書き
# noexec: 実行不可
# user / users: 一般ユーザがマウント可
# sync / async: 同期書き込み / 非同期

関連エラー

  • mount: wrong fs type, bad option, bad superblock: ファイルシステムの破損 / 不一致
  • mount: Permission denied: 権限不足 (sudo 必要 or option の suid/exec)
  • mount: device is already mounted: 既にマウント済み
  • umount: device is busy: アンマウント時にプロセスが使用中

関連記事

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. curl: (51) SSL: certificate subject name '~' does not match target host name '~'
  2. mount: special device ... does not exist
  3. 【yum install php-fpm】エラー: パッケージ: php-fpm-5.4.16-46.el7.x86_64 (base)
  4. ファイルが開けません: https://centos7.iuscommunity.org/ius-release.rpm を飛ばします。
  5. File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:
  6. unable to execute 'gcc': No such file or directory