我删除了 NVMe SSD 中的命名空间 (NS),Ubuntu 无法识别该设备

我删除了 NVMe SSD 中的命名空间 (NS),Ubuntu 无法识别该设备

我的 NVMe SSD(三星)中有两个命名空间 (NS),我删除了这两个命名空间以仅创建一个,但删除后 Ubuntu 无法识别该设备。我现在如何恢复驱动器?

用于删除的命令:sudo nvme delete-ns /dev/nvme0n1 -n 1

  • Ubuntu 18.04.1 LTS
  • 内核4.15

答案1

您应该仍然能够看到nvme0-/dev只有 -nX条目应该消失。sudo nvme create-ns -s 100000 -b 4096 /dev/nvme0那么尝试一下sudo nvme attach -n 1 /dev/nvme0,看看是否能让事情再次正常运转。

答案2

lsblk基本上,删除所有命名空间后,当我们使用、 fdisk -l 或 等命令时,该特定 NVMe 驱动器的命名空间将不会显示在驱动器列表下nvme list。原因是控制器上不存在已分配的命名空间。

但是如果你运行命令ls /dev/nvme*,它会显示 /dev/nvme0驱动器。现在,您只需使用该命令使用全部容量创建一个命名空间即可 create-ns。命令如下:

如果您的驱动器大小为 120 GB,并且您希望驱动器上的块大小为 4 KB,则需要计算 120 GB 驱动器中 4 KB 扇区的数量,如下所示:

X= (120 × 1024 × 1024 × 1024) / (4 × 1024) = 31457280

所以运行的命令是

nvme create-ns /dev/nvme0 -s 31457280 -c 31457280 -b 4096

创建命名空间后,我们需要按如下方式附加它:

nvme attach-ns /dev/nvme0 -n 1 -c 0

相关内容