Pre Sales FAQ
NTFS File System General
1.1 What is NTFS File System?
NTFS is an acronym for New Technology File System. NTFS was first released with Windows NT. It is much more modern, stable and reliable than FAT or FAT 32. This file system was designed for use specifically with Windows OS. It supports long file names, huge disk partitions and files, full security access control, the ability to recover files/directories and its structure in the event of hardware failure and many other features.
1.2 Is NTFS File System better than FAT or HPFS?
Yes. The NTFS File System is replacement for the FAT (File Allocation Table) and HPFS (High-Performance File System) file systems. It gives many advantages over the other file systems such as the ability to restore files/directories and its structure in the event of hardware failure, improved security, supporting huge files/partitions and etc.
1.3 Is NTFS File System the same in every version of Windows?
There are three versions of NTFS File System: 1.2, 3.0 and 3.1. Each of these versions is used in different Windows OS and has additional features. NTFS version: v1.2; v3.0; v3.1 and accordingly - Windows version: NT 4.0, 2000, XP, 2003, Vista, 7, 8.1. Note: The version 1.2 is also known as 4.0, the versions 3.0 as 5.0 and the version 3.1 as 5.1.
2.1 Can I read a NTFS volume under Windows 95/98/ME or DOS?
Unfortunately, NTFS File System can be accessed under Windows NT, Win7, Win8; 2000, 2008; XP, Windows Server 2003, Windows Vista or via a network connection only.
2.2 Can I convert a FAT volume to a NTFS one?
You can convert FAT or FAT 32 volumes to NTFS ones by means of standard Windows applications. Click on Start and then on Run. In the command prompt window, type: convert : /fs:ntfs For example, type convert D: /fs:ntfs to format the D drive with the ntfs format. Note: Windows does not provide for conversion from NTFS to FAT. Use Partition Manager or Hard Disk Manager to convert FAT volumes to NTFS ones or vice versa.
2.3 Can I convert a NTFS volume to a FAT one?
Windows does not provide any tool to convert NTFS to FAT.
Partition Manager and Hard Disk Manager provide the ability to convert the following file systems:
- FAT16 to FAT32 and back;
- FAT16/32 to NTFS and back;
- Ext2 FS to Ext3 FS and back.
2.4 Can I resize a NTFS volume?
Prior to Windows 7, Windows did not provide any built-in capable tool to resize NTFS volumes (in Windows XP and older versions there is even no function to resize NTFS volumes).
To resize an NTFS volume you can use either Partition Manager or Hard Disk Manager, in particular their Recovery CD. Moreover, we have developed an additional utility using our UFSD SDK to resize NTFS partition under Linux.
2.5 Can I format a USB Flash Drive to NTFS File System?
Windows 7, Windows 8: Yes, it is possible without any additional tricks.
Prior to Windows 7:
- To format a USB flash driver with NTFS File System you should:
Note: To remove a USB flash drive safely, without data loss, use a safely remove hardware procedure or Eject function from Explorer.
- Right-click on My Computer and choose Manage;
- Open the Device Manager and find your USB flash drive under the Disk Drives heading;
- Right-click on the drive and select Properties;
- Choose the Policies tab and select Optimize for performance;
- Click OK;
- Open My Computer;
- Select Format on the USB flash drive;
- Choose NTFS in the File System box to format with NTFS File System;
HFS file system
3.1 What is HFS File System?
Hierarchical File System (HFS) is a file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy and hard disks, it can also be found on read-only media such as CD-ROMs. HFS is also referred to as Mac OS Standard (or "HFS Standard"), where its successor, HFS Plus, is also called Mac OS Extended (or “HFS Extended”). With the introduction of OS X 10.6, Apple has dropped support to format or write HFS disks and images, which are only supported as read-only volumes.
3.2 Is HFS+ File System better than HFS?
HFS Plus is an improved version of HFS, supporting much larger files (block addresses are 32-bit length instead of 16-bit), using Unicode (instead of Mac OS Roman or any of several other character sets) for naming the items (files, folders), also uses a full 32-bit allocation mapping table so that disk could support more than 65,536 allocation blocks.
3.3 Can I read HFS/HFS+ volume in Linux?
Linux kernel has HFS read support in linux Kernel 2.6.18 and beyond or additional utilities like hfsplus and hfsutils from the repositories to be installed.
UFSD (Universal File System Driver) General
4.1 What is Paragon UFSD Technology?
UFSD (Universal File System Drivers) is a unique technology specially developed by Paragon Software Group to provide full access (read/write, format, etc.) to volumes of the popular file systems such as NTFS, FAT, Ext2Fs, etc. under various platforms Windows, Linux, etc. in case these file systems are not natively supported.
4.2 What is UFSD SDK?
Universal File System Driver Software Development Kit (UFSD SDK) is intended for development of the Applications providing the following main features:
- Access to unmounted (drive letter is not assigned) partitions;
- Access to file systems including none-supported for DOS and Windows OS family;
- Platform-independent UFSD API.
4.3 The NTFS file system is proprietary technology of Microsoft. Is the NTFS for Linux driver absolutely legal?
It is well known that originally NTFS was very close to the HPFS file system developed by IBM. HPFS was much more OPEN in terms of documentation support, data structure and so on. It helped us to gain a better understanding of its nature, architecture and ideology. The knowledge about NTFS we also have got has already been used for years inside our best-seller product - Paragon Partition Manager. We have sold several million copies of Paragon Partition Manager all over the world. The stability of the products as far as NTFS related operations are concerned says for itself about the stability of the NTFS technology at all. Thus, having a pretty good idea about what the HPFS file system is, we may understand the way NTFS functions.
Applying to the other sources of information like Linux drivers for NTFS (read only drivers) and debugging Windows applications, we've documented NTFS structures from within and finally created the Universal File System Driver.
While developing Paragon NTFS for Linux driver we always stuck to the following rules:
- We never referred to any confidential Microsoft NTFS stuff (docs, codes, etc.) and never applied reverse engineering approach for Microsoft’s binary code.
- Open sources are the only thing we used. E.g. from www.ntfs.com we got the great part of our NTFS knowledge and understanding.
- NTFS as a file system as well as on-disk layout is not patented and not documented.
4.4 What files systems does UFSD support?
UFSD technology provides access to the following file systems:
- NTFS under Windows 98;
- NTFS under DOS;
- NTFS & HFS+ under Linux;
- NTFS & HFS+ under ThreadX;
- NTFS & HFS+ under Windows CE;
- Ext2/3Fs, Reiser under Windows/DOS;
- Ext3/4Fs under MacOSX
- SCO Unix file systems - EAFS and HTFS under Windows.
4.5 How does UFSD work?
UFSD provides access directly to the physical devices that is why it can process partitions regardless of their support by the current OS. With UFSD it is possible to mount NTFS partitions under Linux, thus getting access to its contents, just the way it is realized in the NTFS for Linux driver, and it also allows direct access via physical device addressing, the way it is realized in UFSD SDK.
4.6 What UFSD products does Paragon Software Group provide?
Paragon Software Group provides the following products:
- NTFS & HFS+ for Linux;
- NTFS & HFS+ for Android;
- NTFS for Win98;
- Mount Everything;
- Recovery Tools;
- UFSD SDK;
- NTFS for Mac OS® X;
- HFS for Windows
NTFS for Linux Software
5.1 What is the NTFS&HFS for Linux driver?
Paragon NTFS&HFS for Linux software provides access to NTFS and HFS+ volumes under Linux. Now everyone can access NTFS and HFS+ partitions under Linux in a usual manner. The driver allows mounting NTFS or HFS+ partitions, so that programs can work transparently with these mounted partitions - browse contents, open documents, run applications, work with existing files and create new ones. The NTFS&HFS for Linux driver is a commercial Linux kernel driver for local access to NTFS or HFS+ volumes. It supports full read/write access. Kernel driver means you will have rapid and transparent access like to native file systems. Just mount manually or use automounting feature of the Professional version, and NTFS or HFS+ volumes will be available like any other tree directory.
5.2 What components are included in NTFS&HFS for Linux software?
There are the following components of the NTFS&HFS for Linux software:
- UFSD module – NTFS&HFS+ for Linux Driver;
- Installation/Uninstallation scripts; Additional NTFS utilities:
- CHKNTFS - Check utility;
- MKNTFS - Format utility; Additional HFS utilities:
- MKHFS – Format utility;
- CHKHFS – Check utility.
5.3 Distribution of NTFS&HFS for Linux software
NTFS&HFS for Linux driver may be distributed as:
- TGZ archive providing the libraries and source code required to compile the for customer’s environment (NTFS & HFS+ for Linux Desktop products);
- Binary UFSD module (NTFS & HFS+ for Linux Embedded products).
System Requirements and Performance Issues
6.1 What Linux kernels are supported?
Currently, the product supports Linux Kernels from 2.6.36 (on 2.6 Kernel branch), as well as up to 3.14.x (on 3.x Kernel branch). To keep up with the changes in Linux Kernel, our product is also updated frequently. Thus, this web site may not contain the most up-to-date information. Please contact our OEM licensing team at firstname.lastname@example.org to get the most up-to-date list of supported Linux Kernels. Additional porting activities may be required before the driver can be used on platforms with highly customized Kernels.
6.2 What performance is available for the NTFS access?
The NTFS&HFS for Linux performance is similar to the native NTFS performance and in some cases even better than performance of native Linux file systemsExt2
Data thoughput depends on CPU performance, cache performance (availability of RAM), the flow actual scenario of data writing (size of chunks and order of write operations), number of files written simultaneously, etc. However the major factor is the fragmentation of NTFS volume and files. In case of huge fragmentation performance could drop down significantly, compared to performance on non-fragmented files. Also, regardless of the summary data flow, performance for several simultaneous copy processes is 4-5 times slowly, but it is normal behavior, easily found on any other file system and operating sytem.
For most popular embedded platforms, reference performance data can be provided by request (you can contact us at email@example.com).
6.3 What architectures are supported?
Paragon Software also offers drivers for architectures where Linux was ported to. For example:
- SuperH (SH4);
6.4 What Linux distributions are supported?
The following Linux distributions have been tested in the Paragon test lab:
- Ubuntu 14.04;
- Debian 7.5;
- Fedora 20;
- OpenSuse 13.1;
- CenOS 7.
6.5 Can I access huge NTFS volumes?
There is no limitation to maximum NTFS volume size (but within kernel and NTFS limitations).16 TB (Terabyte) volume was successfully tested.
6.6 Can I access huge files on NTFS and HFS+ volumes?
There is no limitation to maximum file size (but within Kernel and NTFS/HFS+ limitations).
6.7 Can Paragon NTFS&HFS for Linux access volumes on GPT-partitioned disks?
Yes, that is possible, in case host OS can understand GPT partitioning tables.
6.8 Does Paragon NTFS&HFS for Linux support 4 KB sector size?
Yes, 4KB sector size is fully supported.
7.1 Development Environment to install NTFS&HFS for Linux software
A development environment is required to compile Linux drivers and utilities. Please verify these tools are all functional. The easiest way is to choose the developer toolkit when installing Linux.
What must be installed:
- kernel source code (recommended) or header files (doesn’t always work) for the kernel;
#rpm -qa | grep kernel-devel (for RPM based kernel-sources)
- GNU C (gcc) compiler (version 3.3 or higher is required);
- GNU C++ (g++) compiler;
- GNU Make;
- GNU ld (binutils);
- Modutils (module-init tools);
- DKMS library.
7.2 Can I install NTFS&HFS for Linux software to Knoppix?
Yes, you can. To install the software you should have the kernel sources for the Knoppix on which you want to install the drivers and utilities. Usually, you can find the kernel sources for the Knoppix on its DVD version (not CD).
GNU C compiler (gcc) must have the version 3.3 or higher.
The user should login as root to install the drivers and utilities.
Correct operation is not guaranteed for customized Linux kernels.
8.1 Can I create and format a NTFS or HFS+ partition under Linux?
The user can create a partition with a standard Linux fdisk /parted utilities and then format it using the mkntfs or mkhfs utilities.
# parted /dev/sdb and follow the instructions to create a partition.
To format in NTFS partition:
# mkntfs -v:MyLabel -g:255:63 /dev/sdb1 - to format the /dev/sdb1 volume.
To format in HFS+ partition:
# mkhfs -v:MyLabel /dev/sdb1 - to format the /dev/sdb1 volume.
8.2 Can I mount NTFS/HFS+ volumes with non-english filenames?
If a partition to be mounted contains files or directories which names have non-English characters, please use the -nls option: "mount -t ufsd /dev/ /mnt/ -o nls= ". For example, "mount -t ufsd /dev/sda2 /mnt/ntfs -o nls=utf8" (run in a Linux console as root or place it into the /etc/fstab file).
8.3 Can I share a NTFS partition via Samba, FTP,…?
The NTFS&HFS for Linux driver enables to work with shared NTFS partitions and its folders. It is not prohibited to process unlimited number of connections simultaneously.
Note: Parameters of the mount command must allow Samba, FTP,… server to get access to the mounted NTFS partition.
8.4 Can I access several NTFS partitions simultaneously?
Yes, it is possible to mount and access several (up to 12 were tested) NTFS partitions simultaneously.
8.5 Can I change the permissions of a mounted NTFS volume?
Since there is no way to map Windows accounts into Linux users, permissions for files and directories are set when a NTFS partition is mounted (similar to the FAT file system, which do not store any information about access rights at all). These permissions are controlled by the following mount options:
This behavior is different in Embedded and Desktop Products – see Implementation Gude or User manual respectively.
8.6 How to mount a NTFS volume with full access rights (for all users)?
Just mount the NTFS partition using the following command:
# mount -t ufsd -o fmask=000,dmask=000 /dev/hdb1 /mnt/ntfs
8.7 Can I mount an NTFS volumes automatically?
You can enable automatic mounting of NTFS/HFS+ volumes by adding lines to /etc/fstab (filesystem table) file or use the Paragon NTFS&HFS for Linux Professional version, which will add settings for automounting of NTFS/HFS+ volumes with the UFSD driver into your Linux system during installation.
OEM / Professional FAQ
9.1 Can I customize NTFS&HFS for Linux for non-standard hardware platform?
The architecture of the NTFS for Linux driver allows porting it to any hardware platform present on the present-day market. Paragon Software Group has a unique experience in customizing the NTFS for Linux driver for various platforms.
9.2 Can I access a NTFS partition from my application?
To get access to an NTFS partition from your application you should use Paragon NTFS driver for the host operating system that the application runs on, or Paragon UFSD SDK.
9.3 What should we provide to Paragon so that we may get the driver for our specific device/environment (not the generic x86, x86_64 version of the driver)?
We need the following package to port our driver into your specific device (NAS, media device,…):
- A HW sample with access to root console (either COM port, Telnet or SSH);
- Kernel Source for which we need to compile the driver, so that we may could build the same kernel image you use into your device;
- Kernel_config and makefile file for your customized kernel;
- C and C++ cross-compilers (GNU gcc) to be able to compile our driver from our sources;
- C and C++ cross-compilers (GNU gcc) to be able to compile user-space applications (mk*fs, chk*fs utilities) from our sources;
- Toolchain (if it exists).
We need the following package to build our driver for your specific environment:
- Your Linux distribution (nice to have);
- Kernel Source for which we need to compile the driver;
- Kernel_ config file and makefile file for your customized kernel;
- Compiler you used to compile your customized kernel.