Como fazer um prompt de comando inicializável em USB? (cmd.iso)

Como fazer um prompt de comando inicializável em USB? (cmd.iso)

Eu gosto de executar o prompt de comando ou arquivo em lote no pendrive USB, como sistema operacional inicializável.

Eu tinha um arquivo file.batque contém,

net user %username% reset password

eu quero rodar sem entrar no sistema operacional Windows. Quer dizer, pelo meu palpite, isso só pode ser possível antes de inicializar o sistema operacional. Então, assim como a iso de instalação do Windows, espero que o cmd.iso também seja possível.

Se sim, por favor me ajudem pessoal. Espero que você tenha entendido minha pergunta.

Nota: Pesquisando este tópico no Google, só consigo encontrar USB inicializável via cmd. Mas, por favor, observe que não preciso inicializar o USB via cmd. Eu preciso do cmd no USB inicializável.

Eu quero rodar file.batcomo sistema operacional.

Responder1

Parece que você deseja acessar um prompt de comando antes da tela de login do Windows. Também parece que você deseja executar um script em lote para redefinir as credenciais de login de um perfil. Mesmo que eu esteja errado sobre o último, você ficará bastante satisfeito com o primeiro.

Em primeiro lugar, não é possível executar um script em lote fora do Windows, fora do CMD; o melhor que você pode fazer é antes do login durante a inicialização.

Vamos criar 2 scripts em lote para nossos propósitos (já que você parece consistente com scripts em lote hoje, você também pode executá-los individualmente por linha, se desejar). Se você tiver acesso a uma conta de administrador do Windows, deverá criar part1a.bat; caso contrário, você precisará criar part1b.bat. Você criará part2.bat em ambos os casos.

part1a.bat - Use isto se você puder fazer login em um perfil de administrador

reg add HKLM\SYSTEM\Setup /v SetupType /t REG_DWORD /d 2 /f
reg add HKLM\SYSTEM\Setup /v CmdLine /t REG_SZ /d "cmd.exe" /f
exit

part1b.bat - Use isto se você não puder

REM Replace drive F: with whatever drive the main OS is on
reg load HKLM\TempHive213 F:\Windows\System32\config\SYSTEM
reg add HKLM\TempHive213\Setup /v SetupType /t REG_DWORD /d 2 /f
reg add HKLM\TempHive213\Setup /v CmdLine /t REG_SZ /d "cmd.exe" /f
exit

part2.bat - (modifique ao seu gosto, mas mantenha as 2 linhas principais)

reg add HKLM\SYSTEM\Setup /v SetupType /t REG_DWORD /d 0 /f
reg add HKLM\SYSTEM\Setup /v CmdLine /t REG_SZ /d "" /f
REM Replace the user info below to what you want.
net user %username% %newpassword%
exit
  1. Se você tiver acesso a uma conta de administrador ativa do Windows, execute part1a.batcom privilégios de administrador e pule para a etapa 4; caso contrário, prossiga para a etapa 2.

  2. Inicialize com o ISO de instalação do Windows. Escolha “Reparar seu PC” ou “Reparar seu computador”. Clique em “Prompt de comando”. Agora você precisa saber as letras do driver para poder usar o arquivo diskpart. Corra diskparte corra list vol. Cada unidade deveria ter recebido uma letra de driver; caso contrário, você mesmo pode fazer isso executando estes dois consecutivamente: select vol <num>e assign letter=<letter>.

  3. Se você precisar reatribuir a letra do driver ao script em lote, execute notepad D:\part1b.bat(substitua a letra respectivamente e em seu local), modifique-a e salve-a. Então corra D:\part1b.bat.

  4. Reinicie o computador. Depois de reiniciado, durante ou após o logotipo de inicialização do Windows e antes de chegar à tela de login do Windows, um prompt CMD com privilégios de administrador aparecerá. Use diskpartnovamente para diferenciar qual unidade é qual e, em seguida, execute D:\part2.bat. Se ainda não o fez, substitua a linha que descreve a substituição das credenciais do usuário pelas que você deseja, executando notepad D:\part2.bat. Se você usou o part2.bat original que eu especifiquei, ele definiria uma senha.

Nota: diskpartpode não dizer exatamente qual é qual, talvez seja necessário tentar usar cd /d F:(substituir letra) e direm combinação para descobrir qual unidade é qual.

Responder2

Você não pode executar um arquivo em lote como um sistema operacional, simplesmente não funciona assim. O interpretador de lote faz parte do Windows e se você inicializar seu computador a partir de um pendrive, você não estará mais no Windows e, portanto, não haverá como seu lote ser executado.

Para que um gerenciador de inicialização realmente carregue seu software (ou seja, inicialize-o), você precisará escrever um setor de inicialização para o carregador de inicialização.

Você poderia então adicionar um interpretador em lote por cima, mas provavelmente não é isso que você deseja.

informação relacionada