fdisk - ne ho bisogno o posso creare direttamente un filesystem?


9

ho letto che fdisk è in grado di creare partizioni / che è quello di scomporre un disco fisico in diverse partizioni logiche.

Se intendo utilizzare l'intero disco nel suo insieme, è ancora necessario per me

1) fdisk e creare una partizione primaria che occupi la dimensione dell'intero disco o

2) posso semplicemente andare avanti e mkfs.ext4 senza fare alcun fdisk?

3) E perché ->

A cura di -> Dopo aver letto tutti i commenti (di alcuni sì e no), sto pensando che sarebbe bello se qualcuno potesse indicarmi su cosa fa effettivamente fdisk? in modo che io possa capire di più sul perché in realtà ne abbiamo bisogno rispetto a se non lo facessimo.

Ho provato a cercare su google, ma la maggior parte dei siti ti sta insegnando come eseguire il fdisk, ma non il perché (o la maggior parte del perché è quello di creare un sistema a doppio avvio), ma voglio sapere perché è necessario anche per una singola partizione.

Ho anche provato mkfs su un disco direttamente e lo monto per archiviare dati e file (non sembra avere alcun problema) - quindi questo mi rende ancora più curioso di sapere cosa fdisk effettivamente fa sul disco di archiviazione.

Risposte:


5

No, non ne hai bisogno . Il tuo disco e filesystem funzioneranno bene senza tabella delle partizioni. Alcuni BSD più vecchi lo facevano anche di default se si selezionava pericolosamente dedicato .

Tuttavia è altamente raccomandato per motivi di compatibilità.


Un po 'più prolisso:

Puoi eseguire mkfs.ext4 direttamente su / dev / sdb. Funzionerà È quindi possibile montarlo senza problemi. ( mkfs.ext4 -F -F /dev/sdb).

È possibile configurare un disco di avvio in questo modo. Avrà comunque bisogno di un po 'di codice per l'avvio. Ciò significa che è necessario saltare il primo bit dei dischi. (ad esempio lo spazio utilizzato classicamente dall'MBR e i pochi settori tradizionali al di là di esso). Tecnicamente non utilizza MBR, anche se perdi spazio equivalente.

Per qualsiasi installazione moderna, tuttavia, quei pochi settori rappresentano una piccola parte della capacità dell'unità. Pertanto consiglio di utilizzare GPT (o su MBR di sistemi antichi). Ma puoi farne a meno.


Sembra che mkfs.ext4 prenda un parametro -F per forzare la creazione del filesystem anche se sembra che la destinazione non sia una partizione, o anche se il dispositivo target sembra essere montato! Penso che questo metta in evidenza i rischi inerenti nel farlo ...
David W,

Concordato. E "questa opzione deve essere specificata due volte" è una precauzione secondaria.
Hennes,

@Hennes ho aggiornato il mio post originale, spero che tu possa dare un'occhiata
Noob

1
Confronta fdisk con la scrittura di un indice per un libro. Le persone si aspettano un indice e si confondono quando non ce ne sono. Un libro senza indice e con una sola storia / capitolo funzionerà ancora.
Hennes,

1

È necessario creare una tabella delle partizioni anche se si intende utilizzare l'intero disco fisico. Pensa alla tabella delle partizioni come al "sommario" per i file system, identificando le posizioni di inizio e fine di ciascuna partizione e il file system utilizzato per essa.


anche se intendevo usare l'archiviazione come dispositivo raw? ho ancora bisogno di fdisk esso? ho letto della creazione di partizioni da fdisk, ma non capisco perché sia ​​necessario
Noob,

1
Se ti consegnassi un disco con solo byte non elaborati e nessuna altra informazione, come lo interpreteresti per ottenere i dati da esso? Non potresti. È una semplificazione eccessiva, ma è ciò che fa una tabella delle partizioni. Dice "Ecco dove sono archiviati i dati sul disco (posizione di avvio / arresto / cilindro / traccia), ed ecco come sono organizzati (file system)"
David W

In realtà, potresti. Prendi un floppy. Supponiamo una partizione / volume. Specifichiamo il filesystem usato (dal momento che non abbiamo un MBR per dirci cosa viene usato, dobbiamo specificarlo manualmente o inserirlo in / etc / fstab) e leggere le informazioni per il filesystem. Esempio classico: floppy e FAT12.
Hennes,

1
Non ci sono informazioni nella tabella delle partizioni standard che non sono, o potrebbero essere facilmente realizzate, già nel record di avvio del volume del file system. Qualsiasi affidamento del software su un MBR / tabella delle partizioni per riconoscere e / o avviare correttamente da un file system è completamente artificiale.
kreemoweet

1
No, non è necessaria una tabella delle partizioni e no, il tipo di file system come indicato nella tabella delle partizioni viene ignorato. Invece, per determinare il tipo di filesystem vengono utilizzate sequenze ben definite di byte ("magico"). Se vuoi avviare dal disco, ovviamente è diverso.
Daniel B,

0

Si potrebbe creare un file system su un disco nudo, ma è raramente di andare al lavoro. Alcuni pendrive sono organizzati in questo modo. Ma per il disco rigido che non vuoi.

Se sarà la tua unità principale / unica, non sarà affatto avviabile se la crei come tale. Quello che fa il BIOS è leggere il primo settore del disco ed eseguirlo (ovvero saltare al suo primo byte). Non vuoi davvero eseguire i metadati del filesystem? Fortunatamente no, poiché il BIOS contiene fail-safe - gli ultimi due byte di quel settore devono essere 0x55 0xaa affinché il BIOS consideri l'unità come avviabile. E tu hai un sistema UEFI è anche peggio, poiché UEFI richiede una partizione FAT distinta per funzionare.

Se sarà il tuo disco rigido secondario, potrebbe funzionare, ma è comunque sconsigliato: nessuna rilevazione automatica funzionerà, la maggior parte degli strumenti ti dirà che l'unità non è formattata e richiede il partizionamento (che distruggerà i tuoi dati).

Poi di nuovo si è a volte possibile farlo, ma in un modo molto hacker, che richiede la conoscenza intricata di diversi filesystem organizzazione su disco. Una volta ho visto una descrizione di un'immagine che poteva essere masterizzata su un CD avviabile, su un'unità USB avviabile o anche avviata da vecchi Mac, ma questo era al livello di 'Se metto la lunghezza del filesystem su xxx, quando viene eseguito da un'altra architettura che viene eseguito come un confronto di registro innocuo '.


Informazioni estese sull'esempio pendrive: viene utilizzato anche su floppy e pendrive senza MBR, dove spesso viene chiamato "formato superfluo".
Hennes,

@Torinthiel, ho aggiornato il mio post originale, spero che tu possa dare un'occhiata
Noob

-1

Anche se si intende utilizzare l'intero disco, dovrà comunque essere partizionato. In questo caso con una partizione grande quanto il disco stesso (quasi, almeno. La tabella delle partizioni occupa un po 'di spazio. Vedi sotto per i dettagli su questo).

