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