Page 1 of 1

NVME device cannot start

Posted: 5. Jul 2020, 19:03
by Aphrodite
Windows 10 LTSC, already install guest additions, standard NVM Express controller is yellow exclamation.

This device cannot start. (Code 10)
An invalid parameter was passed to a service or function.

Re: NVME device cannot start

Posted: 5. Jul 2020, 22:03
by scottgus1
Start the guest from full normal shutdown, not save-state. Run until you see the problem happen, then shut down the guest from within the guest OS if possible. If not possible, close the Virtualbox window for the guest with the Power Off option set.

Right-click the guest in the main Virtualbox window's guest list, choose Show Log. Save the far left tab's log, zip it, and post the zip file, using the forum's Upload Attachment tab.

Right-click the guest in the main Virtualbox window's guest list, choose Show in Explorer. Zip the guest's .vbox file, and post the zip file, using the forum's Upload Attachment tab.

Re: NVME device cannot start

Posted: 6. Jul 2020, 05:47
by Aphrodite
.vbox & VM log

Re: NVME device cannot start

Posted: 6. Jul 2020, 14:39
by scottgus1
.vbox file, zipped?

Re: NVME device cannot start

Posted: 6. Jul 2020, 17:30
by Aphrodite
scottgus1 wrote:.vbox file, zipped?
OK, I uploaded .vbox & log

Re: NVME device cannot start

Posted: 6. Jul 2020, 21:38
by scottgus1
the .vbox file wrote: <MediaRegistry>
<HardDisks>
<HardDisk uuid="{b7d64fcc-c7a3-4648-b65a-dc6078be8bd7}" location="Windows 10 LTSB (32-bit).vdi" format="VDI" type="Normal"/>
<HardDisk uuid="{0526ab0d-d4bf-4882-b72a-873e22e3a59b}" location="test.vdi" format="VDI" type="Normal"/>
<HardDisk uuid="{aeb019c2-c4f8-4e0d-b794-da1879667e9d}" location="test1.vdi" format="VDI" type="Normal"/>
<HardDisk uuid="{e95e0799-9b8f-40ec-82e9-d0b9ac772977}" location="test2.vdi" format="VDI" type="Normal"/>
</HardDisks>
<DVDImages>
<Image uuid="{bc34a0b9-8db5-4035-8dd6-9ebef869be5d}" location="C:/Program Files/Oracle/VirtualBox/VBoxGuestAdditions.iso"/>
<Image uuid="{18011a08-b787-4c80-a1cc-32ce938f7ded}" location="F:/Software/Microsoft/Windows/Windows 10 (x86) LTSC/SW_DVD5_WIN_ENT_LTSC_2019_32BIT_English_-2_MLF_X22-05018.ISO"/>
<Image uuid="{a8224ea8-99d5-439a-a65f-49a1cffdf956}" location="F:/Software/Virtualization/QEMU/virtio-win-0.1.171.iso"/>
</DVDImages>
</MediaRegistry>

<StorageControllers>
<StorageController name="SATA" type="AHCI" PortCount="2" useHostIOCache="false" Bootable="true" IDE0MasterEmulationPort="0" IDE0SlaveEmulationPort="1" IDE1MasterEmulationPort="2" IDE1SlaveEmulationPort="3">
<AttachedDevice passthrough="false" type="DVD" hotpluggable="false" port="1" device="0">
<Image uuid="{a8224ea8-99d5-439a-a65f-49a1cffdf956}"/>
</AttachedDevice>
<AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
<Image uuid="{b7d64fcc-c7a3-4648-b65a-dc6078be8bd7}"/>
</AttachedDevice>
</StorageController>
<StorageController name="VirtIO" type="VirtioSCSI" PortCount="1" useHostIOCache="false" Bootable="true">
<AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
<Image uuid="{0526ab0d-d4bf-4882-b72a-873e22e3a59b}"/>
</AttachedDevice>
</StorageController>
<StorageController name="LsiLogic SAS" type="LsiLogicSas" PortCount="1" useHostIOCache="false" Bootable="true">
<AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
<Image uuid="{e95e0799-9b8f-40ec-82e9-d0b9ac772977}"/>
</AttachedDevice>
</StorageController>
<StorageController name="NVMe" type="NVMe" PortCount="1" useHostIOCache="false" Bootable="true">
<AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
<Image uuid="{aeb019c2-c4f8-4e0d-b794-da1879667e9d}"/>
</AttachedDevice>
</StorageController>
</StorageControllers>
the vbox.log wrote:00:00:03.051344 [/Devices/nvme/0/LUN#0/Config/] (level 5)
00:00:03.051345 Format <string> = "VDI" (cb=4)
00:00:03.051346 Mountable <integer> = 0x0000000000000000 (0)
00:00:03.051346 Path <string> = "E:\Admin\VirtualBox VMs\Windows 10 LTSB (32-bit)\test1.vdi" (cb=59)
00:00:03.051347 Type <string> = "HardDisk" (cb=9)
00:00:03.051347 UseNewIo <integer> = 0x0000000000000001 (1)
....
00:00:03.928181 AIOMgr: Endpoint for file 'E:\Admin\VirtualBox VMs\Windows 10 LTSB (32-bit)\test1.vdi' (flags 000c0723) created successfully
It appears that the NVMe disk does mount inside the guest environment. Googling "Does Windows 10 have NVMe drivers?" seems to indicate it does. Try right-clicking the device in Device Manager, click Uninstall, then Scan for Hardware Changes.

Re: NVME device cannot start

Posted: 7. Jul 2020, 16:20
by Aphrodite
It appears that the NVMe disk does mount inside the guest environment. Googling "Does Windows 10 have NVMe drivers?" seems to indicate it does. Try right-clicking the device in Device Manager, click Uninstall, then Scan for Hardware Changes.

Re: NVME device cannot start

Posted: 9. Jul 2020, 19:46
by scottgus1
I also got a "code 10" on the Windows 10 NVMe when I put a disk on an NVMe controller in Virtualbox.

Web-searching:

windows 10 nvm express controller code 10 invalid parameter was passed

showed this:

https://www.virtualbox.org/ticket/17228
The NVMe driver in the Fall Creators update doesn't work if the device exposes MSI-X and the controller memory buffer feature of NVMe introduced with 5.2.0. Older versions and other guests don't show this behavior and we are investigating it. Use the following commands to work around this issue in the meantime:
VBoxManage setextradata <VM name> "VBoxInternal/Devices/nvme/0/Config/MsiXSupported" 0
VBoxManage setextradata <VM name> "VBoxInternal/Devices/nvme/0/Config/CtrlMemBufSize" 0
This will disable MSI-X support and the controller memory buffer feature but makes the newer NVMe driver work with our emulation.
Applying these commands to my Windows 10 2-processor guest allowed the NVMe controller to start, the NVMe disk appeared, and I was able to transfer data to the disk successfully.