O programa especial ao qual você está se referindo está dentro do initramfs do kernel Linux. O initramfs contém um sistema de arquivos / temporário com os extras que ele precisa para montar o sistema de arquivos / real. No seu caso, ele contém, entre outras coisas, a ferramenta cryptsetup e um script (o programa especial) para obter sua frase secreta.
Então, para realizar o que você está procurando basicamente é necessário fazer do seu disco USB a partição / boot do seu sistema. / boot contém seu kernel Linux, o initramfs, o GRUB2 stage2, etc.
Para deixar claro, você ainda deve inicializar o seu disco interno, mas o GRUB2 será reinstalado para carregar sua configuração, outros estágios e seu kernel a partir do seu disco USB. O processo é mostrado abaixo, mas antes de embarcar, verifique se você tem uma maneira alternativa de obter acesso ao seu sistema, como por meio de uma unidade LiveCD / USB. Este processo irá mudar a forma como o Linux é carregado e, se for para o sul, você estará no riacho sem um plano B.
- Usando
fdisk /dev/sdX
(onde sdX é o disco USB), crie uma partição no disco USB. - Formate a partição mencionada anteriormente com um sistema de arquivos Linux (como ext2, 3 ou 4). Ex. %código%
- Faça um backup do seu / boot existente. É importante que seja melhor prevenir do que remediar. Por exemplo,
mkfs.ext3 /dev/sdX1
- Monte o novo sistema de arquivos em algum lugar e copie o conteúdo do atual / boot nele.
- Desmonte o novo sistema de arquivos e monte-o novamente como seu novo / boot, atualizando o / etc / fstab enquanto estiver nele. O novo / boot precisa ser montado para a próxima etapa.
- Reinstale o GRUB2 usando o MBR em que está atualmente reinstalado em:
pushd /boot; tar -cvzf /root/boot-backup.tar.gz .; popd
. A razão pela qual ele precisa ser reinstalado é porque você mudou onde / boot está localizado. Este comando também instalará arquivos em / boot / grub, daí a necessidade de montá-los (e ter um backup). - Gerar novamente o arquivo de configuração do GRUB2:
grub-install /dev/sdY
- Revise o arquivo de configuração gerado em /boot/grub/grub.cfg . Você deve vê-lo referenciar o disco USB (não me lembro se ele usa um disco ou sistema de arquivos UID).
Teste a configuração inicializando com a unidade USB conectada. Em seguida, tente inicializar sem a unidade USB; que não deve funcionar.