Ssd

lsblk 顯示磁碟分區但 fdisk 失敗

  • August 19, 2020

我最近嘗試啟動筆記型電腦並收到“重新啟動並選擇正確的啟動設備”錯誤。這似乎表明韌體無法找到引導分區。因此,我打開筆記型電腦並取出 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 年。

lsblk顯示核心在啟動時收到的資訊,fdisk -l嘗試直接從設備讀取分區表,並且由於設備看似已死(考慮到 dmesg 中的錯誤)fdisk失敗。

smartctl -a /dev/sdd可以確認“患者已死亡”狀態,但基本讀取設備失敗的事實smartctl並不是真正必要的,但您可以嘗試執行它並使用其輸出更新您的問題。

我也看到了一些與 USB 相關的錯誤,因此您可以嘗試更換電纜/USB 埠,但這不太可能有幫助。

引用自:https://unix.stackexchange.com/questions/605348