Bagaimana memformat USB stick (flash drive) dengan FAT32 untuk digunakan di Linux dan Windows?

10

Saya ingin memformat memory stick untuk memindahkan data antara Windows 7 dan server Ubuntu yang bukan jaringan (Precise).

Saya tidak yakin salah satu dari dua cara yang saya coba benar, meskipun saya dapat membaca dan menulis ke drive di kedua mesin.

Saya mendapatkan daftar partisi yang terlihat sangat aneh fdisk jika saya memformat drive pada Windows (menggunakan alat Manajemen Disk), tetapi tampaknya OK dalam hal membaca dan menulis di Linux dan Windows.

image showing the output of fdisk for a windows formatted drive

dan cfdisk laporan

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

Jika sebagai beberapa advokat , Saya menggunakan cfdisk untuk membuat partisi primer jenis disk penuh b (atau fdisk untuk membuat partisi yang dimulai pada blok dua ribu dan sesuatu) dan kemudian mengeluarkan

sudo mkfs.vfat -n some_label /dev/sdf1

maka Windows tidak akan mengenali sistem file (setelah berabad-abad memikirkannya).

Linux dan Windows akan dengan senang hati membaca dan menulis selam 2GB jika saya membuat partisi yang sama, tetapi kemudian mengeluarkan:

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

tetapi ini membuat partisi disk penuh itu menunjukkan sebagai ruang kosong di cfdisk dan fdisk dan Windows tidak suka drive 16GB.

Saya sudah mencoba menggunakan parted juga, tetapi Windows tidak pernah puas dengan partisi yang saya buat di Linux.

Saya khawatir, sementara drive tampaknya berfungsi, saya mungkin menemukan bahwa data tidak ditransfer dengan setia.

Saya menggunakan drive SanDisk Cruzer dari berbagai usia, rasa dan ukuran.

Apakah cara yang benar untuk memformat di windows dan mengabaikan masalah yang dimiliki cfdisk dan fdisk atau ada cara lain yang benar di mana semua orang senang dengan drive?

jah
sumber
Sudahkah Anda mencoba menggunakan alat "HP USB Format" alih-alih diskmgmt.msc?
GENiEBEN
1
gunakan gparted, buat disk NTFS, gunakan di windows. Cara lain cukup hapus semuanya dari itu (tidak ada partisi sama sekali), kemudian partisi di windows dengan compmgmt.msc atau HP USB Tool, kemudian gunakan di Windows dan linux.
72DFBF5B A0DF5BE9
@ GENiEBEN Saya belum dan saya juga sepertinya tidak bisa menemukan sumber yang memiliki reputasi baik.
jah

Jawaban:

8

Windows akan sering menggunakan media eksternal, seperti USB flash drive, dalam tidak dipartisi cara - yaitu, tidak ada tabel partisi dan sistem file ditulis ke seluruh disk. Jika disk Anda diatur dengan cara ini, Anda harus menggunakan /dev/sdf langsung, seperti pada:

mount /dev/sdf /mnt

Anda bisa menggunakannya mkfs, fsck, dan alat lainnya dengan cara yang serupa. Kamu bisa memakai blkid untuk memverifikasi ini, seperti pada blkid /dev/sdf. Jika itu memberitahu Anda itu /dev/sdf adalah sistem file FAT (atau lainnya), maka hipotesis saya benar.

Jika disk tidak memiliki data yang ingin Anda simpan dan Anda ingin membuat sistem file baru di dalamnya, Anda bisa melakukannya di seluruh disk atau Anda dapat menggunakan fdisk, parted, atau alat lain untuk membuat segar (kosong) tabel partisi. Di fdisk, Anda akan melakukan ini dengan o perintah di menu utama. Ini akan menghapus "partisi" yang ada (yang mungkin adil) fdisk Upaya putus asa untuk menafsirkan sektor pertama dari sistem file FAT) dan membuat tabel partisi kosong baru. Anda kemudian akan menggunakan n untuk membuat partisi baru, simpan perubahannya dengan w, dan gunakan mkfs atau mkdosfs di luar fdisk untuk membuat sistem file baru aktif /dev/sdf1.

Perhatikan bahwa Windows hanya mengenali partisi pertama pada USB flash drive yang berisi tabel partisi. Jadi, jika Anda menginginkan lebih dari satu partisi, pastikan yang pertama adalah partisi yang dapat diakses dari Windows.

Rod Smith
sumber
1
Kekacauan yang dilaporkan oleh fdisk (lihat tangkapan layar dalam pertanyaan) dapat diperbaiki dengan memusatkan drive pada nol dd if=/dev/zero of=/dev/sdf atau shred -n 0 -z /dev/sdf sebelum membuat partisi.
jah
2
Buat partisi dengan fdisk /dev/sdf (menggunakan default yang disajikan dalam mode interaktif) ketik b (Windows95) (buat itu mengetik c (Windows95 (LBA)) untuk drive 16GB - inilah yang dilakukan Windows) dan memformatnya menggunakan keduanya mkfs.vfat /dev/sdf1 atau di Windows dengan alat Manajemen Disk (yang melaporkan sistem file sebagai 'RAW' ketika drive pertama kali dicolokkan). Kedua cara akan menghasilkan drive yang dilaporkan fdisk secara konsisten. Perhatikan bahwa ini menghasilkan partisi yang bukan 'seluruh disk' dan sebagainya /dev/sdf1 adalah satu-satunya mount.
jah
Saya tidak dapat mengonfirmasi hipotesis Anda @Rod Smith karena drive ini bukan sekarang 'seluruh disk': sudo blkid /dev/sdf tidak melaporkan apa pun, tapi sudo blkid /dev/sdf1 tidak melaporkan TYPE="vfat". Terima kasih banyak atas jawaban Anda, sekarang saya memiliki drive yang berfungsi dan saya percaya.
jah