È buono creare una partizione separata per / boot?


77

Ho visto alcune persone creare una partizione separata per /boot. Qual è il vantaggio di fare questo? Quali problemi potrei incontrare in futuro facendo questo?


Inoltre, ad eccezione di /homee /boot, quali partizioni possono essere separate? È raccomandato?


1
Ubuntu 8.04 proveniva da Dell con una partizione / boot. Non è stata una mia scelta. Quando ho installato 10.04 fresco, non ho provato a crearne uno.
David Thornley,

Quando ho provato a installare Arch Linux per la prima volta, questo è stato fortemente raccomandato e non è stato possibile installarlo la prima volta che non l'ho fatto. Non ho mai avuto problemi in altre distro, però.

Vedi anche una domanda su partizioni separate in generale e domande specifiche su / tmp e / var
sondra.kinsey

Risposte:


46

Questo è un blocco di "ye olde tymes" quando le macchine hanno avuto problemi ad affrontare dischi rigidi di grandi dimensioni. L'idea alla base della /bootpartizione era di rendere la partizione sempre accessibile a qualsiasi macchina a cui fosse collegata l'unità. Se la macchina fosse in grado di avviare l'unità (numero di cilindri inferiore), potrebbe avviare il sistema; da lì il kernel di Linux sarebbe in grado di aggirare la restrizione di avvio del BIOS e aggirare il problema. Poiché le macchine moderne hanno eliminato tale restrizione, non è più necessario /bootessere separati, a meno che non sia necessaria un'ulteriore elaborazione delle altre partizioni, come la crittografia o i file system che non sono riconosciuti nativamente dal bootloader.

Tecnicamente, puoi cavartela con una singola partizione e stare bene, a condizione che tu non stia usando hardware davvero vecchio (prima del 1998 o giù di lì).

Se decidi di utilizzare una partizione separata, assicurati di dargli spazio sufficiente, ad esempio 200mb di spazio. Questo sarà più che sufficiente per diversi aggiornamenti del kernel (che consumano più mega ogni volta). Se / boot inizia a riempirsi, rimuovi i kernel più vecchi che non usi e regola il tuo bootloader per riconoscere questo fatto.


2
Per quanto riguarda le dimensioni, "per Fedora 13 la dimensione della partizione predefinita / di avvio è stata aumentata a 500 MiB per evitare questi problemi in futuro". (da fedoraproject.org/wiki/… )
Cristian Ciupitu,

3
500 M? che cosa stanno memorizzando lì? Non ho mai avuto bisogno nemmeno di 100 M, sto usando 13 M in /bootquesto momento.
xenoterracide,

27
Ci sono ancora molte ragioni moderne per avere una partizione / boot e tutte si riducono a "Il boot loader non può leggere il filesystem di root". Il caso d'uso storico è, come hai detto, unità troppo grandi, ma i casi moderni sono crittografia, nuovi filesystem (come ext4), LVM o qualsiasi configurazione esoterica che non è semplicemente supportata da GRUB.
Mr. Shiny e New 安 宇

22
Qualcuno ha detto che in situazioni di doppio avvio, se il sistema Linux è installato dopo Windows, GRUB fornisce linee di avvio per sistemi side-by-side. Se / boot non fosse sulla partizione separata, una cancellazione della partizione Linux avrebbe reso la macchina non avviabile. Se / boot fosse sulla partizione separata, la cancellazione dell'installazione di Linux (diciamo, partizione di root) non avrebbe danneggiato la possibilità di avviare il sistema laterale.
mbaitoff,

5
Ho avuto il mio riempimento eccessivo della partizione da 100 MB / boot con kernel obsoleti. Questo è molto disordinato quando ciò accade.
Malfist,

39

Uno dei motivi per avere una partizione / boot è che consente cose come crittografato /, in cui il kernel e initrd vengono caricati da una partizione non crittografata e quindi utilizzati per montare la partizione radice crittografata contenente il sistema operativo. Tuttavia, non dovrebbe importare per l'uso generale.

