Ignorando o fato de que isso soa como um problema XY, já que não vejo nenhuma explicação para a necessidade de inicializar em uma unidade externa para "coletar informações de hardware" quando você já tem acesso administrativo ao sistema operacional em execução ...
É muito fácil fazer com que o Windows inicialize em uma unidade USB conectada. Você cria uma entrada de inicialização para a unidade usando bcdedit create
e, em seguida, informa ao Windows para inicializá-la. Criar entradas de inicialização é documentado pela Microsoft aqui
De acordo com a documentação, pode ser mais fácil copiar uma entrada existente:
bcdedit /copy {current} /d "My Boot Entry Description"
O bcdedit retornará o GUID da nova entrada de inicialização que você precisará extrair:
The entry was successfully copied to {some-autogenerated-guid-here}.
Em seguida, defina as opções da nova entrada para apontar para o seu dispositivo USB. As propriedades mínimas que você precisará alterar são o dispositivo, osdevice e o caminho. Dependendo do que você está inicializando, você pode precisar modificar outros valores - basta olhar para a saída do bcdedit para seu carregador do Windows e / ou carregadores PE / PXE como exemplos.
bcdedit /set {your-new-boot-entry-guid} device partition=D:
bcdedit /set {your-new-boot-entry-guid} osdevice partition=D:
bcdedit /set {your-new-boot-entry-guid} path \Location\Of\Your\Bootloader.efi
Em seguida, diga ao Windows para inicializar como já está fazendo:
bcdedit /bootsequence {your-new-boot-entry-guid}
Obviamente, substitua My Boot Entry Description
por algo útil, talvez um identificador exclusivo para ajudá-lo a localizar a entrada no futuro para reutilizá-lo ou excluí-lo, se você estiver executando o referido script todos os dias. Substitua D:
por qualquer que seja a letra da unidade do dispositivo USB que você está tentando inicializar; Se você estiver fazendo isso em sistemas heterogêneos, talvez seja necessário determinar isso programaticamente, pois as letras de unidade variam dependendo do sistema. E substitua \Location\Of\Your\Bootloader.efi
por, bem, o caminho relativo do arquivo .EFI que você está tentando inicializar.