Как отформатировать USB-накопитель (флешку) в FAT32 для использования в Linux и Windows?

11

Я хочу отформатировать карту памяти для перемещения данных между Windows 7 и не сетевым сервером Ubuntu (Precise).

Я не уверен, что любой из двух способов, которые я пробовал, является правильным, хотя я могу читать и записывать на диск на обеих машинах.

Я получаю очень странный список разделов, fdiskесли отформатировать диск в Windows (с помощью инструмента «Управление дисками»), но, похоже, он подходит для чтения и записи в Linux и Windows.

изображение, показывающее вывод fdisk для диска в формате Windows

и cfdiskотчеты

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

Если, как некоторые сторонники , я использую cfdiskдля создания первичного раздела полного диска типа b(или fdiskдля создания раздела, который начинается в блоке две тысячи с чем-то), а затем выполнить

sudo mkfs.vfat -n some_label /dev/sdf1

тогда Windows не распознает файловую систему (после долгих размышлений об этом).

Linux и Windows с радостью прочитают и напишут 2-гигабайтное погружение, если я сделаю тот же раздел, но потом выдам:

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

но это делает , что полный диск раздела шоу в свободном пространстве в cfdiskи fdiskи Windows , не как диск 16 Гб.

Я тоже пытался использовать parted, но Windows никогда не устраивает разделы, которые я создаю в Linux.

Я обеспокоен тем, что, хотя диск, кажется, работает, я могу обнаружить, что данные не передаются достоверно.

Я использую диски SanDisk Cruzer разных возрастов, вкусов и размеров.

Является ли правильный способ форматирования в Windows и игнорировать проблемы, которые возникают у cfdisk и fdisk, или есть другой правильный способ, которым все довольны этим приводом?

Джа
источник
Вы пытались использовать инструмент «HP USB Format» вместо diskmgmt.msc?
GENIEBEN
1
используйте gparted, создайте диск NTFS, используйте его в windows. Другой способ - просто удалить из него все (без разделов), затем разделить его в Windows с помощью compmgmt.msc или HP USB Tool, а затем использовать его в Windows и Linux.
72DFBF5B A0DF5BE9
@GENiEBEN У меня нет, и, похоже, я тоже не могу найти достойный источник для этого.
Джа

Ответы:

9

Окна часто используют внешние носители, такие как USB флэш - накопители, в разбитом образом - то есть, нет таблицы разделов и файловой системы записывается на весь диск. Если ваш диск настроен таким образом, вы должны использовать /dev/sdfнапрямую, как в:

mount /dev/sdf /mnt

Вы могли бы использовать mkfs, fsckи другие инструменты , таким же образом. Вы можете использовать, blkidчтобы проверить это, как в blkid /dev/sdf. Если он говорит вам, что /dev/sdfэто файловая система FAT (или какая-то другая), то моя гипотеза верна.

Если диск не содержит данных , которые вы хотите сохранить , и вы хотите создать свежую файловую систему на нем, вы можете сделать это на всем диске , или вы можете использовать fdisk, partedили какой -либо другой инструмент , чтобы создать свежую (пусто) таблицу разделов. В fdisk, вы бы сделали это с помощью oкоманды в главном меню. Это уничтожит существующие «разделы» (которые, вероятно, являются просто fdiskотчаянной попыткой интерпретировать первый сектор файловой системы FAT) и создаст новую пустую таблицу разделов. Затем вы будете использовать nдля создания нового раздела, сохранения изменений w, и использовать mkfsили mkdosfsвне fdiskдля создания новой файловой системы /dev/sdf1.

Обратите внимание, что Windows распознает только первый раздел на флэш-накопителе USB, который содержит таблицу разделов. Таким образом, если вам нужно более одного раздела, убедитесь, что первый из них будет доступен из Windows.

Род Смит
источник
1
Эта ошибка, о которой сообщает fdisk (см. Скриншот в вопросе), может быть исправлена ​​путем обнуления диска с помощью dd if=/dev/zero of=/dev/sdfили shred -n 0 -z /dev/sdfперед созданием раздела.
Джа
3
Создайте раздел с fdisk /dev/sdf(по умолчанию представленными в интерактивном режиме) типом b (Windows95)(сделайте его тип c (Windows95 (LBA))для диска 16 ГБ - это то, что делает Windows) и отформатируйте его, используя mkfs.vfat /dev/sdf1или в Windows, с помощью инструмента «Управление дисками» (который сообщает о файловой системе как «RAW», когда привод впервые подключен). Оба способа приводят к созданию диска, который fdisk сообщает последовательно. Обратите внимание, что это приводит к разделу, который не является «целым диском» и поэтому /dev/sdf1является тем mount.
Джа
Я не смог подтвердить вашу гипотезу @Rod Smith, потому что этот диск теперь не «весь диск»: он sudo blkid /dev/sdfвообще ничего не сообщает, но sudo blkid /dev/sdf1сообщает TYPE="vfat". Большое спасибо за ваш ответ, у меня теперь есть рабочие диски, в которых я уверен.
Джа