Jump to content











Photo
- - - - -

can W7 be booted from USB3.0 port?

w7 usb3.0

  • Please log in to reply
7 replies to this topic

#1 Zoso

Zoso

    Silver Member

  • Advanced user
  • 605 posts
  •  
    Isle of Man

Posted 03 September 2016 - 03:34 AM

hi everyone,

Im having trouble booting W7 from a USB HDD using USB3.0 ports. so far I have tried W7 Ultimate, Enterprise, Home Premium, and Embedded Standard, both x86 and x64 and all BSOD 7b error!

all boot successfully from USB2.0 and ive also installed the proper USB3.0 drivers for the AMD hardware Im trying to boot to.

Ive searched and read many posts here but have not found a definite answer yet.

yes/no?

thanks

#2 cdob

cdob

    Gold Member

  • Expert
  • 1314 posts

Posted 03 September 2016 - 06:12 AM

There is no definite USB boot answer at unsupported conditions.

Yes, if you include AMD USB 3.0 drivers, configure services amdxhc and amdhub30 at boot level. And if there is timing friendly hardware.

#3 Zoso

Zoso

    Silver Member

  • Advanced user
  • 605 posts
  •  
    Isle of Man

Posted 03 September 2016 - 10:04 AM

hi cdob,

ive included the AMD 3.0 drivers and with embedded 7 install set up usb stack for usb booting but still get BSOD 7b.

how can I determine if hardware is timing friendly? it seems it is though because it does boot XPsp3 from USB3.0 port successfully.

i found this topic here: http://reboot.pro/to...69-usb3-issues/with lots of clues and some alternate drivers that youve experimented with but the links are bad now and only go to the reboot downloads section index page.

from that thread though, i notice that ive been trying with BIOS SATA setting @ RAID but not AHCI so I will try resetting to AHCI now, maybe thats all it is?

edit: no such luck, set to AHCI and BSOD 7b error persists

thanks

#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13330 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 03 September 2016 - 01:07 PM

Here, kid :), take my hand and I will help you cross the road... :whistling::

https://web.archive....oot.pro/files/*

https://web.archive....files/USB3_3.7z

 

 

:duff:

Wonko



#5 Zoso

Zoso

    Silver Member

  • Advanced user
  • 605 posts
  •  
    Isle of Man

Posted 22 September 2016 - 03:36 AM

thanks grampa ;-)

getting ready to try this again but I would like to somehow make W7 install more universal. for this, would installing onto USB with WinNTsetup or VMUSB with rufus give better chances for booting on foreign USB3.0 hardware later?

or wimb's tool is maybe the best one to use for this?

has anyone else here have good success booting w7 from USB3.0 on foreign hardwares after install? ifso any tips you can share?

just wanting to make the most universal w7 that boots from usb3.0 and maybe even EFI systems but I dont have any EFI stuff to test with. only recently got USB3.0 and was very surprised that W7 has difficulties with this since XP does not at all.

thanks

#6 cdob

cdob

    Gold Member

  • Expert
  • 1314 posts

Posted 02 October 2016 - 03:25 PM

Run dism.exe and integrate the USB 3 drivers to offline files.
And configure configure services to load early at boot.
 

Dism.exe /Image:U:\ /Add-Driver /Driver:"\driver\USB3\Win7_x64" /Recurse /ForceUnsigned

Adjust USB drive letter U: and driver path.

Generic boot example:
reg.exe add "%Services%\myusb" /f /t REG_DWORD /v "Bootflags" /d 2

To set driver load run

fix_USB3_boot.cmd U:\

.
Intel offers conflicting driver versions, there are equal file names at 7-Series and 8-Series USB drivers. Do not include different driver versions.
Use a modded inf instead.
http://www.win-raid....and-modded.html

 

.

fix_USB3_boot.cmd

@echo off
setlocal EnableExtensions EnableDelayedExpansion

rem set Windows7 USB 3 boot mode
rem include drivers with 'dism /Add-Driver' first
rem Dism.exe /Image:U:\ /Add-Driver /Driver:"\driver\USB3\Win7_x64" /Recurse /ForceUnsigned
rem
rem fix_USB3_boot.cmd v0.01
rem created by cdob

rem read command line
set WinRoot=.
if not %1.==. set WinRoot=%1

if not exist "%WinRoot%\Windows\System32\config\system" set /P WinRoot=Path to your Windows Root folder on usb drive (E:\):
if not exist "%WinRoot%\Windows\System32\config\system" (echo Error: target not found &pause &popd &goto :eof)

pushd "%WinRoot%"
set WinRoot=%cd%

