Come formattare una chiavetta USB (unità flash) con FAT32 per l'uso su Linux e Windows?


11

Voglio formattare una memory stick per lo spostamento di dati tra Windows 7 e un server Ubuntu non in rete (Preciso).

Non sono sicuro che uno dei due modi in cui ho provato sia corretto, anche se posso leggere e scrivere sull'unità su entrambe le macchine.

Ottengo un elenco di partizioni dall'aspetto molto strano fdiskse formatto l'unità su Windows (usando lo strumento Gestione disco), ma sembra essere OK in termini di lettura e scrittura su Linux e Windows.

immagine che mostra l'output di fdisk per un'unità formattata Windows

e cfdiskrapporti

FATAL ERROR: Bad primary partition 1: Partition begins after end-of-disk.

Se, come alcuni sostenitori , utilizzo cfdiskper creare una partizione primaria di tipo full disk b(o fdiskper creare una partizione che inizia al blocco duemila e qualcosa del genere) e quindi rilascia

sudo mkfs.vfat -n some_label /dev/sdf1

quindi Windows non riconoscerà il file system (dopo eoni di pensarci).

Linux e Windows leggeranno e scriveranno felicemente un'immersione da 2 GB se creo la stessa partizione, ma poi rilasciano:

sudo mkfs.vfat -I -n some_label /dev/sdf

ma questo fa si che spettacolo partizione di full-disk come spazio libero in cfdiske fdiske Windows non lo fa, come il drive da 16GB.

Ho provato partedanche a usarlo , ma Windows non è mai contento delle partizioni che creo su Linux.

Sono preoccupato che, mentre l'unità sembra funzionare, potrei scoprire che i dati non vengono trasferiti fedelmente.

Sto utilizzando unità SanDisk Cruzer di varie età, gusti e dimensioni.

È il modo corretto di formattare su Windows e ignorare i problemi che hanno cfdisk e fdisk o c'è un altro modo corretto in cui tutti sono soddisfatti dell'unità?


Hai provato a utilizzare lo strumento "HP USB Format" anziché diskmgmt.msc?
GENIEBEN,

1
usa gparted, crea il disco NTFS, usalo in windows. Un altro modo è semplicemente eliminare tutto da esso (nessuna partizione), quindi partizionarlo in Windows con compmgmt.msc o HP USB Tool, quindi usarlo in Windows e Linux.
72DFBF5B A0DF5BE9

@GENiEBEN non l'ho fatto e non riesco nemmeno a trovare una fonte affidabile per questo.
jah

Risposte:


9

Windows spesso utilizzano supporti esterni, come unità flash USB, in un non partizionato modo - che è, non c'è tabella delle partizioni e il filesystem viene scritto il disco intero. Se il tuo disco è impostato in questo modo, dovresti usare /dev/sdfdirettamente, come in:

mount /dev/sdf /mnt

È possibile utilizzare mkfs, fscke altri strumenti in modo simile. È possibile utilizzare blkidper verificarlo, come in blkid /dev/sdf. Se ti dice che /dev/sdfè un filesystem FAT (o qualche altro), allora la mia ipotesi è corretta.

Se il disco non ha dati che si desidera conservare e si desidera creare un filesystem fresco su di esso, è possibile farlo su tutto il disco o si può usare fdisk, partedo qualche altro strumento per creare una nuova tabella delle partizioni (vuota). In fdisk, lo faresti con il ocomando nel menu principale. Questo cancellerà le "partizioni" esistenti (che probabilmente sono solo fdiskil tentativo disperato di interpretare il primo settore di un filesystem FAT) e creeranno una nuova tabella delle partizioni vuota. Utilizzeresti quindi nper creare una nuova partizione, salvare le modifiche con we utilizzare mkfso mkdosfsal di fuori fdiskper creare un nuovo filesystem su /dev/sdf1.

Nota che Windows riconosce solo la prima partizione su un'unità flash USB che contiene una tabella delle partizioni. Pertanto, se si desidera più di una partizione, assicurarsi che la prima sia quella accessibile da Windows.


1
Quel casino segnalato da fdisk (vedi lo screenshot nella domanda) può essere corretto azzerando l'unità con dd if=/dev/zero of=/dev/sdfo shred -n 0 -z /dev/sdfprima di creare una partizione.
jah

3
Crea una partizione con fdisk /dev/sdf(usando le impostazioni predefinite presentate in modalità interattiva) di tipo b (Windows95)(rendila di tipo c (Windows95 (LBA))per un'unità da 16 GB - questo è ciò che fa Windows) e formattala usando mkfs.vfat /dev/sdf1o in Windows con lo strumento Gestione disco (che riporta il file system come "RAW" quando l'unità viene collegata per la prima volta). Entrambe le modalità comporteranno un'unità che fdisk riporta in modo coerente. Si noti che ciò si traduce in una partizione che non è "intero disco" e quindi anche /dev/sdf1quella mount.
jah

Non ho potuto confermare la tua ipotesi @Rod Smith perché questa unità non è ora "intero disco": sudo blkid /dev/sdfnon riporta nulla, ma sudo blkid /dev/sdf1riporta TYPE="vfat". Grazie mille per la tua risposta, ora ho unità funzionanti in cui ho fiducia.
jah
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.