lsblk 显示磁盘分区但 fdisk 失败

lsblk 显示磁盘分区但 fdisk 失败

我最近尝试启动笔记本电脑并收到“重新启动并选择正确的启动设备”错误。这似乎表明固件无法找到启动分区。因此,我打开笔记本电脑并取出 NVME SSD,然后将其插入另一台带有 USB NVME 适配器的计算机。

lsblk发现设备和分区正常:

sdd              8:48   0 953.9G  0 disk  
├─sdd1           8:49   0   550M  0 part  
└─sdd2           8:50   0 953.3G  0 part  

fdisk失败了: sudo fdisk -l /dev/sdd

fdisk: cannot open /dev/sdd: No such device or address

smartctl也给出一个No such device or address错误。

以下是相关输出dmesg

[77502.928766] sd 6:0:0:0: [sdd] 2000409264 512-byte logical blocks: (1.02 TB/954 GiB)
[77502.928768] sd 6:0:0:0: [sdd] 4096-byte physical blocks
[77502.928845] sd 6:0:0:0: [sdd] Write Protect is off
[77502.928846] sd 6:0:0:0: [sdd] Mode Sense: 5f 00 00 08
[77502.929002] sd 6:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[77502.929200] sd 6:0:0:0: [sdd] Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)
[77502.937163]  sdd: sdd1 sdd2
[77502.938203] sd 6:0:0:0: [sdd] Attached SCSI disk
[77646.973768] sd 6:0:0:0: [sdd] tag#28 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD IN 
[77646.973770] sd 6:0:0:0: [sdd] tag#28 CDB: Read(10) 28 00 00 11 37 80 00 00 08 00
[77646.979769] scsi host6: uas_eh_device_reset_handler start
[77647.093855] usb 2-2: reset SuperSpeedPlus Gen 2 USB device number 2 using xhci_hcd
[77647.106476] scsi host6: uas_eh_device_reset_handler success
[77657.202706] sd 6:0:0:0: [sdd] tag#28 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD 
[77657.202708] sd 6:0:0:0: [sdd] tag#28 CDB: Test Unit Ready 00 00 00 00 00 00
[77657.202710] scsi host6: uas_eh_device_reset_handler start
[77657.316787] usb 2-2: reset SuperSpeedPlus Gen 2 USB device number 2 using xhci_hcd
[77657.329369] scsi host6: uas_eh_device_reset_handler success
[77657.329371] sd 6:0:0:0: Device offlined - not ready after error recovery
[77657.329375] sd 6:0:0:0: [sdd] tag#28 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT cmd_age=40s
[77657.329376] sd 6:0:0:0: [sdd] tag#28 CDB: Read(10) 28 00 00 11 37 80 00 00 08 00
[77657.329378] blk_update_request: I/O error, dev sdd, sector 1128320 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[77657.329400] sd 6:0:0:0: rejecting I/O to offline device
[77657.329403] blk_update_request: I/O error, dev sdd, sector 1128320 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[77657.329404] Buffer I/O error on dev sdd1, logical block 140784, async page read

这是否意味着驱动器已损坏?是否还有其他可能性(除了连接器/电缆,我认为我们可以排除它,因为我在我的笔记本电脑上和另一台计算机上遇到相同的错误,其中唯一的一致性是 NVME 设备本身)?

在订购另一个设备之前,我先确定这确实是设备故障,因为我对此感到有点惊讶。 SSD(据说)是高质量的(三星 970 Pro)并且使用时间还不到 2 年。

答案1

lsblk显示内核在启动时收到的信息,fdisk -l尝试直接从设备读取分区表,并且由于设备似乎已死(考虑 dmesg 中的错误)fdisk而失败。

smartctl -a /dev/sdd可以确认“病人已经死亡”状态,但设备的基本读取失败这一事实smartctl并不是真正必要的,但您可以尝试运行它并用其输出更新您的问题。

我也看到一些与 USB 相关的错误,因此您可以尝试更改电缆/USB 端口,但这不太可能有帮助。

相关内容