"Avviso: il file system` ext2 'non supporta l'incorporamento. "Ma il mio sistema non è nemmeno incorporato, perché grub ci sta provando?


34

Mi sto leggendo per l'uscita di Jessie su Debian, quindi sono molto cauto (dovrei dire paranoico) su qualsiasi messaggio che possa causare problemi, vale a dire avvertimenti. Il mio sistema è un desktop con Debian testing / unstable installato, su partizioni ext4 per entrambi /boote /, ma sto vedendo questo messaggio mentre aggiorno il grub-pcpacchetto in Debian:

Installing for i386-pc platform.
Installation finished. No error reported.
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
Generating grub configuration file ...

Perché grub sta dicendo che il mio sistema è incorporato? Qual è la causa di questo? Ho provato a controllare il binario di grub-install, ma non riuscivo a capirlo.


1
Questo non riguarda né il tuo sistema che viene incorporato. embedè un comando Grub: "Incorpora lo Stage 1.5 STAGE1_5 nei settori dopo l'MBR se [...]". ext2Tuttavia, non capisco quale dovrebbe essere il problema .
Hauke ​​Laging,

2
Apparentemente grub chiama ext3 ed ext4; ext2, quindi l'avviso va bene, vedi qui . Sembra che l'avviso di incorporamento vs blocklist sia su dove viene installato grub, MBR vs settore di avvio della partizione.
Mehmet,

Risposte:


31

Ricevi l'avviso perché stai installando grub in una partizione anziché nell'MBR. Ciò significa che grub non può essere incorporato nello spazio inutilizzato tra l'MBR e la prima partizione. Invece deve avere l'elenco dei blocchi che /boot/grub/core.imgrisiede nel posto nel MBR. Questa configurazione è soggetta ad essere interrotta da cose come la deframmentazione e quindi non è consigliata, quindi l'avvertimento. Dal momento che è solo un avvertimento, puoi ignorarlo.


Quindi ... dovevo solo deselezionare la partizione sulla configurazione del pacchetto.
Braiam,

64

La maggior parte delle persone che arrivano a questo da un motore di ricerca probabilmente si chiedono "perché visualizzo questo errore?":

warning: File system `ext2' doesn't support embedding. 
warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their  use is discouraged.. 
error: will not proceed with blocklists.

Perché l'hai fatto, ad esempio:

grub-install /dev/sda1

invece di

grub-install /dev/sda

Vale a dire che ho provato a installare su una partizione anziché sul MBR.


1
So di aver reinstallato grub e l'ho fatto con grub-install / dev / sda. Ho ancora ricevuto l'avvertimento.
Johan Herstad,

Hai ricevuto un avviso ed è continuato? O un errore? Si tratta principalmente di superare quell'errore.
Nathan Kidd,

Ho corso apt dist-upgradesu Debian e mi ha chiesto idioticamente di selezionare nuovamente dove dovrebbe andare GRUB (come se lo sapessi!). Ho effettivamente selezionato / dev / sda1 (la mia partizione / boot). Ora non si avvia. Se avvio una distro dal vivo ed eseguo grub-install, questo dà il reclamo di incorporamento e si rifiuta di procedere. Riparabile?
Boann,

@Boann, mi è capitato di lavorare con un problema simile qui askubuntu.com/a/531051/149881 Forse ti aiuterà.
Nathan Kidd,

5

Cito dalle infopagine di Grub2 :

MBR
====

Il formato della tabella delle partizioni tradizionalmente utilizzato sulle piattaforme BIOS del PC è
chiamato Master Boot Record (MBR); questo è il formato che
consente fino a quattro partizioni primarie e partizioni logiche aggiuntive.
Con questo formato di tabella delle partizioni, esistono due modi per installare GRUB:
può essere incorporato nell'area tra l'MBR e la prima partizione
(chiamata con vari nomi, come "traccia di avvio", "gap MBR" o
"incorporamento area ", che di solito è almeno 31 KiB), oppure l'
immagine principale può essere installata in un file system e un elenco dei blocchi che
lo compongono può essere memorizzato nel primo settore di quella partizione.

Ognuno di questi ha problemi diversi. Non è possibile riservare
spazio nell'area di incorporamento in totale sicurezza e alcuni
software proprietari lo utilizzano per rendere difficile agli utenti
aggirare le restrizioni di licenza; e i sistemi a volte sono partizionati
senza lasciare abbastanza spazio prima della prima partizione. D'altra
parte, l'installazione su un filesystem significa che GRUB è vulnerabile ai suoi
blocchi che vengono spostati dalle funzionalità del filesystem come tail packing
o persino da implementazioni aggressive di fsck, quindi questo approccio è piuttosto
fragile; e questo approccio può essere usato solo se il filesystem `/ boot 'si
trova sullo stesso disco da cui il BIOS si avvia, quindi GRUB non lo fa
fare affidamento sull'ipotesi di numeri di unità BIOS.

Il team di sviluppo di GRUB in genere consiglia di incorporare GRUB prima
della prima partizione, a meno che tu non abbia requisiti speciali. È necessario
assicurarsi che la prima partizione inizi almeno 31 KiB (63 settori)
dall'inizio del disco; sui dischi moderni, spesso è un
vantaggio in termini di prestazioni allineare le partizioni su confini più grandi, quindi la prima
partizione potrebbe avviare 1 MiB dall'inizio del disco.

Ciò significa per me che ext2 non è in alcun modo correlato all'incorporamento perché è un incorporamento o un filesystem coinvolto.

Si pone la domanda che cosa hai fatto per produrre questo messaggio di errore (o meglio: avviso). Suppongo che ciò possa accadere se a Grub2 viene detto di installarsi in una partizione anziché sull'unità stessa (MBR o partizione estesa).


Non ho detto che la mia preoccupazione riguarda la cosa ext2, so che GRUB fa schifo su ext2 / 3/4. Il mio interesse è: 1) perché appare l'avvertimento e 2) dovrei preoccuparmi
Braiam
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.