Il BIOS fa una prima inizializzazione dell'hardware e cerca un dispositivo da cui effettuare il boot; a seconda del dispositivo specifico, va a cercare in un punto particolare il codice da eseguire per effettuare il boot. Nel caso dei dischi rigidi, si tratta solitamente dell'MBR (i primi 512 byte del disco), che contiene il codice di bootstrap e il layout delle partizioni. Il codice di avvio viene quindi caricato ad un particolare indirizzo di memoria, e il processore viene impostato per eseguirlo.

Lo spazio riservato al bootloader nell'MBR è solo 446 byte, per cui tipicamente tutto ciò che fa è andare a recuperare altrove il bootloader "vero" altrove. Nel caso di Windows pre-Vista, di fatto sceglie tra le partizioni la prima ad essere marcata come "attiva" e "di boot" (se non ricordo male), carica il relativo volume boot record in memoria e lo esegue. Questo normalmente ha meno constraint a livello di dimensioni, e può quindi fare cose più complicate; tipicamente carica in memoria il codice di avvio del sistema operativo, che si occuperà di impostare il processore nella modalità corretta (il processore parte in real mode, mentre i sistemi moderni lavorano in protected mode o in long mode se a 64 bit) e che include normalmente un primo mini-driver per poter leggere il file system, da cui carica i file di sistema (driver & co.) con cui prosegue nel boot del sistema operativo.

Nel caso di sistemi Linux e di bootloader "complicati" come GRUB spesso l'MBR non fa altro che avviare lo "stage" successivo del bootloader, che già di suo è quasi un mini-sistema operativo che contiene, tra le altre cose, driver per filesystem vari; per questo motivo, GRUB è in grado di caricare il codice di avvio del sistema operativo in maniera più flessibile - dal chainloading (si limita a passare il controllo al VBR di un certo volume, tipico quando deve avviare Windows) all'occuparsi da sé di leggere da filesystem e caricare in memoria immagini di kernel e farle partire, passandoci eventuali parametri (cosa che avviene normalmente in caso di boot di sistemi Linux).

In ogni caso, trovi approfondimenti di vario genere su Wikipedia:
http://en.wikipedia.org/wiki/Master_..._bootstrapping
http://en.wikipedia.org/wiki/Boot_lo...n_boot_loaders
http://en.wikipedia.org/wiki/Volume_Boot_Record
http://en.wikipedia.org/wiki/NTLDR
http://en.wikipedia.org/wiki/Windows_NT_startup_process
http://en.wikipedia.org/wiki/GRUB

Trovi anche molte informazioni e riferimenti dettagliati su osdev.org, partendo ad esempio da qui.

---

Il loader a cui ti riferisci credo sia quello usato dal sistema operativo per caricare immagini eseguibili (tipicamente eseguibili e librerie dinamiche) "a sistema caricato"; in questi primi stadi di avvio del sistema non dovrebbe c'entrare nulla (c'entra in seguito quando ci sono, appunto, da caricare eseguibili, anche se in alcuni sistemi operativi i driver condividono in parte il formato delle normali dll, per cui parte del loader potrebbe essere la stessa anche qui).