echo backup Windows\System32\config\system
copy Windows\System32\config\system Windows\System32\config\system.%random%.sav
reg.exe unload HKLM\loaded_SYSTEM >nul 2>&1
echo load registry file %cd%\Windows\System32\config\system
reg.exe load HKLM\loaded_SYSTEM Windows\System32\config\system

set ControlSet=001
reg.exe query "HKLM\loaded_SYSTEM\Select" /v "%1" >nul 2>&1 && (
 for /f "skip=2 tokens=3" %%a in ('reg.exe query "HKLM\loaded_SYSTEM\Select" /v "%1"') do set /a ControlSet=%%a
 set ControlSet=000!ControlSet!
)
set ControlSet=HKLM\loaded_SYSTEM\ControlSet%ControlSet:~-3%
echo. &echo ControlSet "%ControlSet%" used.

set Control=%ControlSet%\Control
set CriticalDeviceDatabase=%ControlSet%\Control\CriticalDeviceDatabase
set Services=%ControlSet%\Services


if /I %2.==/boot_zero. (
  rem fixed known driver names,
  for %%a in (amdxhc amdhub30 amdhub31 amdxhc31
    EtronHUB3 EtronSTOR EtronXHCI
    FLxHCIh FLxHCIc
    iusb3hcs iusb3xhc iusb3hub
    nusb3hub nusb3xhc rusb3hub rusb3xhc
    tihub3 tixhci
    VUSB3HUB xhcdrv) do call :boot_zero %%a

) else (
  rem http://msdn.microsoft.com/en-us/library/ff794567(v=winembedded.1001).aspx
  rem Deploying Microsoft Hyper-V Server 2008 R2 on USB Flash Drive
  rem http://technet.microsoft.com/en-us/library/ee731893%28WS.10%29.aspx
  reg.exe add %Control%\PnP /f /v PollBootPartitionTimeout /t REG_DWORD /d 30000
  rem Loads VHD, SD, and USB boot drivers.
  reg.exe add %Control% /f /v BootDriverFlags /t REG_DWORD /d 0x6

  rem fixed known driver names,
  for %%a in (amdxhc amdhub30 amdhub31 amdxhc31
   EtronHUB3 EtronSTOR EtronXHCI
   FLxHCIh FLxHCIc
   iusb3hcs iusb3xhc iusb3hub
   nusb3hub nusb3xhc rusb3hub rusb3xhc
   tihub3 tixhci
   VUSB3HUB xhcdrv) do call :addBootflags %%a
)

rem excluded: asmthub3 asmtxhci


reg.exe unload HKLM\loaded_SYSTEM
popd
pause

goto :eof =============================================================


:addBootflags =========================================================
  echo. &echo %1
  reg.exe query "%Services%\%1" 1>nul 2>nul && (
    echo %Services%\%1 does exist
    reg.exe query "%Services%\%1" /v "Bootflags" 1>nul 2>nul || (
      echo reg.exe add "%Services%\%1" /f /t REG_DWORD /v "Bootflags" /d 2
      reg.exe add "%Services%\%1" /f /t REG_DWORD /v "Bootflags" /d 2
    )
  )
goto :eof ============================================================

:boot_zero ============================================================
  reg.exe add "%Services%\%1" /f /v "Group" /d "System Bus Extender"
  reg.exe add "%Services%\%1" /f /t REG_DWORD /v "Start" /d 0

  reg.exe add "%Services%\%1" /f /v "Group" /d "System Bus Extender"
  reg.exe add "%Services%\%1" /f /t REG_DWORD /v "Start" /d 0
goto :eof  ============================================================



#7 steve6375

steve6375

    Platinum Member

  • Developer
  • 6462 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 02 October 2016 - 07:47 PM

Easiest way is to boot to a Win8 or Win10 Install ISO

Use SHIFT+F10

use diskpart to make the partitions (Latest WinNTSetup supports diskpart scripts)

use WinNTSetup to install Win7



#8 Zoso

Zoso

    Silver Member

  • Advanced user
  • 605 posts
  •  
    Isle of Man

Posted 06 October 2016 - 01:01 AM

hi cdob, steve6375,


cdob, that looks very helpful for this. i think i can work with the dism and fix_USB3_boot.cmd parts but not sure how to do this "reg.exe add "%Services%\myusb" /f /t REG_DWORD /v "Bootflags" /d 2"

can i somehow accomplish the same as this by loading a registry hive and editing it offline from another OS or by making a .reg file and running it from withing this OS for this? I dont think ive worked with the registry before like the way you show here so Im not sure about it.

it seems like it goes into a .cmd maybe but why not it is in the fix_USB3_boot.cmd already?

it may be some time before i can get back to this project before i can try this but need to be clear on this part first:

Generic boot example:
reg.exe add "%Services%\myusb" /f /t REG_DWORD /v "Bootflags" /d 2



thanks




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users