我的 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