Quando introduco le persone al concetto di partizioni e filesystem a persone che normalmente pensano solo a "hard disk, vuoto vs pieno" è questo: l'hard disk è l'edificio, mentre la partizione è la vera stanza. Formattate una partizione con un file system specifico, quindi la rendete utilizzabile e, nell'analogia dell'edificio, ciò corrisponde alla dichiarazione di un tipo di stanza, come cucina o camera da letto (in altre parole, come usarlo).

Ora, per tornare alla domanda originale, non è possibile inserire un filesystem su un'unità non partizionata, poiché la tabella delle partizioni (i primi 512 byte dell'unità) contiene informazioni su dove si possono trovare le partizioni sull'unità fisica. Per avere un filesystem, dovrà iniziare da qualche parte a cui la tabella delle partizioni può fare riferimento e non può fare riferimento a un filesystem che non ha uno spazio definito, ovvero la partizione.

E se dovessimo posizionare la tabella delle partizioni nell'analogia dell'edificio, immagino che corrisponderebbe a un progetto dell'edificio.

Aggiorna riflettendo la tua domanda di modifica: ciò che fa fdisk è che ti consente di selezionare alcuni aspetti di una partizione, come dimensioni, tipo e posizione fisica, come sono sicuro che già sai. Ciò che fdisk quindi fa è tradurli in una voce della tabella delle partizioni. Fondamentalmente, fa in modo che la tabella delle partizioni sia aggiornata con un "elenco" di tutte le partizioni sul disco, ogni elemento nell'elenco che indica quale partizione può essere trovata dove e che tipo è. Questo in modo che un sistema operativo sappia dove accedere ai dati sulle partizioni.


1
No. Non è necessario. Ho usato senza. È comunque altamente raccomandato, ma puoi farne a meno.
Hennes,

@Jarmund ho aggiornato il mio post originale, spero che tu possa dare un'occhiata
Noob
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.