挂载错误,特殊设备不存在

Dar*_*ush 18 partitioning mount disk devices drive

我在 ubuntu 12.04 64 位上有一个 320 GB 的硬盘。
无法挂载我的硬盘(ext3 类型的 sda7 和 sda8)的 2 个驱动器。

的输出sudo mount /dev/sda7 /home/newfolder -t ext3

mount: special device /dev/sda7 does not exist
Run Code Online (Sandbox Code Playgroud)

/dev/ 包含以下内容:

 sda   sda1   sda5   sda6
Run Code Online (Sandbox Code Playgroud)

但 GParted 显示 sda7 和 sda8: GParted

的输出blkid

/dev/sda1: UUID="a898f3ad-11d9-4dbb-9ea8-71a819dc8f70" TYPE="ext4" 
/dev/sda5: UUID="998c7c6f-5ff8-426c-83d4-1a309b7cdc4f" TYPE="swap" 
/dev/sda6: UUID="da0460d0-714e-40ae-b88b-a0deca87087c" TYPE="ext4" 
/dev/sdb1: LABEL="FLASH DRIVE" UUID="8A24-B5CD" TYPE="vfat"
Run Code Online (Sandbox Code Playgroud)

的输出fdisk -l

Disk /dev/sda: 320.1 GB, 320071851520 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625140335 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x17ea17ea

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      194559       96256   83  Linux
/dev/sda2          196607   625121279   312462336+   f  W95 Ext'd (LBA)
/dev/sda5          196608     8007679     3905536   82  Linux swap / Solaris
/dev/sda6         8009728    61431807    26711040   83  Linux
/dev/sda7        61432623   337911209   138239293+  83  Linux
/dev/sda8       337911273   625121279   143605003+  83  Linux
Run Code Online (Sandbox Code Playgroud)

的输出cat /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>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda8 during installation
UUID=da0460d0-714e-40ae-b88b-a0deca87087c /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=a898f3ad-11d9-4dbb-9ea8-71a819dc8f70 /boot           ext4    defaults        0       2
# swap was on /dev/sda7 during installation
UUID=998c7c6f-5ff8-426c-83d4-1a309b7cdc4f none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
Run Code Online (Sandbox Code Playgroud)

的输出ls /dev/mapper

control
Run Code Online (Sandbox Code Playgroud)

Mar*_*nas 11

你最近重新分区了那个磁盘吗?这是我想到的唯一可能导致内核对分区布局的理解与 fdisk 不同的事情。

如果是这样,您需要告诉内核重新读取分区表

sudo blockdev --rereadpt
Run Code Online (Sandbox Code Playgroud)

(这曾经是sfdisk -R,但在 2.26 版中sfdisk删除-R了。)

如果您已经安装了该磁盘的任何分区,这可能会失败(并显示错误消息)。卸载它们并重试。有时这是不可能的(例如,当您的根分区在同一个磁盘上时),您必须重新启动。

(实际上有一种方法可以强制内核重新读取分区表,如果您没有更改任何已挂载分区的大小或位置,这应该足够安全,但我不记得确切的命令行。我认为它涉及 partx 或 kpartx。)

  • @Calmarius:谢谢!我已经更新了使用 `blockdev --rereadpt` 的答案,就像 sfdisk 手册页推荐的那样。 (2认同)

小智 5

检查lv状态:

lvscan
Run Code Online (Sandbox Code Playgroud)

检查 INACTIVE 是否与您缺少的相同。

要修复做 vgchange:

vgchange -ay
Run Code Online (Sandbox Code Playgroud)