Depende muito do sistema operacional que você está usando.
Se o seu sistema operacional ainda usa os initscripts antigos em um sistema rc.d, use algo como Bootchart para medir a inicialização Tempo. O Bootchart exigirá que você modifique temporariamente seus parâmetros do kernel para torná-lo a primeira coisa que está sendo executada. Adicione o seguinte à sua linha de kernel no menu GRUB:
init=/sbin/bootchartd
Portanto, sua linha de Kernel é algo como isto:
kernel /boot/vmlinuz root=/dev/vg/root video=uvesafb:mtrr:3,ywrap,1680x1050-24@60 console=tty1 init=/sbin/bootchartd
Caso você use o sistema init systemd mais recente (Fedora, Arch Linux, etc), o processo é ainda mais simples. O Systemd vem com um analisador de processo de inicialização que você pode simplesmente executar chamando:
$ systemd-analyze
Para obter mais informações sobre o que está ocupando o máximo de tempo, use o comando culpar.
$ systemd-analyze blame
Para um Bootchart como a representação SVG, use o comando plot.
$ systemd-analyze plot > ~/bootup.svg