問題陳述
我的 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 驅動器,但是,我無法透過lsblk
、fdisk
或類似方式找到它:
$ 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
. - 使用 NVMe 的 USB 轉接器不起作用。加密狗嘗試連接約 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 控制器嗎?