Eu usaria a linha de comando do kernel (disponível em / proc / cmdline).
Se o PXE vs HDD local (grub, lilo, extlinux) ainda não forem diferentes, o servidor PXE poderá adicionar um parâmetro extra que nunca está presente na inicialização do HDD local. Além disso, o carregador de inicialização HDD poderia introduzir um parâmetro que não estaria presente em um bootstrap de mídia removível.
É claro que isso não funcionaria se você estivesse tentando detectar um método intencional de inicialização não autorizado, porque o invasor simplesmente adicionaria os parâmetros de inicialização correspondentes ou apenas modificaria o initrd.