Duda pasar películas a pendrive/hdd con formato NTFS desde Ubuntu 24.04

Buenas. Estoy intentando pasar una película de 5gb a un pendrive y a un disco duro formateados en NTFS para que la televisión me lo reconozca desde ubuntu 24.04. El problema está en que cuando arrastro la película o le doy clic derecho copiar/pegar me sale una barra de progreso que dura muy poco (7-8 segundos) y cuando termina la barra me dice que ya está copiado, pero no es cierto, si intento desconectarlo de forma segura me dice que aún hay archivos copiándose.

Cuando estaba en Windows se que copiar una película de 5gb al pendrive me tardaba en torno a 50 minutos y si quería pasarla al disco duro me tardaba en torno a 20 minutos.

Mi pregunta es, ¿como puedo conseguir una barra de progreso que me permita ver realmente cuando termina de copiarse la película al pendrive o al disco duro externo?

Le pregunté a chatgpt e intenté hacer lo que me indicó pero no me dio resultado. Probé este comando:

rsync -ah --progress archivo.mkv /media/usuario/pendrive/


Pero me ocurre lo mismo que si copio y pego con el ratón. Salta una barra de progreso que dura 7-8 segundos y ya.

Perdón por el tocho, si alguno supiera la solución me gustaría que me la hiciera saber. Muchas gracias.
Mira, si te soy sincero, lo de la barra de progreso de copia de archivos es una de las cosas que no me gusta de Linux respecto a Windows, a mi no me pasa tan radical como a ti, pero si es cierto que en Windows por lo menos te muestra en tiempo real lo que pasa, en linux se sube muy rápido al 100% y bueno, a esperar a que acabe.

Puede que ese error te lo haga por la partición NTFS, al no ser nativa de Linux puede que sea más propensa a fallar mostrando los datos de escritura.

Paciencia y espera a que acabe, que al final lo acaba haciendo, otra opción es usar un pendrive en formato exFAT.
@DJ Deu He probado con exfat y hace lo mismo. Tarda pocos segundos en terminar el progreso y luego se queda "haciendo nada", salvo que si intento expulsarlo en modo seguro me sale un aviso diciendo que se están pasando archivos. Si al menos me saliera otro aviso para decirme que la copia se ha completado pero no. Supongo que me resignaré y cronometraré dando un margen de tiempo de sobra de cuando creo que ha podido acabar y que no me pase como con un capítulo de una serie que de 50 y pico minutos que duraba el capítulo se terminó a los 30 minutos y me quedé así :)
RonerBin escribió:@DJ Deu He probado con exfat y hace lo mismo. Tarda pocos segundos en terminar el progreso y luego se queda "haciendo nada", salvo que si intento expulsarlo en modo seguro me sale un aviso diciendo que se están pasando archivos. Si al menos me saliera otro aviso para decirme que la copia se ha completado pero no. Supongo que me resignaré y cronometraré dando un margen de tiempo de sobra de cuando creo que ha podido acabar y que no me pase como con un capítulo de una serie que de 50 y pico minutos que duraba el capítulo se terminó a los 30 minutos y me quedé así :)


Ya te lo he dicho, copiar, copia, pero has de esperar a que acabe, jode mucho no ver el progreso en tiempo real, pero así es de momento.

Miraré algo sobre el tema a ver si doy con alguna solución.
No debería responder al no tener la suficiente experiencia en GNU/LInux y no poder ayudar específicamente, pero...

DJ Deu escribió:pero si es cierto que en Windows por lo menos te muestra en tiempo real lo que pasa


Sólo remarcar que eso tampoco es cierto.

Windows (desde Windows Vista/7, sobre todo), al igual que Linux, se empeñan en cachear a RAM los archivos que copian (da igual el destino) con independencia del tamaño.

¿Qué ocurre entonces?

Supongamos que tenemos un HDD de 100 MB/s lectura, o un SSD de 4 GB/s de lectura, pero tenemos un pendrive de 10 MB/s de escritura (yo no he tenido pendrives mucho más veloces, la verdad).

El cuello de botella es obvio.

¿Qué hacen los sistemas operativos? Mientras van copiando al pendrive, van leyendo y haciendo copia a RAM. La RAM, escribe a varios GB/s.

El tiempo que muestran tanto Windows como Linux es el segundo tiempo. El tiempo es diferente según la fuente (HDD más lento y, hasta cierto punto, más realista).

Si en Windows utilizáis el "Monitor de Recursos" veréis que cuando la copia [virtualmente] ha acabado, en realidad la transferencia (gráfica de "Disco") sigue mostrando la transferencia en curso.

