Va bene per mkfs senza numero di partizione?


10

Ho una pen drive e una partizione:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
└─sda1   8:1    0 931.5G  0 part /
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part

e ho formattato con il comando:

   # mkfs.fat -n A /dev/sdb

e funziona benissimo.

Ma dopo, ho sfogliato la pagina man di mkfs:

   mkfs is used to build a Linux filesystem on a device,  usually  a  hard
   disk  partition.   The  device argument is either the device name (e.g.
   /dev/hda1, /dev/sdb2),  or  a  regular  file  that  shall  contain  the
   filesystem.   The  size argument is the number of blocks to be used for
   the filesystem.

Dice che mkfsdovrebbe funzionare con il numero di partizione. E il mio problema è perché la mia operazione funziona senza richiesta di errore?


1
non ci sono problemi nell'utilizzare l'intero dispositivo invece di una singola partizione. questo avrebbe più senso se si desidera 3,5 G di grassi e 4G ext3 / luckfs / qualunque cosa, quindi si dovrebbe dividere e formattare ogni parte.
Archemar,

1
Se lo metti in un dispositivo che prevede l'esistenza di una tabella delle partizioni, potrebbe chiederti di formattare ... Di solito è meglio avere una tabella delle partizioni anche se non è strettamente richiesta.
frostschutz,

1
La pagina man dice che il dispositivo è di solito una partizione del disco rigido . Un intero disco rigido è anche un dispositivo a blocchi adatto.
Toby Speight,

Risposte:


10

La creazione di un filesystem su un intero disco anziché su una partizione è possibile, ma inusuale. La documentazione menziona solo esplicitamente la partizione perché è il caso più comune (dice di solito ). È possibile creare un filesystem su qualsiasi cosa che si comporti sufficientemente come un file di dimensioni fisse, ovvero qualcosa in cui se si scrivono dati in una determinata posizione e si rileggono dalla stessa posizione, si ottengono gli stessi dati. Ciò include interi dischi, partizioni del disco e altri tipi di dispositivi a blocchi , nonché file regolari (immagini del disco).

Dopo aver fatto mkfs.fat -n A /dev/sdb, non hai più una partizione su quel disco. Attenzione che il kernel pensa ancora che il disco abbia una partizione, perché mantiene la tabella delle partizioni memorizzata nella cache. Ma non dovresti provare a usare /dev/sdb1più, dal momento che non esiste più; scrivere su di esso danneggerebbe il filesystem che hai creato /dev/sdbdato che /dev/sdb1fa parte di /dev/sdb(tutto tranne poche centinaia di byte all'inizio). Eseguire il comando partprobecome root per dire al kernel di rileggere la tabella delle partizioni.

Mentre è possibile creare un filesystem su un intero disco, non lo consiglio. Alcuni sistemi operativi potrebbero avere dei problemi (penso che Windows funzionerebbe, ma alcuni dispositivi come le fotocamere potrebbero non funzionare) e perderai la possibilità di creare altre partizioni. Vedi anche I meriti di un filesystem senza partizioni


8

In genere va bene mettere un filesystem su un intero dispositivo, piuttosto che partizionare e formattare le partizioni, se non si intende avere più di un filesystem sul proprio dispositivo. Dovrai semplicemente essere coerente; dal momento che hai messo il filesystem sdapiuttosto che sda1, dovrai anche montare sda, poiché sda1non esisterà affatto.

Il dispositivo in questione sembra essere un'unità rimovibile formattata FAT: se verrà utilizzato con dispositivi incorporati che potrebbero avere un'idea più o meno dettagliata di come montare i filesystem, potrebbe valere la pena testarli infatti supporta un filesystem per l'intero dispositivo senza una tabella delle partizioni. (Ad esempio, le fotocamere tendono a creare una singola partizione e formattarla; è del tutto possibile che dichiarino inutilizzabile una scheda di memoria senza partizioni.)

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.