LSPCI 发现了即将报废的 SSD,但 LSBLK 却没有发现 - 如何安装?

LSPCI 发现了即将报废的 SSD,但 LSBLK 却没有发现 - 如何安装?

问题陈述

我的 SSD 显然已经不行了,我想在 RMA 之前完成一些事情。

观察结果

当我启动时,UEFI 检测到驱动器存在。启动暂停约 60 秒,因为尝试安装驱动器超时。来自dmseg

[    2.845959] usb 1-4: SerialNumber: 01.00.00
[   62.536052] nvme nvme1: I/O 25 QID 0 timeout, disable controller
[   62.644219] nvme nvme1: Device shutdown incomplete; abort shutdown
[   62.660279] nvme nvme1: Removing after probe failure status: -4
[   62.677854] r8169 0000:02:00.0 enp2s0: renamed from eth0
[   62.683678] usb-storage 2-1:1.0: USB Mass Storage device detected

我可以使用以下命令找到驱动器lspci

$ lspci | grep memory
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a80c
05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983

以及正常工作的 NVMe 驱动器,但是,我无法通过lsblkfdisk或类似方式找到它:

$ lsblk
NAME                   MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
loop0                    7:0    0     4K  1 loop  /snap/bare/5
loop1                    7:1    0 148.4M  1 loop  /snap/chromium/2295
loop2                    7:2    0    62M  1 loop  /snap/core20/1587
loop3                    7:3    0  63.3M  1 loop  /snap/core20/1778
loop4                    7:4    0    55M  1 loop  /snap/cups/872
loop5                    7:5    0 163.3M  1 loop  /snap/firefox/1635
loop6                    7:6    0 400.8M  1 loop  /snap/gnome-3-38-2004/112
loop7                    7:7    0 346.3M  1 loop  /snap/gnome-3-38-2004/119
loop8                    7:8    0  91.7M  1 loop  /snap/gtk-common-themes/1535
loop9                    7:9    0  49.8M  1 loop  /snap/snapd/17950
sda                      8:0    1     0B  0 disk  
nvme0n1                259:0    0 931.5G  0 disk  
├─nvme0n1p1            259:1    0   512M  0 part  /boot/efi
├─nvme0n1p2            259:2    0   1.7G  0 part  /boot
└─nvme0n1p3            259:3    0 929.3G  0 part  
  └─nvme0n1p3_crypt    253:0    0 929.3G  0 crypt 
    ├─vgkubuntu-root   253:1    0 927.4G  0 lvm   /
    └─vgkubuntu-swap_1 253:2    0   1.9G  0 lvm   [SWAP]

这意味着我没有挂载点。我不知道是否有足够的挂载点可以抓取fsck

其他失败的尝试

  • 如果我尝试仅从损坏的驱动器启动,我会被送回 BIOS,因为文件系统可用资源不足,无法实现initramfs
  • 使用 USB 适配器连接 NVMe 不起作用。适配器尝试连接约 60 秒后放弃。lspci列表中未找到该设备。
  • 将 USB 连接到 Windows 机器也会失败,但是 Windows 检测到此时连接了一个 0 字节驱动器。
  • 我烘烤了驱动器,以防焊料松动,但什么也没有改变。

询问

我该怎么做才能暂时挂载此驱动器足够长的时间以便从中拉取一些文件?我的备份已过期一周,我想恢复那一周的数据。我可以从路径以外的其他位置强制挂载吗/dev/

编辑-新观察

我目前已使用 USB 安装架安装了该驱动器,但该驱动器为 0 字节。来自dmesg

[ 5748.864308] usb 3-1.3.2: new high-speed USB device number 8 using xhci_hcd
[ 5748.979686] usb 3-1.3.2: New USB device found, idVendor=0bda, idProduct=9210, bcdDevice=20.01
[ 5748.979692] usb 3-1.3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5748.979694] usb 3-1.3.2: Product: RTL9210
[ 5748.979695] usb 3-1.3.2: Manufacturer: Realtek
[ 5748.979696] usb 3-1.3.2: SerialNumber: 012345678904
[ 5748.982535] usb-storage 3-1.3.2:1.0: USB Mass Storage device detected
[ 5748.982663] usb-storage 3-1.3.2:1.0: Quirks match for vid 0bda pid 9210: 800000
[ 5748.982687] scsi host1: usb-storage 3-1.3.2:1.0
[ 5749.997797] scsi 1:0:0:0: Direct-Access     Realtek  RTL9210 NVME     1.00 PQ: 0 ANSI: 6
[ 5749.997933] sd 1:0:0:0: Attached scsi generic sg1 type 0
[ 5750.003699] sd 1:0:0:0: [sdb] Read Capacity(10) failed: Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[ 5750.003705] sd 1:0:0:0: [sdb] Sense Key : Illegal Request [current] 
[ 5750.003707] sd 1:0:0:0: [sdb] Add. Sense: Invalid command operation code
[ 5750.003710] sd 1:0:0:0: [sdb] 0 512-byte logical blocks: (0 B/0 B)
[ 5750.003712] sd 1:0:0:0: [sdb] 0-byte physical blocks
[ 5750.005449] sd 1:0:0:0: [sdb] Test WP failed, assume Write Enabled
[ 5750.007179] sd 1:0:0:0: [sdb] Asking for cache data failed
[ 5750.007182] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[ 5750.013190] sd 1:0:0:0: [sdb] Read Capacity(10) failed: Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[ 5750.013196] sd 1:0:0:0: [sdb] Sense Key : Illegal Request [current] 
[ 5750.013198] sd 1:0:0:0: [sdb] Add. Sense: Invalid command operation code
[ 5750.016690] sd 1:0:0:0: [sdb] Attached SCSI disk

尝试读取 SMART 数据:

$ sudo smartctl /dev/sdb -a
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.15.0-58-generic] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

Read NVMe Identify Controller failed: scsi error unsupported scsi opcode

$ sudo smartctl /dev/sdb -d scsi -a
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.15.0-58-generic] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               Realtek
Product:              RTL9210 NVME
Revision:             1.00
Compliance:           SPC-4
LU is fully provisioned
Logical Unit id:      0x3001237923792379
Serial number:        0000000000000000
Device type:          disk
Local Time is:        Mon Jan 30 20:41:09 2023 CST
SMART support is:     Unavailable - device lacks SMART capability.

=== START OF READ SMART DATA SECTION ===
Current Drive Temperature:     0 C
Drive Trip Temperature:        0 C

Error Counter logging not supported

Device does not support Self Test logging

建议仅安装 RTL9210 芯片组的 SCSI 端口,而不是正确的驱动器。

据此lsblk,驱动器安装在/dev/sdb

NAME                   MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
[...]
sdb                      8:16   0     0B  0 disk

文件系统检查无用:

$ sudo dumpe2fs /dev/sdb
dumpe2fs 1.46.5 (30-Dec-2021)
dumpe2fs: Invalid argument while trying to open /dev/sdb
Couldn't find valid filesystem superblock.
$ sudo fsck /dev/sdb
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
fsck.ext2: Invalid argument while trying to open /dev/sdb

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

我也无法使用这个mkfs技巧来猜测下一个超级块应该在哪里:

$ sudo mkfs.ext4 -n /dev/sdb
mke2fs 1.46.5 (30-Dec-2021)
mkfs.ext4: Device size reported to be zero.  Invalid partition specified, or
        partition table wasn't reread after running fdisk, due to
        a modified partition being busy and in use.  You may need to reboot
        to re-read your partition table.

无论如何,我可以刷新 NVMe 控制器吗?

相关内容