A co čekáš? Je to logické. Ta chyba je typu INACCESSIBLE_BOOT_DEVICE a znamená to, že se jádro OS při zavádění systému nemůže dostat k zaváděcímu svazku.
Trošku ti vysvětlím co se stane, když vezmeš nainstalované Windows a hodíš je na USB exterák.
Když zapneš počítač, spouštení probíhá v tomto sledu: Zavaděč BIOSu->zavaděč v MBR->zavaděč VBR->loader ntldr->jádro OS.
Až po jádro OS se k přístupu k disku většinou používá služeb BIOSu (přerušení INT13). Není tedy třeba žádný ovladač disku, ten potřebuje až jádro OS. Zavaděč ntldr si tedy mimo jiných připraví ovladače potřebné k přístupu k disku a natáhne je do paměti (ovladače sběrnic, ovladač třídy disk, ovladač portu a miniportu řadiče disku, ovladače souborových systémů atd.) Když ntldr předá řízení jádru OS, jádro tyto ovladače inicializuje a spustí, pak už může vesele přistupovat k disku prostřednictvím ovladačů. Všechny tyto ovladače mají v registru hodnotu typu spuštění nastavenou na SERVICE_BOOT_START (0), což znamená, že je při bootování zavádí už ntldr.
Když se ale podíváš na ovladače USB (ovladač hostitelského řadiče, rozbočovače, velkokapacitního USB zařízení atd.), které jsou potřebné k přístupu k USB disku, mají hodnotu typu spouštění SERVICE_DEMAND_START (3), spouští je tedy až správce služeb na vyžádání (správce PnP, pokud je připojeno nějaké USB zařízení), tedy až dlouho za inicializací jádra OS. Jádro tak nemá možnost v době spouštění OS přistupovat k disku a proto to skončí BSOD.
Proto se speciálně upravuje instalačka Windows a instaluje se už přímo na
USB disk (Normálně to není podporováno)
Pak všechny potřebné USB ovladače zavádí už ntldr a jádro se k disku dostane.
Teoreticky by u tvých Windows na USB disku mělo stačit upravit offline v registru hodnoty typu spouštění služeb usbhub.sys, usbstor.sys, usbohci.sys, usbuhci.sys a usbehci.sys + nějaké další malé úpravy.