Estoy usando Ubuntu 17.10.
Formateé un pen-drive USB a NTFS para preparar un instalador USB de Windows7.
Establecí el indicador de arranque en este pen-drive y copié los archivos en él.
EDICIÓN 1:udev monta automáticamente la memoria USB.
umount /dev/sdb1
tarda de 10 a 12 minutos en completarse.
Estas son las opciones de montaje:
$ 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)
EDICIÓN 2:El cp
la operación no es INSTANTÁNEA en absoluto, tomó 3 minutos copiar los archivos a la memoria USB.
EDIT 3:La sync
operación (realizada justo después del cp
) tardó 12 minutos en completarse ! Pero entonces el umount
será instantáneo.
Para FAT32 (con la sincronización también deshabilitada durante el montaje), noto el mismo comportamiento.
¿Alguna idea de por qué se tarda tanto en desmontar el pendrive USB NTFS?
Respuesta aceptada:
Probablemente sufre de buffering almacenamiento en caché . Para acelerar la escritura en memorias USB (y discos duros en general), Linux usa un caché de sistema de archivos:
Cuando (crees que) escribes algo en el dispositivo, primero se escribe en el caché (en RAM) y el cp
El comando (por ejemplo) regresa inmediatamente simulando una operación de escritura realmente rápida. Mientras hace otras cosas, el contenido del caché se escribe en el dispositivo en segundo plano. Puede notar que un LED en el dispositivo aún parpadea mostrando operaciones de escritura (depende de su dispositivo), aunque no sucede nada aparente.
Cuando emites umount
poco después de una operación de escritura, entonces umount
espera hasta que todo el contenido del caché del sistema de archivos se escriba en el dispositivo para asegurarse de que no se pierdan datos.
Con sync
puede forzar manualmente el vaciado del caché y escribir los datos en el dispositivo. Sin embargo, esto no acelerará el tiempo total transcurrido porque tendrás que esperar a que sync
para completar (en lugar de esperar a umount
). Pero el umount
luego regresará instantáneamente porque el caché ya está vaciado.
En resumen, tiene tres opciones después de copiar archivos grandes o muchos en el dispositivo:
umount
y espera 10 minutos para que se completesync
, espere 10 minutos para completar, seguido deumount
(regresará casi inmediatamente)- simplemente espere 10 minutos (quizás un poco más) y no haga nada (o algo que no esté relacionado con el palo) y luego problema
umount
. Debido a que el caché se escribe en segundo plano automáticamente,umount
luego regresará casi inmediatamente también.