Eu tenho os seguintes discos:
/dev/sda
/dev/sda1 EFI partition
/dev/sda2 Windows
/dev/sdb
/dev/sdb1 EFI partition
/dev/sdb2 Linux <-- currently mounted as /
e atualmente estou usando Linux, então /dev/sdb2
atualmente está montado como /
.
Meu BIOS está configurado para inicializar por padrão no segundo HDD, inicializando assim no Linux.
Pergunta: na linha de comando do Linux, como reiniciar no Windows, ou seja /dev/sda2
?(o bootloader está em /dev/sda1
, mais precisamente em /EFI/Boot/bootx64.efi
)
Semter que fazer algo como F12na inicialização do computador para acionar um menu de inicialização, esemescolhendo uma opção no menu Grub/boot.
DR: Existe uma maneira de reinicializar /dev/sda2
com um único comando de linha de comando?
Responder1
Primeiro, execute sudo efibootmgr -v
para exibir suas variáveis de inicialização UEFI atuais. As entradas de inicialização serão nomeadas BootXXXX
onde XXXX=número de quatro dígitos (pode ser hexadecimal).
Se houver uma entrada de inicialização cuja segunda coluna diga "Gerenciador de inicialização do Windows", essa será a entrada de inicialização do Windows. Deve ser semelhante a isto:
BootXXXX* Windows Boot Manager HD(2,GPT,12345678-90ab-cdef-0123-456789abcdef,0x109000,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{ <UTF-16 representation of an UUID here>
Aqui, 12345678-90ab-cdef-0123-456789abcdef
será o PARTUUID da partição ESP onde o gerenciador de boot do Windows \EFI\Microsoft\Boot\bootmgfw.efi
estará localizado. No seu caso, deve ser o PARTUUID do seu /dev/sda1
disco. Use lsblk -o +PARTUUID
para visualizar os PARTUUIDs das partições do seu disco.
Depois de saber o número XXXX da entrada de inicialização do Windows, você pode executar:
sudo efibootmgr --bootnext XXXX
Isto deve fazer com que o sistema inicialize (apenas uma vez) usando a entrada de inicialização especificada, ou seja, para o Windows. Depois de dizer ao Windows para desligar ou reiniciar, a próxima inicialização deverá iniciar automaticamente o Linux novamente.
Depois de usar o sudo efibootmgr --bootnext
comando, o sistema está preparado para inicializar no Windows e você pode usar qualquer um dos comandos normais para reinicializar o sistema.
Se quiser fazer isso com um único comando, você pode criar um script simples:
#!/bin/sh
sudo efibootmgr --bootnext XXXX
sudo reboot
Responder2
systemctl reboot --firmware-setup
Isso irá reinicializar no utilitário de configuração do BIOS.