Booting from an USB 3.x PCIe expansion card

Discussion in 'PC Hardware, Software and Displays' started by rcf, Oct 6, 2019.

  1. rcf

    rcf
    Regular Newcomer

    Joined:
    Nov 6, 2013
    Messages:
    420
    Likes Received:
    351
    I would like to install a USB3 PCIe adapter card inside an older USB2-only Sandybridge PC, but AFAIK one can't boot an USB stick or external HDD directly from USB 3.x expansion cards since these cards do not have boot ROMs to insert themselves into the PC's boot sequence (unlike SATA PCIe cards), therefore being useless until an OS with the card's drivers has been booted from somewhere else.
    But now I read that a boot ROM is required only for BIOS-based PCs, and that an UEFI PC would be capable of booting from the card even without a boot ROM in it (which I doubt).
    Does anyone know if that is true?
     
  2. BRiT

    BRiT Verified (╯°□°)╯
    Moderator Legend Alpha

    Joined:
    Feb 7, 2002
    Messages:
    14,150
    Likes Received:
    11,680
    Location:
    Cleveland
    Switch to uefi mode and try it out, assuming you have all the hardware already.

    No one can know for sure unless you post all the exact parts and firmware versions, the card, the motherboard, the bios.
     
  3. Florin

    Florin Merrily dodgy
    Veteran Subscriber

    Joined:
    Aug 27, 2003
    Messages:
    1,650
    Likes Received:
    221
    Location:
    The colonies
    I don't believe it's true. If a PC's built-in UEFI firmware doesn't support USB 3.0 it won't be able to boot directly off it.

    You wouldn't need to boot a whole OS with drivers from somewhere else though. Just a small EFI partition with an EFI driver like xhcidxe should allow you to boot anything from a USB3 add-in card.
     
  4. BRiT

    BRiT Verified (╯°□°)╯
    Moderator Legend Alpha

    Joined:
    Feb 7, 2002
    Messages:
    14,150
    Likes Received:
    11,680
    Location:
    Cleveland
    Is there such a thing as UEFI Grub boot menu or something similar from the Open-Source area?
     
  5. rcf

    rcf
    Regular Newcomer

    Joined:
    Nov 6, 2013
    Messages:
    420
    Likes Received:
    351
    I haven't bought the card yet, as I would like to be sure before doing it (if that's even possible).
    I've booted the Clover EFI bootloader just to take a look. It loads the EFI Shell and detects everything in the PC, but I'm confused since the documentation of the EDK II environment (on which Clover and xhcidxe are based) says that it supports only Sky/Kaby/Whiskey Lake platforms.
     
  6. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    15,476
    Likes Received:
    2,662
    Wouldn't it run at usb 2 speed until the drivers were loaded?
     
  7. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    722
    Likes Received:
    643
    Location:
    55°38′33″ N, 37°28′37″ E
    This is not correct. Booting is only possible from onboard USB 3.0 XHCI controllers integrated on the motherboard, where the UEFI firmware includes XHCI PEI/DXE drivers from the manufacturer. In my experience, USB 3.0 controller PCIe add-on cards never include any kind of boot ROM, neither UEFI nor legacy BIOS, so they are not bootable.

    TianoCore UEFI emulators, such as CloverEFI and an updated DUET-REFIND, forked an older DUET-compatible version of EDK2 codebase, so they should boot on everything from Intel P43/X48 and Intel 5/6/7-series and up. I'm just not sure that the supplied XhciPei/XhciDxe drivers will recognize the specific USB XHCI controller chip on your PCIe addon card.

    I guess you might give it a try anyway - and if you just need additional USB2 ports, you can use bracket adapters that connect directly to the 9-pin USB headers on the motherboard.
     
    #7 DmitryKo, Oct 8, 2019
    Last edited: Oct 9, 2019
    rcf and BRiT like this.
  8. rcf

    rcf
    Regular Newcomer

    Joined:
    Nov 6, 2013
    Messages:
    420
    Likes Received:
    351
    Some of the available cards around here have VIA VL805/806 controllers. VIA's product page has this printed at the bottom:

    "Firmware upgrade options include integrated firmware in system BIOS"
    "USB Attached SCSI Protocol (UASP)"

    Any idea of what exactly is meant by that?
    The firmware upgrade thing could be unrelated to booting, but wouldn't UASP include support for booting?
     
  9. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    15,476
    Likes Received:
    2,662
    Microsoft added native support for UAS to Windows 8. Drives supporting UAS load Uaspstor.sys instead of the older Usbstor.sys.Windows 8 supports UAS by default over USB 2.0 as well.

    Question why do you want to boot over usb 3 rather than sata?

    bootable card here
    https://www.amazon.co.uk/dp/B018GKF44W/?tag=b3d-21
     
    #9 Davros, Oct 8, 2019
    Last edited: Oct 8, 2019
    BRiT likes this.
  10. rcf

    rcf
    Regular Newcomer

    Joined:
    Nov 6, 2013
    Messages:
    420
    Likes Received:
    351
  11. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    722
    Likes Received:
    643
    Location:
    55°38′33″ N, 37°28′37″ E
    This actually means VL805 has no onboard controller or device ROM, so it relies on the host CPU and UEFI BIOS for power-on initialization and resource configuration.

    This is the high-speed transmission protocol for USB Mass Storage Class devices introduced with USB 3.0. It offers much higher speeds than USB 2.0 era BOT (Bulk-Only Transport) for Mass Storage Class.

    You can tell if your device supports this protocol by opening the Device Manager from the Windows button and looking up Storage Controllers - USB Attached SCSI (UAS) Mass Storage Device (it shows up in Driver Properties as UASPSTOR.SYS).

    Yes, if the UEFI firmware supports it - but AFAIK most motherboards only support USB 2.0 BOT mode for booting, so UASP devices work in compatibility mode until Windows kernel starts.

    It's bootable for SATA ports only, in either legacy BIOS mode or UEFI CSM.
     
    #11 DmitryKo, Oct 8, 2019
    Last edited: Oct 9, 2019
    rcf and BRiT like this.
  12. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    722
    Likes Received:
    643
    Location:
    55°38′33″ N, 37°28′37″ E
    I've just tested the DUET-REFIND emulator - it does recognize a USB flash drive connected to my XHCI PCIe card and successfully boots from it (when set to [USB] mode in the Boot menu of the UEFI BIOS). I guess CloverEFI should also work, since it's a modified DUET. I'm using Asrock Z68 Extreme3, Core i5-2500K (Sandy Bridge) and VIA VL805 XHCI controller connected to front-panel USB ports (that Orico PVU3-2O2I card has a standard 20-pin USB 3.0 header).

    It's not clear why would you want to boot from this external storage.

    Starting DUET from USB takes several dozen seconds, which kills any speed advantage you may have from using USB 3.0 and/or UASP devices (and it's not even certain that the USB boot process takes any advantage of this).

    If you want faster startup, just use SATA SSDs - and for 'ludicrous speed', go for a M.2 NVMe x4 SSD on an M.2 to PCIe x4 M-key adaptor, and modify your UEFI BIOS to include the NvmExpressDXE boot driver. In order for NVMe booting to work, you will have to repartition your NVMe SSD for UEFI boot, copy the OS partition from your old disk (with MiniTool PartitionWizard for example), configure the EFI system partition and the UEFI boot entries with bcdboot, then setup the Windows Recovery partition (or have the MBR2GPT utility convert your disk to UEFI boot if you still use MBR partitions, then clone it to the NVMe SSD).
    It works pretty much like 'instant on' for waking from hybrid sleep, it's still very fast when you need to reboot, and even full OS upgrades take minutes instead of hours.
     
    #12 DmitryKo, Oct 8, 2019
    Last edited: Oct 9, 2019
    rcf and BRiT like this.
  13. rcf

    rcf
    Regular Newcomer

    Joined:
    Nov 6, 2013
    Messages:
    420
    Likes Received:
    351
    Thanks for your detailed replies.

    The PC in question has 6 SATA drives already, and this is not about startup time. I would like to boot from USB3 because a couple of relatives occasionally bring me their external USB3 HDDs for software updates or troubleshooting. They use them exclusively for home banking, so the HDDs spend most of the time inside a drawer. I just thought it would be more convenient for me to be able to just boot them and work at USB3 bandwidth.

    These drives are just regular SATA drives inside USB3 enclosures, so when my relatives bring them back I'll see if I can temporarily remove the drives from their enclosures. If I can do that then it would be better to buy an eSATA PCIe card instead. But then again, if they start bringing me M.2 SSDs inside USB3 enclosures then I'm back to square one.
     
    Lightman likes this.
  14. tongue_of_colicab

    Veteran

    Joined:
    Oct 7, 2004
    Messages:
    3,533
    Likes Received:
    724
    Location:
    Japan
    That doesn't make any sense. Are those disks the disks that contain the OS? So they all boot from a external USB disk? Why would they do that? And they only use them for banking so they have other OS disks that they normally use?
     
  15. rcf

    rcf
    Regular Newcomer

    Joined:
    Nov 6, 2013
    Messages:
    420
    Likes Received:
    351
    Yes, the external USB3 disks also have an installed OS. They use them only for banking while doing everything else on their laptops' internal SSDs usually filled with malware, keyloggers and who knows what else.
     
  16. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    722
    Likes Received:
    643
    Location:
    55°38′33″ N, 37°28′37″ E
    I still do not understand the purpose of booting the OS from these external disks. First, the OS is configured to run on a different PC, so it will have to adjust to the new hardware configuration during first boot - and this may require you to manually download and install some of the essential drivers, such as network adapter and videocard, before you can even use the OS and connect to Internet. Second, Windows activation state may be reset, since you've essentially moved the license file to another computer (i.e. a different motherboard), and you will probably have to call Microsoft Support to reactivate the license. So lots of trouble for virtually no benefit.
     
    BRiT likes this.
  17. rcf

    rcf
    Regular Newcomer

    Joined:
    Nov 6, 2013
    Messages:
    420
    Likes Received:
    351
    The OS is Linux, and it seems to work well, but I would prefer USB 3.x speeds rather than 25 MB/s.
    Maybe I could boot from somewhere else and use chroot or something like that, but I would prefer a normal boot sequence.
    It's not a big deal, there's no problem if it turns out to be impossible.
     
  18. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    722
    Likes Received:
    643
    Location:
    55°38′33″ N, 37°28′37″ E
    That should work if your disks are GPT partitioned with a dedicated EFI system partition and GRUB2 installed as the EFI bootloader in that partition.
     
    Lightman likes this.
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...