Cannot see filesytem on external NVMe enclosure

Ubuntu Version:
Ubuntu 24.04.2 LTS

Problem Description:
I recently bought a second hand laptop (Dell Latitude 7290) that came with Windows 11 on an NVM module. I too that out, replaced it with a bigger module and installed Linux.

I put the previous module into an external USB C enclosure, hoping to be able to make an image of it to install in a VM.

But when I plug in the enclosure, the Windows filesystem is not visible.

Here is what I can see.

# dmesg | tail
[258318.475149] sd 2:0:0:0: Attached scsi generic sg0 type 0
[258318.483115] sd 2:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[258318.483124] sd 2:0:0:0: [sda] Sense Key : Illegal Request [current] 
[258318.483127] sd 2:0:0:0: [sda] Add. Sense: Invalid field in cdb
[258318.483737] sd 2:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B)
[258318.483741] sd 2:0:0:0: [sda] 0-byte physical blocks
[258318.484340] sd 2:0:0:0: [sda] Write Protect is off
[258318.484344] sd 2:0:0:0: [sda] Mode Sense: 37 00 00 08
[258318.484923] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[258318.485143] sd 2:0:0:0: [sda] Attached SCSI removable disk
# lsusb --tree
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 001: Dev 014, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    |__ Port 005: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 007: Dev 004, If 0, Class=Vendor Specific Class, Driver=[none], 12M
    |__ Port 008: Dev 005, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 008: Dev 005, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 008: Dev 005, If 2, Class=Application Specific Interface, Driver=[none], 480M
    |__ Port 010: Dev 006, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 010: Dev 006, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 10000M

Port 001: Dev 014, If 0, Class=Mass Storage, Driver=usb-storage, 480M corresponds to the external enclosure containing the Windows 11 NVM.

Any ideas?

Have you used fdisk or parted to determine the device name of the drive on which you have windows 11, then tried to create a mount point for it an mount the windows filesystem partition? If so, what happened, warning/error messages?

Does it work in a different type of USB port? (2.0, 3.0, 3.1 gen 2,… Do you have a USB-C-to-A adapter?)

I’ve not tried those steps, yet. Usually, any storage device that I connect gets mounted under /media without me needing to do anything in particular.

Try this to reset the USB system:
‘’'#!/bin/sh

SYSXHCI=/sys/bus/pci/drivers/xhci_hcd

if [ “$(id -u)” != 0 ] ; then
echo This must be run as root!
exit 1
fi

if ! cd $SYSXHCI ; then
echo Weird error. Failed to change directory to $SYSXHCI
exit 1
fi

for dev_id in ???:??:??.? ; do
printf “${dev_id}” > unbind
printf “${dev_id}” > bind
done’‘’

It may be that your second hand laptop is not providing enough power to mount and open the disk.

Bus power alone is insufficient to spin this device up. Use a SATA-to-USB adapter with an external power adapter.

More info here https://unix.stackexchange.com/questions/749838/read-capacity10-failed-and-sense-key-illegal-request-with-a-sata-to-usb

2 Likes

It’s an idea for me to investigate.

I have an SSD that I can try out (I might even have an electromagnetic disc somewhere).

But I would expect any laptop with a USB C port to be able to power an NVM module.

Was the Windows 11 system fully shut down before the disk was removed? If it had been using fast startup and it hadn’t been disabled, this could cause the system not to be visible to Ubuntu.

3 Likes

The last post mentions what I was referring to in my earlier post. Namely, that you need to turn off hibernation while booted into windows or any windows filesystem will not mount from Linux as it is unsafe to do due to potential loss of data. You could try to mount it manually to see what error if any you get to see if that is the problem.