我不确定这里出了什么问题,但是运行时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 支持的文件系统上,而不是位于根分区上。当前大多数安装都有/dev
tmpfs 文件系统,其中乌德夫当内核通知某些硬件可用时,守护进程会创建条目。最近的内核提供了安装/dev
为开发者文件系统文件系统,直接由内核填充。
我认为Ubuntu 12.10仍然使用udev。无论哪种方式,/dev
都不应该位于根分区上(如 的输出所示df /dev
),它应该位于其自己的文件系统上。是不是不小心卸载了/dev
?
您应该尝试的第一件事是重新启动:这应该/dev
正确安装。在此之前,请检查您是否尚未添加/dev
in条目(第二列中/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