O BIOS lê o primeiro setor (512 bytes) do disco e ramifica-se nele. Se o seu disco contiver partições no estilo PC, o primeiro setor também contém a tabela de partições. Se o seu disco contiver um único sistema de arquivos, o primeiro setor contém o que o sistema de arquivos decidir colocar lá. No caso do ext [234] (e muitos outros sistemas de arquivos), o primeiro setor¹ é reservado para o gerenciador de inicialização (e é inicialmente zerado). Você pode instalar o Grub em /dev/sda
.
Dito isto, existem BIOSes ocasionais que se recusam a arrancar a partir de um dispositivo que não contenha uma tabela de partições. (Mas também há BIOSes que se recusam a inicializar a partir de alguns dispositivos externos se eles contiverem uma tabela de partição!) Se você tiver um desses BIOSes, terá que criar uma tabela de partição.
Mesmo que uma tabela de partições não seja necessária, é recomendável. Você só perde alguns kilobytes e ganha legibilidade sob muitos SOs não-Linux e menos surpresa para qualquer co-sysadmin. Se você acidentalmente conectar seu disco em uma máquina rodando Windows, ele pode sugerir que você reformate o disco se ele não vir uma tabela de partição, enquanto ele apenas reclamará que ele não poderá ler os dados se vir uma tabela de partição com um tipo de partição que não reconhece.
¹ Na verdade, o primeiro bloco, eu acho, onde um bloco é 1kB, 2kB ou 4kB dependendo das opções passadas para mkfs
.