Я использую Ubuntu 17.10.
Я отформатировал USB-накопитель в NTFS для подготовки установщика USB для Windows7.
Я установил загрузочный флаг на этом флеш-накопителе и скопировал в него файлы.
РЕДАКТИРОВАТЬ 1: USB-флеш-накопитель автоматически устанавливается udev.
umount /dev/sdb1
занимает от 10 до 12 минут.
Вот параметры монтирования:
$ mount | grep sdb
/dev/sdb1 on /media/mansfeld/Win7_USB_Installer type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
РЕДАКТИРОВАТЬ 2: Операция cp
не является мгновенной, копирование файлов на USB-накопитель заняло 3 минуты.
РЕДАКТ. 3: Операция sync
(выполненная сразу после cp
) заняла 12 минут! Но тогда umount
будет мгновенным.
Для FAT32 (с синхронизацией, также отключенной во время монтирования), я замечаю то же самое поведение.
Есть идеи, почему для отключения NTFS USB Pendrive требуется так много времени?
Вы, вероятно, страдаете от буферизации кеширования . Чтобы ускорить запись на USB-накопители (и жесткие диски в целом), Linux использует кеш файловой системы:
Когда вы (думаете, что) записываете что-то на карту памяти, это сначала записывается в кеш (в ОЗУ) и Команда cp
(например) немедленно возвращает, симулируя действительно быструю операцию записи. Пока вы делаете другие вещи, содержимое кеша записывается на карту в фоновом режиме. Вы можете заметить, что светодиод на флешке по-прежнему мигает, показывая операции записи (зависит от вашей флешки), хотя ничего очевидного не происходит.
Когда вы запускаете umount
вскоре после операции записи, затем umount
ожидает, пока все содержимое кэша файловой системы не будет записано на карту памяти, чтобы гарантировать, что никакие данные не будут потеряны.
С помощью sync
вы можете вручную принудительно очистить кеш и записать данные на карту памяти. Однако это не увеличит общее прошедшее время, потому что тогда вам придется дождаться завершения sync
(вместо ожидания umount
). Но umount
затем немедленно вернется, потому что кеш уже очищен.
Таким образом, у вас есть три варианта после копирования больших или многих файлов на карту памяти:
umount
и подождите 10 минут. для его завершения синхронизация
, подождите 10 минут для завершения, а затем umount
(вернется почти сразу) umount
. Поскольку запись в кеш выполняется автоматически в фоновом режиме, umount
также будет возвращаться почти сразу. Когда вы копируете файлы на свой флеш-накопитель, они не записываются на него напрямую. Синхронизация файловой системы происходит по команде размонтирования, фактические данные записываются, пока вы ждете размонтирования. Если вы выполните sync
перед umount
, umount
будет мгновенным.