0

I recently tried to power up my laptop and received a "Reboot and Select Proper Boot Device" error. This seems to indicate that the firmware is not able to find the boot partition. So, I opened up the laptop and pulled out the NVME SSD, which I then plugged into another computer with a USB NVME adapter.

lsblk finds the device and partitions ok:

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

But fdisk fails: sudo fdisk -l /dev/sdd

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

smartctl also gives a No such device or address error.

Here's the relevant output from 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

Does this mean that the drive is broken? Are there any other possibilities (besides connectors/cables, which I think we can rule out because I get the same error on my laptop and from another computer where the only consistency is the NVME device itself)?

I'm making sure this really is a device failure before ordering another because I'm a bit surprised by this. The SSD is (supposedly) of high-quality (it's a Samsung 970 Pro) and less than 2 years old.

1

lsblk shows the information the kernel receives on boot, fdisk -l tries to read the partition table directly off the device and since the device is seemingly dead (considering the errors in dmesg) fdisk fails.

smartctl -a /dev/sdd could confirm "the patient is dead" status but the fact that basic reads off the device fail, smartctl is not really necessary but you could try running it and updating your question with its output.

I see some USB related errors as well, so you could try changing your cable/USB port but it's unlikely to help.

8
  • Yeah, smartctl gave the same no device error as fdisk, but I didn't see "the patient is dead". I don't quite understand what you mean when you say lsblk shows the information it receives on boot. If that were the case and I plugged in the device after booting, wouldn't I not see an entry for it? – MattHusz Aug 20 '20 at 0:58
  • The last time you booted the kernel was able to read some data off the device including the partitions and their UIDs - that information was cached and thus lsblk keeps on working despite the device being dead. – Artem S. Tashkinov Aug 20 '20 at 11:37
  • That can’t be the case here, since this device has never been plugged in when the normal-functioning computer boots up. This is the only time I’ve plugged it in, and it while the computer was already up. – MattHusz Aug 20 '20 at 12:13
  • So, once you plugged it in it was alive for a short period of time enough to give some data and then it died. – Artem S. Tashkinov Aug 20 '20 at 12:45
  • 1
    Power cycle the device, boot in recovery mode, don't touch the bad disk (mount or anything) and run smartctl -a /dev/sdd - that will probably let you see how and why it's died. If even this command fails, just RMA the disk or get rid of it. – Artem S. Tashkinov Aug 20 '20 at 17:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.