Estoy tratando de copiar un archivo de 6GB en una unidad flash USB pero no se copiará.
Estoy tratando de copiar un archivo de 6GB en una unidad flash USB pero no se copiará.
Respuestas:
Esto se debe a la limitación de FAT32. Los archivos de más de 4 GB no se pueden almacenar en un volumen FAT32. Formatear la unidad flash como exFAT o NTFS resolverá este problema.
ADVERTENCIA: haga una copia de seguridad de sus datos. El formateo eliminará todos los datos en su dispositivo.
ext3
también es una opción
Si no desea formatear su unidad USB o necesita que sea FAT32, simplemente puede dividir su archivo grande en partes. La mayoría de los administradores de archivos vienen con la opción de división y para la línea de comando hay split
, por ejemplo, para su caso:
split -b4294967295 /path/to/input.file /path/to/pen/drive/output.file.
Ver man split
para la documentación completa. Esto creará los siguientes archivos:
4,0G output.file.aa
1,6G output.file.ab
El tamaño de archivo output.file.aa
coincide exactamente con el tamaño máximo de archivo de su unidad USB formateada FAT32, que es 4 Gibibyte (GiB, que no es lo mismo que Gigabyte GB) menos 1 Byte .
Gracias a Gilles por esta importante adición.
Antes de poder acceder al archivo nuevamente, primero debe fusionar sus partes. En sistemas Linux puede hacerlo con:
cat output.file.* > input.file
Si tiene miedo de que esto pueda ordenar los archivos incorrectamente leídos en Bash, ¿se garantiza que las expansiones comodín estén en orden?
El comando correspondiente en los sistemas Windows es:
copy /b output.file.aa+output.file.ab input.file
Junto con muchas otras utilidades útiles de GNU también split
se pueden instalar en Windows, vea las utilidades de GNU para Win32 .
split
incluso sin la distinción entre GiB y GB. Pero enviaré un atacante para eso ...
split
existe precisamente para este propósito y no se requiere en el extremo receptor. FAT32 es la lengua franca de las unidades USB por una razón.
-b 4095M
sería mucho más simple y lograría lo mismo que el bc
comando. En Bash también se podría utilizar shell aritmética: $(((4<<30)-1))
.
Se examinan diferentes escenarios y sistemas de archivos buscando alternativas teniendo en cuenta
Si tiene la intención de usar la unidad solo con Ubuntu (y otras distribuciones de Linux), es una buena idea usar un sistema de archivos de Linux , por ejemplo ext4 . De esta manera, puede obtener una mayor velocidad de lectura / escritura (dependiendo de qué proceso sea el cuello de botella), y obtendrá una mayor flexibilidad con respecto a la propiedad y los permisos.
gparted
para crear el sistema de archivos ext4 .Windows tiene problemas con los sistemas de archivos de Linux, y creo que MacOS tiene problemas tanto con los sistemas de archivos de Linux como con NTFS . Entonces, si desea 'compatibilidad total' para leer y escribir, solo quedan FAT32 , UDF y exFAT .
FAT32 tiene un límite de 4GiB (gibibyte, base 2) para el tamaño del archivo.
Se puede mantener en Ubuntu con dosfsck
, que viene con el paquete dosfstools
,
sudo apt-get install dosfstools
sudo dosfsck -a /dev/sdxn # least destructive option
sudo dosfsck -r /dev/sdxn # more powerful option
donde x es la letra de la unidad yn es el número de partición, por ejemplo, /dev/sdb1
para la primera partición en la unidad b.
UDF probablemente carece de herramientas para reparar el sistema de archivos,
Cómo crear y usar UDF: Uso de UDF como sucesor de FAT para memorias USB
Entonces, para usarlo, suponiendo que su memoria USB es /dev/sdx
:
Instala el paquete udftools
sudo apt-get install udftools
Cree una tabla de partición y una partición con gparted
ognome-disks
Limpie el primer mibibyte de la partición de destino con el arriesgado dd
(¡verifique la línea de comando!
sudo dd if=/dev/zero of=/dev/sdx1 bs=1M count=1
Ejecutar mkudffs
,
sudo mkudffs -b 512 --media-type=hd --lvid=my-label /dev/sdx1
Limpie el primer mibibyte de la partición para borrar la información anterior del sistema de archivos (u otros datos restantes), para evitar que su dispositivo USB sea detectado como FAT después de formatearse con UDF.
El -b 512
objetivo es forzar un tamaño de bloque del sistema de archivos igual al tamaño de bloque físico de la memoria USB, como lo requiere la especificación UDF. Adaptarlo si tiene la suerte de tener una memoria USB con un tamaño de bloque más apropiado.
Después de eso, su memoria USB podrá usarse para leer y escribir con GNU / Linux y los otros sistemas operativos gratuitos, por supuesto, pero también con las versiones actuales de Windows (solo lectura con la versión XP desactualizada) y con MacOS.
exFAT es otra opción. Es nuevo en comparación con FAT32 y UDF y afirma que funciona bien
He comenzado a probar exFAT en Ubuntu. Tengo la intención de editar esta respuesta, cuando tenga más experiencia en usarla. Comencemos con los siguientes enlaces ,
ExFAT es un sistema de archivos propietario de Microsoft optimizado para
sistemas integrados porque es liviano y es más adecuado para soluciones que tienen poca memoria y bajos requisitos de energía, y se pueden implementar en firmware.
Cómo obtener un disco formateado con exfat funcionando (en Ubuntu)
y esta línea de comando para instalar [leer / escribir] soporte para exFAT en Ubuntu
sudo apt-get install exfat-utils exfat-fuse
Se puede crear en Windows y MacOS y en Linux con la siguiente línea de comando
sudo mkfs.exfat -n YOUR-LABEL /dev/sdxi
donde x
está la letra de unidad y i
es el número de partición, por ejemplo /dev/sdb1
.
Se puede mantener en Windows.
Mis primeros resultados de la prueba :
md5sum
y el sistema USB limitó la velocidad).Entonces, si desea acceso completo de lectura / escritura desde Ubuntu y Windows, le sugiero que use NTFS , que tiene registro en diario y está muy depurado y pulido como el sistema de archivos [propietario] para Windows. (También es posible usar exFAT ).
gparted
para crear un sistema de archivos NTFS.En MacOS es posible usar FAT32 , UDF y exFAT .
También puede usar ext4 con una solución alternativa, Ubuntu Server con un servidor SSH en una máquina virtual . (Creo que la misma solución funcionaría también con Windows). Esto puede valer la pena cuando intente acceder a muchos archivos a través de la unidad y su sistema de archivos, pero probablemente no con un pequeño pendrive USB2.
Ver este enlace,
Habiendo tenido un problema simular y no estoy dispuesto a formatear el dispositivo USB, acabo de usar un archivador. Más o menos todas las GUI modernas (como File Roller, 7Zip, etc.) o CLI permiten dividir el archivo comprimido. Establezca el límite de división por debajo del límite de FAT (que es de 4 GB), para la velocidad puede elegir una tasa de compresión baja, incluso "almacenar", es decir, no comprimir en absoluto, ¡listo!
Si tiene acceso a una máquina con Windows, puede convertir su sistema de archivos de memoria USB sin formatear. Debe usar la línea de comandos de Windows de la siguiente manera: presione Win + R
, escriba cmd
-> OK
, en la ventana abierta, ingrese el comando convert X: /FS:ntfs
donde X:
está la letra de su memoria USB montada. En menos de un minuto está listo. Disfrutar.
Volver a formatear o usar la división son excelentes opciones, o puede intentar usar zip para comprimir el archivo, solo sepa que algunos archivos ya están comprimidos, por lo que comprimirlos los hará más grandes. (También puede perder la propiedad del archivo, las marcas de tiempo, etc.)