Virtualbox lento en disco duro formateado ExFat normal en NTFS

0

Estoy ejecutando Ubuntu 14.04 como host y Windows 7 como invitado con VirtualBox. Mi archivo vdi para Windows 7 se estaba haciendo grande, así que lo migré a un SSD interno Samsung 850 EVO conectado a través de un concentrador USB con un cable de datos SATA-USB3. Antes, cuando el archivo vdi estaba en el disco duro interno de mi computadora (Ext4), Windows 7 en Virtualbox funcionaba rápido.

Inicialmente formateé el SSD de Samsung en ExFAT y el invitado de Windows 7 fue extremadamente lento (minutos para encender un navegador). Luché durante horas jugando con todo tipo de configuraciones en VirtualBox. Me di cuenta de que cuando ejecuté "top" en mi host Ubunutu, mount.exfat era una CPU y ralentizaba mi sistema. De vez en cuando, Windows 7 funcionaría normalmente y cada vez que mount.exfat no estaría en la lista de los principales usuarios de CPU. Por capricho, decidí formatear el SSD de Samsung a NTFS y arrancar el invitado de Windows 7 desde allí. Bajo esta configuración, Windows 7 funciona perfectamente normal.

Pregunta:

¿Por qué el host invitado de Windows 7 en VirtualBox funciona mal en un disco duro externo ExFAT en comparación con un disco duro externo NTFS?

Nota: No tengo idea si esto es un problema de hardware, un problema de software de Linux, un problema de software de VirtualBox, etc.

sbbjpm
fuente
No olvide que ExFAT es un formato de Microsoft. ExFAT fue diseñado para ser una mejora de FAT32 .. NTFS es un formato completamente diferente y es más rápido que ExFAT. ExFAT se usa principalmente para dispositivos de memoria USB y tarjetas de memoria ... debería usar un mejor formato para un disco duro / SSD ... Es decir, utilizar el NTFS que ha estado utilizando ...
Kinnectus
@BigChris Probablemente me quede con NTFS, pero también tengo un sistema operativo OSX que uso. Esperaba formatear como ExFAT, para que fuera posible escribir en la unidad desde un sistema operativo OSX.
sbbjpm
Desafortunadamente, se debe a que las personas quieren poder usar sistemas operativos múltiples (a menudo competidores) que traen estas dificultades y solo debido a algunas personas amables que hay algunas capacidades cruzadas (por ejemplo, Linux que admite NTFS a través de NTFS-3G y FUSE, pero no soporte de Apple) ...
Kinnectus

Respuestas:

0

ExFAT (FAT64) no está diseñado para el uso de SSD. Fue diseñado para tarjetas flash y tarjetas de memoria, para reemplazar su sistema de archivos FAT32 estándar. Debido a las demandas de regalías de Microsoft, nunca se dio cuenta.

NTFS es un sistema de archivos b-tree altamente optimizado que está actualizado para el uso de SSD, y debe usarse en todos los casos que no sean pequeñas unidades extraíbles a través de ExFAT.

Para responder a su pregunta, es probable que esté utilizando el controlador FUSE ExFAT, que se ejecuta en el espacio del usuario. Si compilara y usara el módulo de kernel ExFAT, probablemente vería un mejor rendimiento, aunque no mejor que usar el módulo de kernel NTFS (YMMV)

Módulo de kernel ExFAT: https://github.com/dorimanx/exfat-nofuse

Hydranix
fuente
Puedo confirmar que estoy usando el controlador FUSE ExFat. Tu respuesta tiene sentido. Desafortunadamente, y probablemente sea una tontería, pero no me siento cómodo con mi capacidad de perder el acceso a la raíz y el módulo del kernel en una computadora de trabajo (como lo requiere el repositorio), por lo que no puedo probar su solución. Marcaré su respuesta como correcta, pero tenga en cuenta que si alguien más lee esto, no probé completamente la solución.
sbbjpm