En Linux, que seguro que también la hay, pero no he llegado ahí, tendréis algún monitor que muestre exactamente el mismo comportamiento. Perdonad que no me ponga a buscarla ahora. A ver si alguien con más experiencia puede sugerir comandos o interfaces que monitoreen el I/O. Y si la ponéis en el hilo de utilidades, mejor que mejor.


¿Cómo se puede evitar esto? Deshabilitando la caché de disco. (Perdón, pero tampoco sé cómo hacerlo en Linux, seguramente lo habré leído, pero no recuerdo dónde).

A partir de Windows 10, cuando Microsoft quito la opción de extracción segura, creo que ya deshabilitó la caché, pero no lo digo con seguridad.


Otra alternativa es comprarse un pendrive con LED indicador de actividad, como tienen las placas base para indicar actividad de disco.


EDIT: sé que no es una solución, pero si haces un estadística de escritura, luego puedes hacer un cálculo holgado de cuánto tardarán en transferirse las cosas.
Instala pv para ver una barra de progreso desde la terminal y copia el fichero con dd, creo que es lo más práctico.

Algo parecido a
pv pelicula.mkv | dd of=/dev/sdX bs=4M status=progress
cambia la X por la letra que corresponda al pendrive (con lsblk la puedes localizar).
neofonta escribió:Instala pv para ver una barra de progreso desde la terminal y copia el fichero con dd, creo que es lo más práctico.

Algo parecido a
pv pelicula.mkv | dd of=/dev/sdX bs=4M status=progress
cambia la X por la letra que corresponda al pendrive (con lsblk la puedes localizar).


¡Cuidado con esto! si usas de parametro de of /dev/sdX te cargas el pen...estas escribiendo directamente al pen sin usar el sistema de archivos...esto se hace con las ISOS y tal si quieres que arranquen. En su caso debes cambiar el parametro of a la ruta que quieres por ejemplo of=/media/usuario/pendrive/pelicula.mkv
Ya apunto a qué ese pendrive está chungo o es muy viejo, 5Gb en 50 minutos?
En Linux mint cuando le das a desmontar desde el gestor de archivos a un pen que aun se esta escribiendo sale el mensaje de que se están escribiendo datos todavía y cuando acaba te dice que ya lo puedes sacar con seguridad

luciferfran escribió:Ya apunto a qué ese pendrive está chungo o es muy viejo, 5Gb en 50 minutos?

lo que tarde en escribir depende de la velocidad del pen y del tamaño del 'cluster', en ntfs/fat32/ext4 suele ser de 4K y en exFat empieza a partir de 32K, con lo que para archivos grandes va bien, pero para pequeños pierdes un montón de espacio innecesariamente.

También puedes cambiar el tamaño del cluster para los otros formatos de forma manual, pero te puedes encontrar que con algún cacharro no lo pille bien.
@mekkon

Si fueran muchos archivos pequeños puedo ver razonable que tarde tanto, pero es un archivo único de 5gigas me sigue pareciendo una burrada de tiempo.

Un saludo
luciferfran escribió:@mekkon

Si fueran muchos archivos pequeños puedo ver razonable que tarde tanto, pero es un archivo único de 5gigas me sigue pareciendo una burrada de tiempo.

Un saludo

que puede ser para que tarde tanto?
El problema es como esta gestionando esta unidad desde fstab. Debe estar puesto, supongo de manera automática por Ubuntu, que la copia en pendrives y dispositivos lentos usb se haga en segundo plano desde ram. Yo eso lo cambie hace bastante y no recuerdo como.

Para asegurarte que todo esta bien copiado, hay el comando "sync". Sync forzara a acabar de sincronizar todo lo que aun esta en medio de una copia en segundo plano.
Buenas a todos, muchas gracias por las respuestas. Al final he desistido, he intentado todo y sigue sin ir. Por lo que he añadido una pequeña tarea extra a la partición donde tengo Windows 10. No siempre puedo ganar y esta vez perdí.

No marco el hilo como solucionado porque claramente esto no es una solución, es mi solución.
Teclea un par de veces el comando sync para asegurarte que realmente ha terminado.

P.D.: No lo saques nada más "terminar" la copia ni siquiera en Windows (ni aún supuestamente habiendo desmontado) porque conozco mucha gente que ha perdido todo lo que tenía en el dispositivo justamente así.
Vengo aquí a poner el churro necesario para saber si la cache a terminado de escribir los datos en el pendrive o donde sea que los tenga que poner:

watch -n1 'grep -E "(Dirty|Write)" /proc/meminfo; echo; ls /sys/block/ | while read device; do awk "{ print \"$device: \"  \$9 }" "/sys/block/$device/stat"; done'

para el caso, cuando Writeback y la unidad en cuestión (sdc, nvme0n1, etc...) estén a cero, la escritura se habrá completado.

más info: aquí
14 respuestas