Parafuse grub
. É provavelmente alguma complexidade introduzida que leva você a acreditar que este é um problema difícil de resolver. Se o seu computador tiver menos de 5 anos, provavelmente você está inicializando a partir de um firmware UEFI, caso em que seu kernel Linux já em Debian já é um gerenciador de inicialização.
-
Particione o disco:
printf %c\n o y n 1 '' '' ef00 w y | gdisk /dev/usb-stick/or-whatever-path
-
Esse é um atalho de script para as opções que você deseja alimentar o programa de forma interativa. Ele criará uma tabela de partição GUID e uma partição do tipo sistema EFI que abrange todo o disco.
-
No entanto, o programa
gdisk
é fácil de usar - e, portanto, é melhor você interagir de forma interativa. O disco de destino não deve ser montado quando for executado e você provavelmente precisará dos direitos de root paraw
rite as alterações. Como regra geral, você pode fazer praticamente o que quiser nesse programa sem nenhum efeito até vocêw
rite - portanto, tenha certeza de quando o faz.
-
-
Formate o stick fat32:
mkfs.vfat -nLABEL /dev/usb-stick/or-whatever-path
- LABEL é o que você quer que seja. Você deve LABEL todos discos, em minha opinião.
-
Instale um gerenciador de menu de inicialização, se desejado. Eu gosto rEFInd :
dpkg -i refind_0.8.7-1_amd64.deb
-
Isso provavelmente não será instalado automaticamente no USB, portanto, depois você pode querer fazer ...
/path/to/refinds/install/dir/install.sh --usedefault /dev/usbstick
-
Se você usar o rEFInd, você vai querer fazer algo assim depois:
mount /dev/usbstick /mnt mkdir -p /mnt/EFI/debian /esp cp -ar /boot/* /mnt/EFI/debian cat <<\TWONEWLINES >>/etc/fstab LABEL=LABEL /esp vfat defaults 0 2 /esp/EFI/debian /boot none bind,defaults 0 0 TWONEWLINES cat <<\ONESIMPLECONFIG >/mnt/EFI/debian/refind_linux.conf "Debian Menu Entry" root=LABEL=rootlabel other_kernel_params ONESIMPLECONFIG
-
Mas você pode pular o rEFInd e usar apenas o menu de inicialização do firmware:
efibootmgr -c -d /dev/rootdevice \ -p 1 -L "Debian" \ -l '\EFI\debian\kernelfile' \ -u root=/dev/sda3 kparams \ initrd=EFI/debian/initramfs_image_file
-
E isso é muito bonito. Praticamente para sempre - sem mais problemas. O firmware carrega o kernel da partição do sistema EFI que você formata no seu pendrive. O kernel carrega sua raiz inicial no arquivo initramfs. Se você já está inicializando com êxito o LUKS, então você já deve ter providenciado para que ele acesse sua chave de alguma forma - sua chave provavelmente já está na imagem initramfs. Se não, bem, você vai querer colocá-lo lá - ou no USB.
A partição de inicialização é uma montagem em um sistema UEFI - não há absolutamente nenhuma necessidade de todos os inconvenientes antigos que envolvem carregadores de inicialização e MBRs e o restante. Você acabou de montar o boot a partir do firmware, carregar um executável do kernel e seguir seu caminho alegre.
O fstab
stuff apenas --bind
monta um diretório no seu pendrive sobre /boot
- então todas as atualizações do kernel acontecerão como sempre. Se você gosta de si mesmo, você vai desinstalar grub
inteiramente, no entanto. Seu processo arcano de atualização - um monte de scripts que lêem e / ou geram outros scripts em uma cadeia malvada - é mais do que um pouco ridículo e o tipo de pesadelo que você pode facilmente passar sem isso.
Se você seguir meu conselho, você usará o rEFInd. Tem menus bonitos, e você nunca precisa se preocupar com isso - os efeitos do script install.sh
acima podem ser facilmente reproduzidos (e está acima, em grande parte) com um único comando cp
. É apenas um diretório estático chamado /EFI/BOOT
na partição do sistema EFI que contém um pequeno arquivo executável da EFI que informa ao firmware onde encontrar o kernel. O kernel é o bootloader real - como deveria ser.
Com a configuração acima, você pode inicializar quantos executáveis EFI desejar - basta colocar o conteúdo de /boot
(ou qualquer que seja a partição de inicialização deles) no dispositivo USB em /EFI
em algum lugar e rEFInd provavelmente irá encontrá-los automaticamente e apresentá-los como uma opção para você no menu do firmware - para incluir sistemas da Microsoft. Para sempre.