Aggiunta di un commento di Riccardo Murri :

Ci sono anche ragioni storiche per avere un separato / avvio: in tempi precedenti, il BIOS poteva accedere solo a parte di un disco di grandi dimensioni, quindi tutti i file necessari al bootloader del sistema operativo dovevano essere mantenuti nell'area accessibile dal BIOS. Da qui una partizione separata / avvio. Questo non si applica più, comunque


1
bene ... iirc il bootloader può ancora accedere solo alle partizioni primarie ... quindi può essere utile se hai parecchie partizioni estese.
xenoterracide,

18

Il motivo principale delle principali distro aziendali come Red Hat e penso che Suse utilizzi un avvio / avvio separato è che utilizzano LVM per impostazione predefinita e Grub non può essere utilizzato per l'avvio da LVM. È così semplice

Quindi, se vuoi usare LVM, e questo è un vantaggio, usi un comando separato / boot. Personalmente, penso che sia buona norma utilizzare sia LVM e partizioni separate per una serie di cose, come /var, /boot, /homee /tmpe anche /usrsu server, ad esempio, al fine di proteggere le partizioni filesystem root o di dati di ottenere pieno.


3
Un altro buon motivo era che GRUB non supportava ext4 , solo ext3 , quindi se volevi usare ext4 perché dovevi /avere una /bootpartizione separata .
Cristian Ciupitu

Diverse persone hanno insinuato che GRUB non sarebbe in grado di avviarsi da LVM. GRUB2 si avvia felicemente da LVM2 senza problemi sul mio PC di casa da circa 1,5 anni. La cosa più dolce dal pane a fette. Oh, e questo è supportato di default dall'installer ubiquity (alternativo). Provalo
vedi il

1
Per quanto riguarda / tmp /, oggi puoi montare la memoria con tmpfs. Potrebbe essere più veloce e anche più sano per i tuoi hard disk. In ogni caso, / tmp / non dovrebbe sopravvivere ai riavvii.
imz - Ivan Zakharyaschev,

1
Grub legacy non funziona e Grub 2 non funzionava se / boot era montato su una colonna logica LVM. Il supporto è stato aggiunto abbastanza di recente. Non dovrebbe essere difficile scavare il riferimento particolare. Idem per il software RAID, recentemente è stato aggiunto anche il supporto per Grub 2.
Faheem Mitha

@Faheem M .: Quindi .... stai dicendo che non funziona per te, o soprattutto che devo ricordare male i tempi? Un google molto veloce ha rivelato questa voce pubblicata il 20 novembre 2006, quindi scommetto che avevo ragione con il mio calendario.
vedi il

13

Un'ultima ragione, meno importante di quelle fornite, è che può consentire al PC di rimanere avviabile se una parte del disco è danneggiata. Più partizioni hai, più facile sarà semplicemente non montare la partizione con l'errore.

Questo può essere utile a volte, ma di solito c'è comunque un modo migliore.

EDIT: Un altro punto: supponendo che Linux, l'uso di LVM possa essere un buon modo per evitare potenziali problemi, rende facile ridimensionare le "partizioni" e aggiungere nuovo spazio apparentemente.


1
Non richiederebbe che almeno parte della / partizione non sia corrotta? Certo, l'immagine del kernel è su / boot, ma i driver sono in / lib e init o sh sono in / bin.
Mr. Shiny e New 安 宇

7

Penso che questa sia una preferenza personale più di ogni altra cosa. Potrebbe anche essere una buona pratica. La mia visione personale di / boot è piuttosto di sola lettura. Di tanto in tanto devi scrivere lì per aggiornare il tuo kernel o forse aggiungere un altro sistema operativo nel grubloader. Oltre a ciò è solo necessario ... beh, avviare. Quindi averlo in un filesystem separato potrebbe aiutare a metterlo in sola lettura (potrebbe anche essere un aspetto della sicurezza).

Dovrebbe essere un filesystem separato? Immagino di no .. Ma è una cattiva idea? No, per niente!


7

