/dev/sdb:没有这样的文件或目录(但 /dev/sdb1 等存在)

/dev/sdb:没有这样的文件或目录(但 /dev/sdb1 等存在)

我不确定这里出了什么问题,但是运行时fdisk -l我没有得到输出,并且运行时

    fdisk /dev/sdb # I get this
fdisk: unable to open /dev/sdb: No such file or directory

我正在运行 Ubuntu 12.10 服务器
有人可以告诉我我做错了什么吗?我想删除/dev/sdb2-3并只保留一个分区sdb
我在设置此服务器时所做的唯一不同的事情是使用 ext4 而不是 ext3,我认为 ext4 的额外速度会有所帮助,因为我现在使用 SSD

root@sb8:~# ll /dev/sd*
brw-rw---- 1 root disk 8,  1 Nov 23 14:58 /dev/sda1
brw-rw---- 1 root disk 8,  2 Nov 23 14:55 /dev/sda2
brw-rw---- 1 root disk 8, 17 Nov 23 19:20 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Nov 23 15:45 /dev/sdb2
brw-rw---- 1 root disk 8, 19 Nov 23 14:51 /dev/sdb3
brw-rw---- 1 root disk 8, 33 Nov 23 15:47 /dev/sdc1
brw-rw---- 1 root disk 8, 49 Nov 23 15:48 /dev/sdd1

root@sb8:~# cat /proc/partitions
major minor  #blocks  name

   8        0  117220824 sda
   8        1  112096256 sda1
   8        2    5119968 sda2
   8       16  117220824 sdb
   8       17   20971520 sdb1
   8       18   95718400 sdb2
   8       19     526304 sdb3
   8       48 1953514584 sdd
   8       49 1863013655 sdd1
   8       32 1953514584 sdc
   8       33 1863013655 sdc1

root@sb8:~# ll /dev/disk/by-path/
total 8
drwxr-xr-x 2 root root 4096 Nov 23 15:48 ./
drwxr-xr-x 5 root root 4096 Nov 23 15:42 ../
lrwxrwxrwx 1 root root   10 Nov 23 14:58 pci-0000:00:1f.2-scsi-0:0:0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root   10 Nov 23 19:20 pci-0000:00:1f.2-scsi-1:0:0:0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root   10 Nov 23 15:45 pci-0000:00:1f.2-scsi-1:0:0:0-part2 -> ../../sdb2
lrwxrwxrwx 1 root root   10 Nov 23 15:47 pci-0000:00:1f.2-scsi-2:0:0:0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root   10 Nov 23 15:48 pci-0000:00:1f.2-scsi-3:0:0:0-part1 -> ../../sdd1

root@sb8:~# df -T /dev
Filesystem     Type 1K-blocks    Used Available Use% Mounted on
/dev/root      ext4 111986032 1993108 104388112   2% /

答案1

在大多数非嵌入式 Linux 安装和许多嵌入式安装中,/dev位于 RAM 支持的文件系统上,而不是位于根分区上。当前大多数安装都有/devtmpfs 文件系统,其中乌德夫当内核通知某些硬件可用时,守护进程会创建条目。最近的内核提供了安装/dev开发者文件系统文件系统,直接由内核填充。

我认为Ubuntu 12.10仍然使用udev。无论哪种方式,/dev都不应该位于根分区上(如 的输出所示df /dev),它应该位于其自己的文件系统上。是不是不小心卸载了/dev

您应该尝试的第一件事是重新启动:这应该/dev正确安装。在此之前,请检查您是否尚未添加/devin条目(第二列中/etc/fstab不应有 with 行)。/dev

即使/dev在根分区上,您也可以/dev/sdb通过运行来创建

cd /dev
sudo MAKEDEV sdb

但不/dev进行动态管理并不是一个稳定的配置,对于许多其他硬件,您会遇到类似的问题。

答案2

大多数情况下,此消息出现在一个分区之后,并且您不会重新读取已加载的设备分区表。

一个简单的partprobe或kpartx -u /dev/sdb1 (/dev/sdb1是要加载到分区表中的新分区号)应该足够了。

partprobe 或者 kpartx -u /dev/sdb1

相关内容