Il Thu, Jun 06, 2024 at 09:43:22AM +0200, Piviul ha scritto:
> On 6/6/24 08:45, Marco Ciampa wrote:
> > [...]
> > Infatti ho detto di farlo prima, ma poco male: basta poi ricopiare mbr e
> > le partizioni.
> 
> quindi nell'mbr c'è solo una parte del boot loader ed esiste un boot loader
> di secondo livello messo chissà dove ma sempre sicuramente nei primi 200
> settori del disco? ...non ne ero a conoscenza, grazie.

Nell'mbr c'è spazio per 446 Byte(!) per il boot loader, quindi ci sta
solo un codice (x86 in real mode) mooooolto piccolo e mooolto basico.

Se vuoi saperne di più installa il pacchetto "mbr" e poi guarda la guida:

man install-mbr

questo binario installa un micro boot loader (appunto solo 446 byte) nel
primo settore del primo disco della sequenza di avvio, appena prima la
tabella delle partizioni.

Quando si installa invece grub, questo installa un piccolo codice di
"stadio 1" sempre in quel piccolo spazio, ma installa lo "stadio 1.5"
nello spazio tra il boot sector + tabella partizioni e la prima
partizione. Lì c'è un "buco" che non è né una partizione né è formattato
ma si possono piazzare dei codici da eseguire, cosa che sia il boot
loader di Windows che grub fanno, spesso andando in coflitto e
riscrivendosi sopra l'uno con l'altro soprattutto Windows tende a
riscrivere lo stadio 1.5 di grub durante certi aggiornamenti corposi o
passaggi di versione.

> 
> > [...]
> > Nelle partizioni gpt/efi invece è tutto alla luce del sole: il bootloader
> > di secondo livello sta nella partizione speciale efi formattata in genere
> > FAT32 e non esistono spazi "nascosti" ...
> 
> ma nella partizione efi c'è anche il bootloader di primo livello giusto?

Nell'efi il boot loader di primo livello non serve (o meglio il primo è
tutto il boot loader completo per cui non ci sono altri livelli) perché
il firmware "capisce" le formattazioni (almeno FAT32 e iso9660/UDF) e può
leggere direttamente il file del boot loader dalla partizione FAT32 cosa
che il vecchio BIOS non poteva fare, si limitava ad eseguire il codice
x86 che trovava nei primi 446 byte del primo settore del primo disco
impostato da BIOS.

Quindi efi carica direttamente il boot loader completo dalla partizione
"efi" che solitamente è grande abbastanza (100MByte) per contenerne
diversi... in genere grub + windows

-- 

Amike,
Marco Ciampa

Reply via email to