In risposta a "quali problemi potrebbe causare" parte della domanda: come con qualsiasi partizionamento, c'è sempre il rischio che tu abbia bisogno di più spazio di quanto inizialmente assegnato. Sebbene ciò sia improbabile nel caso di /boot, recentemente c'è stato un problema con il pre-aggiornamento in Fedora causato da piccole /bootdimensioni.


1

Per quanto riguarda la seconda parte della domanda, può essere utile posizionare in partizioni separate tutto ciò che è indipendente dalla distribuzione corrente. Lasciando anche spazio aggiuntivo disponibile sull'unità, ciò consente, se necessario in futuro, di installare una distribuzione diversa o eseguire una reinstallazione di quella corrente, condividendo l'accesso a tutto ciò che vorresti vedere su entrambi.

I candidati Obviuos per le partizioni separate sono quindi / usr / local e / home, nonché / root. Personalmente trovo più efficiente creare partizioni personalizzate, montarle in un mountpoint arbitrario, come / part / data, e quindi procedere con i collegamenti simbolici, come in:

sudo ln -sf /part/data/joe /home/joe
sudo ln -sf /part/data/root /root
sudo ln -sf /part/data/usr-local /usr/local

1

Un altro motivo che penso non sia menzionato è che puoi usare il tipo di filesystem e le configurazioni che preferisci per le /bootquali non sono certamente le stesse di quelle quando vengono usate come parte /. Funzionalità come l'inserimento nel journal, i checksum, ecc. Non sono utili /boote puoi accelerare l'avvio disattivandoli o utilizzando un file system più semplice (come ext2).


È difficile per me credere che l'inserimento nel journal e il checksum rendano l'avvio notevolmente più lento. Hai numeri duri?
ignis,

Siamo spiacenti, non ci sono numeri disponibili, puoi provare se vuoi. Per alcune persone anche se è +5 secondi più lento è evidente.
sakisk,

Stai insinuando che la tua esperienza è stata più lenta di 5 secondi?
ignis,

1
No. AFAIR l'ultima volta che ho usato ext2.
sakisk,

1

Ho trovato leggermente più difficile l'avvio dal prompt di grub quando si utilizza una partizione separata / boot.

Sembrava che il kernel fosse su / boot, ma initramfs era su / (partizione separata).

Quindi non era chiaro quale partizione usare nel menu di grub.

Con tutti i potenziali vantaggi di una partizione separata / di avvio, esiste anche il rischio di dover risolvere i problemi più del solito nel caso in cui accada qualcosa di brutto (ad es. Eseguire grub-install senza eseguire update-grub in seguito: S)


Fedora usa /boot, in parte dalla storia, perché grubnon comprende (non ha capito?) Tutti i possibili filesystem. E sia io vmlinuzche initrdentrambi /boot, installati dal kernel vanilla di git ...
vonbrand,

-1

Lasciami scrivere qui solo alcune delle mie esperienze:

Bene, nel mio caso, ho RAID 1 (1 GB solo per / boot) e RAID 5 per il resto dello spazio su disco.

Uso grub 2 da debian squeeze e va bene. Grub 2 non ha più questa limitazione come ha fatto grub 1.

Oggi non importa. Questo era necessario quando avevi grub versione 1, che non sapevi, come eseguire l'avvio da RAID5, ma sapeva come eseguire l'avvio dal raid 1. Ed è questo il motivo.

Nel mio caso lo uso solo per caso, potrei averne bisogno, se dovesse succedere qualcosa di brutto. Perché non tutte le volte che hai in tasca un nuovo debian o Ubuntu LIVE.

Inoltre, se succede qualcosa di brutto, eseguo il backup di / boot. Una volta ha già salvato la mia installazione.

Uso Linux SW RAID 1 con 3 HDD e RAID 5 con gli stessi HDD. Primi 1 GB che utilizzo per RAID 1.

Ma se si utilizza LILO o GRUB versione 1.98 -> 2, non è necessario disporre di una partizione separata / di avvio.

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.