Paragon NTFS&HFS+ For Linux 9.4 NTFS Operating Instructions Hfs 9 4 En
User Manual: paragon NTFS for Linux - 9.4 - Operating Instructions Free User Guide for Paragon NTFS for Linux Software, Manual
Open the PDF directly: View PDF .
Page Count: 50
- Introduction
- System requirements
- Installation
- Using The Driver
- Mount options
- Additional Utilities
- Troubleshooting
- Troubleshooting processes
- Mount toubleshooting
- The install.sh script can’t find kernel sources
- Can’t compile the NTFS/HFS+ for Linux driver
- “Can’t load module” message at the end of installation
- ufsd Module: kernel-module version mismatch
- ufsd Module: create_module: operation is not permitted
- insmod: a module named as ufsd already exists
- insmod: Unknown symbol jnl_op (err 0)
- I can’t mount NTFS/HFS+ volume
- Collecting logs using release build of the driver user
- Sysdump utility
- UFSD driver compatibility
- Frequently Asked Questions
- What are 'minor errors' reported by chkntfs utility?
- Warnings on Windows7/Vista when NTFS HDD is reconnected from Linux
- Recently changed file has its modification time a few hours ahead of or behind the current system time. Why?
- Why does mount option A make driver ignore mount option B?
- Why a lot of memory is used for volume mounting?
- Why the disk can't be dismounted?
USER MANUAL
© 2016 Paragon Software Group
Paragon NTFS&HFS+
for Linux 9.4
User Manual
Generated 6/2/2016
PARAGON SOFTWARE
Paragon NTFS&HFS+ for Linux 9.4
User Guide
This document covers implementation of NTFS and HFS+ file
systems support in Linux operating systems using Paragon NTFS
and HFS+ file system drivers. Basic installation procedures are
described. Detailed mount options description is given. File
system creation (formatting) and checking utilities are described.
List of supported NTFS/HFS+ features is given with limitations
imposed by Linux. There are also advanced troubleshooting
section.
Abstract
USER MANUAL
All rights reserved. No parts of this work may be reproduced in any form or by any means -
graphic, electronic, or mechanical, including photocopying, recording, taping, or information
storage and retrieval systems - without the written permission of the publisher.
Products that are referred to in this document may be either trademarks and/or registered
trademarks of the respective owners. The publisher and the author make no claim to these
trademarks.
While every precaution has been taken in the preparation of this document, the publisher and
the author assume no responsibility for errors or omissions, or for damages resulting from the
use of information contained in this document or from the use of programs and source code
that may accompany it. In no event shall the publisher and the author be liable for any loss of
profit or any other commercial damage caused or alleged to have been caused directly or
indirectly by this document.
Printed: June 2016 in Freiburg, Germany.
Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
Special thanks to:
All the people who contributed to this document,
either by writing text, developing solutions to
various issues, performing tests, collecting
information or by requested support from our
team. To our customers who continue to support
us and help us to improve the product by
constantly demanding more.
We welcome your feedback
Please send your feedback to
User Guide
sales@paragon-software.com
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
or use your User account with
Paragon Software.
PARAGON SOFTWARE
Paragon NTFS&HFS+ for Linux 9.4I
© 2016 Paragon Software Group
Table of Contents
Part I Introduction 2
......................................................................................................................... 21 Historical review
......................................................................................................................... 22 Paragon UFSD technology
......................................................................................................................... 33 How UFSD works on Linux
......................................................................................................................... 34 Key Features
Part II System requirements 6
......................................................................................................................... 61 Hardware requirements
......................................................................................................................... 62 Software requirements
Part III Installation 9
......................................................................................................................... 91 Shipment
......................................................................................................................... 92 Components
......................................................................................................................... 93 Installing the Drivers
......................................................................................................................... 114 Uninstalling the Drivers
Part IV Using The Driver 14
......................................................................................................................... 141 Getting started
......................................................................................................................... 142 Mounting NTFS/HFS+ Partitions
......................................................................................................................... 143 Dirty flag issues
......................................................................................................................... 154 GPT issues
......................................................................................................................... 165 Issues with large HDDs
......................................................................................................................... 166 Unmounting NTFS/HFS+ Partitions
......................................................................................................................... 16
7 Choosing the codepage/charset for NTFS/HFS+
Partitions
Part V Mount options 19
......................................................................................................................... 191 Mount options
Part VI Additional Utilities 23
......................................................................................................................... 231 NTFS utilities
.................................................................................................................23mkntfs
.................................................................................................................24chkntfs
......................................................................................................................... 252 HFS+ utilities
.................................................................................................................25mkhtfs
.................................................................................................................26chkhfs
Part VII Troubleshooting 29
USER MANUAL
II
Contents
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
......................................................................................................................... 291 Troubleshooting processes
......................................................................................................................... 302 Mount toubleshooting
......................................................................................................................... 303 The install.sh script can’t find kernel sources
......................................................................................................................... 314 Can’t compile the NTFS/HFS+ for Linux driver
......................................................................................................................... 31
5 “Can’t load module” message at the end of
installation
......................................................................................................................... 316 ufsd Module: kernel-module version mismatch
......................................................................................................................... 32
7 ufsd Module: create_module: operation is not
permitted
......................................................................................................................... 328 insmod: a module named as ufsd already exists
......................................................................................................................... 329 insmod: Unknown symbol jnl_op (err 0)
......................................................................................................................... 3210 I can’t mount NTFS/HFS+ volume
......................................................................................................................... 3211 Collecting logs using release build of the driver user
......................................................................................................................... 3412 Sysdump utility
Part VIII UFSD driver compatibility 38
......................................................................................................................... 381 NTFS features
......................................................................................................................... 382 HFS+ features
Part IX Frequently Asked Questions 40
......................................................................................................................... 401 What are 'minor errors' reported by chkntfs utility?
......................................................................................................................... 41
2 Warnings on Windows7/Vista when NTFS HDD is
reconnected from Linux
......................................................................................................................... 43
3 Recently changed file has its modification time a few
hours ahead of or behind the current system time.
Why?
......................................................................................................................... 44
4 Why does mount option A make driver ignore mount
option B?
......................................................................................................................... 445 Why a lot of memory is used for volume mounting?
......................................................................................................................... 446 Why the disk can't be dismounted?
PARAGON SOFTWARE
Part I
Introduction
USER MANUAL
2Introduction
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
1.1 Historical review
Historically, different operating systems supported different file systems. Sharing files among
different platforms was not an easy task. For instance, documents that were created in
Windows and are stored on NTFS partitions may be inaccessible under Linux, because Linux
does not include full support for NTFS. For example, open-source NTFS-3G NTFS driver
does not support random write access to compressed files.
Paragon NTFS&HFS+ driver for Linux solves these problems — now everyone can access
NTFS and HFS+ partitions from Linux in a usual manner with maximum performance and
reliability. The driver allows mounting NTFS and HFS+ partitions, so that programs may work
transparently with these mounted partitions — browse contents, open documents, run
applications, work with existing files (delete/copy/modify) and create new ones.
Paragon combined NTFS&HFS+ driver for Linux is commercial Linux driver for local access to
NTFS and HFS+ volumes. It supports full read/write access. The driver is a Kernel module,
which guarantees rapid and transparent access to supported file systems. Mount volumes
manually or insert into fstab, and NTFS/HFS+ partitions will be available like any other
directory tree.
Paragon NTFS&HFS+ for Linux Professional also includes useful additional utilities that
provide the ability to check integrity and create NTFS/HFS+ volumes.
1.2 Paragon UFSD technology
UFSD (Universal File System Driver) is an unique technology developed by Paragon Software
to provide full access (read/write, format, etc.) to volumes of the popular file systems: NTFS,
FAT, Ext2Fs, Ext3Fs, HFS+ etc. under various platforms, including Windows, Linux, Mac OS
X, etc. in case these file systems are not otherwise supported.
UFSD technology provides access directly to the physical devices that is why it can process
partitions regardless of their support by the current Operating System (OS). With UFSD it is
possible to mount NTFS and HFS+ partitions under Linux, thus getting access to its contents,
just the way it is implemented in the NTFS&HFS+ for Linux driver, and the technology also
allows direct access via physical device addressing, the way it is implemented in the driver
too.
Paragon UFSDs are designed to be readily integrated into any solution using our UFSD
Software Development Kit (UFSD SDK), which includes all of the necessary tools to develop
applications with the following main features:
Access to un-mounted partitions (i.e. drive letter not assigned);
Access to other file systems that normally would not be supported by the operating system;
Platform-independent UFSD API.
Note: NTFS and HFS+ drivers for Linux as well as utilities were written using UFSD SDK.
PARAGON SOFTWARE
3 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
1.3 How UFSD works on Linux
Modern operating systems are based on the concept of Installable File System drivers (IFS).
User simply needs to provide an operating system with the proper file system driver to work
with the file system in usual manner. Paragon NTFS&HFS+ for Linux includes NTFS and
HFS+ drivers for Linux environment. Once appropriate components of Paragon NTFS&HFS+
for Linux are installed, the operating system can mount these file systems and work with
directories/files stored on the file systems.
1.4 Key Features
Paragon NTFS&HFS+ for Linux 9.4 is released in the Express and Professional Editions. All of
the products share the following features:
Transparent read-write access to NTFS and HFS+ volumes — single Kernel module
provides support both NTFS and HFS+ file systems
High performance (in some cases even better than Ext4 FS);
Easy installation and uninstallation (assistant scripts);
Support for the latest Linux Kernels and distributions;
Support for SMP kernels;
Support for iSCSI and SSD storages;
File sharing over network via SAMBA;
Low CPU load during data transfers;
Unlimited file and volume size (within NTFS/HFS+ and Kernel limitations).
What's new in Paragon NTFS&HFS+ for Linux 9.4:
Support for Linux Kernel versions from 2.6.36 up to 4.4.x;
Improved NTFS file systems support (including compatibility with Windows 10 NTFS);
Improved HFS+ support (including compatibility with OS X El Capitan HFS+);
Improved support for very large volumes (16+TB);
Improved TRIM/discard support for SSD storages.
NTFS-specific features:
NTFS versions 1.2, 3.0 and 3.1 (Windows NT 4.0, 2000, XP, 2003, Vista, 7, Windows 8.1,
Windows 10);
Support for compressed files (random access for reading and writing with no limitations);
Sparse files support.
HFS+ specific features:
Both case sensitive and case instensitive types of HFS+ file system are supported;
USER MANUAL
4Introduction
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
During file copy operation (using cp command) on Linux only ‘data’ fork is copied;
Support replay native HFS+ journal.
NTFS compatibility information:
File system version
Comments
NTFS version 1.2
Originates from Microsoft Windows NT 4.0
NTFS version 3.0
Originates from Microsoft Windows 2000
NTFS version 3.1
Originates from Microsoft Windows XP/2003/
Vista/7/8.1 and 10
Additional features of the Professional Edition:
Full support of the native HFS+ journal;
Automatic driver rebuilt for newer supported Kernels (support for the DKMS library);
Automatic NTFS/HFS+ volume mounting;
Additional NTFS utilities:
-mkntfs utility - format any partition as NTFS under Linux;
-chkntfs utility - check NTFS partition integrity and fix errors;
Additional HFS+ utilities:
-mkhtfs utility- format any partition as HFS+ under Linux;
-chkhfs utility - check HFS+ partition for integrity and fix errors;
Debug utility:
-Sysdump utility - debug utility for collecting volume metadata image and debug system
information.
23
24
25
26
34
PARAGON SOFTWARE
Part II
System
requirements
USER MANUAL
6System requirements
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
This topic highlights requirements to hardware and software that may be used to run Paragon
NTFS&HFS+ for Linux driver.
2.1 Hardware requirements
Minimum hardware requirements:
Processor: Intel Pentium 300 MHz and higher, or compatible;
both 32- and 64-bit CPUs are supported.
16MB of RAM.
Due to unique technology our NTFS&HFS+ for Linux drivers have low system requirements.
For example, it is enough for our driver to have 650KB of free RAM to work with NTFS
partitions larger than 250 GB. NTFS&HFS+ Kernel modules occupy around 800 Kb of RAM.
Real-life values
200 Kb maximum while executing 5 commands like dd if=/dev/zero of=/mnt/sda1/test
bs=1M count=1000& in background.
516 Kb maximum while executing rsync -r /home /mnt/sda1 command.
17 Mb maximum while compiling bench test on Desktop Linux system in virtual environment
using NTFS file system: a file-tree with a size about 220 Mb was created and patched,
simulating Linux Kernel installation process.
RAM consumption depends first of all on whole amount of memory available in the system. If it
is low then the driver wouldn't keep a lot of descriptors opened to keep the memory usage at
minimum.
2.2 Software requirements
Supported Linux kernels:
Linux with kernel versions 2.6.36 and newer;
Linux with kernel versions up to 4.4.x (NTFS&HFS+ driver was tested with Kernels up to
4.4.9).
Linux distributions the products were tested with:
Ubuntu 16.04;
Debian 8.4;
Fedora 23;
CenOS 7;
OpenSuse 42.1.
Development Environment
PARAGON SOFTWARE
7 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
A development environment is required to compile Linux drivers and utilities. Please verify that
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 Kernel header files (doesn’t always work);
#rpm -qa|grep kernel-devel (for RPM based kernel-sources)
GNU C compiler (GCC);
#gcc --version
GNU C++ compiler (g++) — for Professional version only;
#g++ --version
GNU Glibc-static libraries — recommended for Professional version;
GNU Make;
#make --version
GNU ld (binutils);
#ld --version
Modutils (module-init tools);
#insmod -V
DKMS library — for Professional version only.
#dkms --version
Limitations
GNU C compiler (gcc) version 3.3 or higher is required.
The user should login as root to install the drivers and utilities.
Correct operation is not guaranteed for customized Linux kernels. Commercial porting
service to customized Linux kernels is available from Paragon Software Group — for more
information send e-mail to sales@paragon-software.com).
USER MANUAL
Part III
Installation
PARAGON SOFTWARE
9 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
This section describes workflows related to installing and using Paragon NTFS&HFS+ for
Linux driver.
3.1 Shipment
The setup files for each product of the family are provided as the downloadable TGZ archives,
which can be downloaded from the company site.
3.2 Components
The package includes the following components:
Source files for the NTFS&HFS+ for Linux driver;
Assistant script files, which are purposed to simplify the installation and uninstallation
routines;
Source files for additional utilities (for Professional edition only);
Source files for DKMS library support (for Professional edition only);
Source files for automatic mounting integration (for Professional edition only).
Paragon NTFS&HFS+ Linux driver and utilities must be compiled on the end user’s system for
correct configuration. By installing the software you accept the terms of End User License
Agreement listed in License file.
3.3 Installing the Drivers
First, NTFS&HFS+ driver must be built and installed.
Steps to install the NTFS&HFS+ for Linux driver are as follows:
1. Log in as root. This step is obligatory;
2. Build and install the NTFS & HFS+ driver using install.sh script. Alternatively, driver
binary module may be built manually using 'configure' 'make driver' commands.
3. Install the NTFS & HFS+ driver (this step will make the modules available for use);
4. Activating (loading) the driver. After building and installing, the NTFS & HFS+ driver can be
referenced as “universal file system driver” (ufsd) when mounting NTFS and HFS+
partitions.
The steps 1-3 should be made only once while the step 4 is the standard way of using file
system drivers in Linux environment.
NTFS & HFS+ for Linux include a set of assistant script files for the simplification of building,
installing and uninstalling procedures. Note that these assistant scripts may fail to work in
customized Linux configurations or unsupported Linux distributions.
Use install.sh and uninstall.sh script files to install and uninstall (correspondingly)
NTFS & HFS+ driver and utilities. The sections below describe the installation procedure in
details.
USER MANUAL
10Installation
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
Unpacking Setup Files
The setup files of the Linux-based version of the NTFS & HFS+ for Linux are provided in the
form of a gzip archive. The archive should be copied to the hard disk and decompressed.
For example:
For the NTFS & HFS+ for Linux driver and utilities:
create separate folder
# mkdir /usr/tmp/ufsd
change the current directory to the new one
# cd /usr/tmp/ufsd
use tar utility to unpack initial archive
# tar -xf /path/to/the/initial/archive/ufsd_*.tar.gz
Next step is to build and install the NTFS & HFS+ for Linux driver..
Using the INSTALL.SH Assistant Script
The assistant script "install.sh" provides the extremely easy and flexible way to make the
NTFS & HFS+ for Linux and install driver module in the system. Additionally, the script can
reconfigure OS so that driver module is automatically rebuilt for another supported Kernel
version (Professional edition only) and NTFS/HFS+ volumes are automatically mounted with
the UFSD driver (Professional edition only).
Please note that development tools and kernel sources are required to present on the system
and stay in the default locations to build and install the drivers.
Installation
Just run the install.sh script with root privileges:
# ./install.sh or $ sudo ./install.sh
The assistant script will automatically perform the following actions:
1) Detect the Linux Kernel version;
2) Find kernel header files and libraries needed for building the drivers;
3) Add service for rebuilding driver module for supported Kernels via the DKMS library
(Professional edition only).
4) Build driver binary modules (jnl.ko and ufsd.ko);
5) Install the driver;
6) Add automatic mounting settings for NTFS/HFS+ volumes (Professional edition only);
7) Build and install additional utilities (Professional edition only);
PARAGON SOFTWARE
11 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
INSTALL.SH default mode for the NTFS&HFS+ for Linux driver
The assistant script install.sh always names the NTFS&HFS+ for Linux driver module
as ufsd (it is the abbreviation of the project name Universal File System Driver);
Now you can mount any NTFS/HFS+ partition: # mount -t ufsd <device>
<mount_point>.
3.4 Uninstalling the Drivers
To completely remove the drivers and the utilities from the current Kernel, one should
dismount all NTFS/HFS+ partitions mounted with the driver, uninstall the drivers and unload
binary modules from the Kernel.
NTFS&HFS+ for Linux provides tools for the drivers/utilities uninstall automation.
The assistant script uninstall.sh completely removes the drivers/utilities from the system.
Using the UNINSTALL.SH Assistant Script
The assistant script uninstall.sh provides the extremely easy and flexible way to deactivate
and remove the drivers and utilities from the system. The script performs the correct
deactivation, uninstallation and the complete removing of the driver’s and utilities’ files.
Uninstalling
Unmount all currently mounted NTFS and/or HFS+ partitions and then run the 'uninstall.sh'
script:
# ./uninstall.sh
USER MANUAL
12Installation
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
The assistant script will automatically perform the following actions:
1. Deactivate the driver modules. If the drivers is still in use, the further script execution is
aborted;
2. Uninstall the drivers;
3. Remove all binary and source files of the driver
4. Uninstall utilities (for Professional version only).
PARAGON SOFTWARE
Part IV
Using The Driver
USER MANUAL
14Using The Driver
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
After building and installing the NTFS&HFS+ for Linux driver, it can be automatically loaded at
the system startup. The driver allows to mount supported partitions and provides access to
their whole contents.
4.1 Getting started
The goal of this section is to help quickly find out how to use the product. It describes general
approach to mounting partitions using UFSD file system driver and helps to avoid common
issues. We strongly recommend reading this section before starting using our driver.
To mount volume using UFSD driver, standard mount command is used, with File System (FS)
type set to ufsd, e.g.:
/ # mount –t ufsd /dev/sda1 /mnt/sda1
After this command is executed there can be several mount scenarios for a disk (for more
information see Mount toubleshooting subsection):
The disk is “clean” (without any errors), mounted by the driver and ready to use.
Disk can’t be mounted. In this case can be several scenarios:
1. Disk has “dirty” flag set (for more information see Dirty flag issues subsection):
Use chkntfs/chkhfs utilities with –a –f options to check the volume for errors and
inconsistencies and fix them (if any). This is recommended approach (see chkntfs or
chkhfs subsections);
Use ‘force’ mount option (see Dirty flag issues subsection).
2. The disk is a GPT-partitioned disk – check GPT issues subsection for more
information.
3. Follow other steps on the Mount toubleshooting diagram to find the cause of the
issue.
Analyze returned status and check output of (dmesg | tail). In case of failure, follow the
Mount toubleshooting diagram to find possible causes and and try to mount the partition
again using the same or different mount options, if needed (see Mount options subsection).
If there is still a problem mounting the partition fill out Paragon's online request form from your
user account so we could help you with the issue.
4.2 Mounting NTFS/HFS+ Partitions
To gain access to a NTFS/HFS+ partition, use standard mount command with a file system
type set to ufsd. For example:
mount –t ufsd /dev/sdb1 /mnt/ntfs
4.3 Dirty flag issues
‘Dirty’ flag is special feature implemented in most of the modern file systems, including NTFS
and HFS+. This flag is set after volume is mounted in read/write mode and cleared after
volume is correctly unmounted (see notes on 'force' mount option for more information).
30
26
15
30
30
19
PARAGON SOFTWARE
15 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
Without ‘dirty’ flag it is impossible to tell if given volume was correctly unmounted or not.
Detecting incorrectly unmounted volumes helps to detect possible errors as early as possible.
Thus, this flag helps to preserve file system consistency. Please note that even in case ‘dirty’
flag is set on the volume, file system is not necessarily corrupt.
Paragon NTFS&HFS+ for Linux drivers version 8 and newer support ‘dirty’ flag on both NTFS
and HFS+. By default, driver refuses to mount volumes with ‘dirty’ flag set. Recommended
course of action is to check the volume for errors and repair any inconsistencies found using
chkntfs/chkhfs utility with -a -f command line options (see Additional Utilities section). Run
with -a command line option, the utilities check dirty flag state and in case it is set, they
performs all necessary checks. If ‘dirty’ flag is not set, file system checking utilities exits
immediately. If -f command line option is specified, the utilities repair any errors or
inconsistencies that they find and finally clear ‘dirty’ flag. This approach is similar to the way
Windows and MacOS handle ‘dirty’ volumes. See corresponding sections on NTFS and HFS+
utilities and ‘File system checking utilities return codes' section for more information.
To make driver mount dirty volumes without checking for possible errors and correcting them,
‘force’ mount option can be used (while it is not recommended). This way, ‘dirty’ flag is not
cleared and any possibly existing errors or inconsistencies are not fixed. ‘Dirty’ flag will remain
set until volume is checked for errors using Paragon chkntfs/chkhfs with -f command line
option or using Windows chkdsk utility with /f switch or MacOS Disk Utility (for NTFS and
HFS+ volumes, respectively).
4.4 GPT issues
Some Linux Kernels do not behave correctly when there is EFI partition on GPT-partitioned
devices. This is most often the case with HDDs partitioned using MacOS Disk Utility.
This leads to seemingly wrong operation of UFSD driver(s) that refuse to mount partition. In
that case FDISK may report that there is only one EFI partition on the device, ignoring some or
all of the following NTFS and/or HFS+ partition(s). To work around the issue, attention must
be paid to volume type reported by fdisk –l command on GUID-partitioned disks.
Example:
/ # fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 9730 78150743+ ee EFI GPT
fdisk reports that /dev/sda only contains single EFI partition that spans via entire disk. EFI
partitions are formatted as FAT32 and therefore cannot be mounted by NTFS/HFS+ driver(s).
Nevertheless, mounting partition /dev/sda2 to /mnt/hda succeedes:
/ # mount –t ufsd /dev/sda2 /mnt/hda
And after that mount command issued without arguments lists, among others, mounted
partition /dev/sda2 that was not listed by fdisk –l (marked with red below).
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
23
USER MANUAL
16Using The Driver
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
none on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
none on /sys type sysfs (rw)
none on /tmp type ramfs (rw)
/dev/mtdblock/2 on /usr/local/etc type yaffs (rw,noatime)
/dev/rd/0 on /mnt/rd type vfat
(rw,nodiratime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
/dev/sda2 on /mnt/hda type ufsd
(rw,nodiratime,nls=iso8859-1,uid=0,gid=0,fmask=22,dmask=22,nocase)
/dev/scsi/host2/bus0/target0/lun0/part1 on /tmp/usbmounts/sdb1 type ufsd
(ro,nodiratime,nls=utf8,uid=0,gid=0,fmask=0,dmask=0)
Older Linux kernels do not support GPT at all. To work around this issue, Paragon
NTFS&HFS+ driver for Linux can read and parse GUID partitioning table and use it to mount
the first HFS+ partition on that disk. To mount the first HFS+ volume on GPT disk the
following command may be used:
/ # mount –t ufsd /dev/sda /mnt/hda
Please note that entire disk device is specified instead of specific partition. This approach may
only be used to mount the first HFS+ volume on GPT disks.
4.5 Issues with large HDDs
Though our driver supports partitions larger than 2 Tb (tested on 20 Tb partitions on real
hardware and on 25 Tb partitions in virtual environment), not all versions of Linux Kernels
support block devices larger than 2 Tb on all possible interfaces. E.g. Ubuntu 10.04 does not
support 2.5 Tb SATA HDD attached via USB->SATA converter, while the same HDD with the
same converter is mounted OK on Windows 7 and the same HDD connected to Ubuntu 10.04
via SATA interface can be mounted and used successfully.
If there is similar issue, please perform the test cases described above to make sure where the
root cause of the issue is (in Paragon's driver or in Linux Kernel).
4.6 Unmounting NTFS/HFS+ Partitions
To unmount a NTFS/HFS+ partition, use the standard command umount. For example:
umount /dev/sdb1
4.7 Choosing the codepage/charset for NTFS/HFS+ Partitions
The format of filenames on NTFS/HFS+ partitions differs from text standard presentation used
in Linux. To accommodate NTFS/HFS+ standards to Linux ones, character translation is
required. The character translation uses charset or codepage information for correct
translation non-English characters between NTFS/HFS+ and Linux.
Unfortunately Linux is unable to automatically detect NTFS/HFS+ codepage/charset/nls
settings. For this reason, the user must assign character set for filenames translation
manually.
The standard Linux command mount allows choosing the character set that is used for the
PARAGON SOFTWARE
17 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
filenames translation, the codepage/charset/nls parameter is used for this purpose.
Examples:
1. Mounting a partition:
mkdir /mnt/test
mount -t ufsd /dev/sda6 /mnt/test
2. Dismounting a partition:
umount /mnt/test
3. Mounting partition in read-only mode:
mount -t ufsd -o ro /dev/sda6 /mnt/test
4. Choosing character set to be used with NTFS/HFS+ when mounting partitions manually:
mount -t ufsd -o nls=utf8 /dev/sdb1 /mnt/test
For more information on mount options please refer to the Mount options sub-section.
19
USER MANUAL
Part V
Mount options
PARAGON SOFTWARE
19 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
This section describes mount options for mounting supported file system partitions.
5.1 Mount options
SYNOPSYS
mount –t ufsd [-o options] device mount_point
Option
NT
FS
HF
S+
Expected behavior and examples
iocharset
or
nls
+
+
-o iocharset={NAME1}[,iocharset={NAME2}]
-o nls={NAME1}[,nls={NAME2}]
The NTFS/HFS+ file systems store all file/directory names in
Unicode format (UTF-16), which can represent any character from
any language. In case none of these options is set, the default
codepage will be used (CONFIG_NLS_DEFAULT). If none of the
specified codepages exist on the system, the default codepage will
be used again. This option informs the driver how to interpret path
strings and translate them to Unicode and back. Up to 8 different
code pages can be specified. The driver tries to use the codepages
from specified list in order until it manages to translate all the
characters in the string. If none of the specified codepages allows to
translate all the characters, Kernel’s default codepages is used.
Note:
Paragon driver uses extended UTF-8 for Unicode number
U+10000 characters support when ‘=utf8’ is specified.
Codepage, nls and iocharset mount option must be used in the
form: nls=cp... iocharset=cp...
Example:
nls=utf8
nocase
+
-o nocase
All file and directory operations (open, find, rename) are case
insensitive. Casing is preserved in the names of existing files and
directories.
showmeta
+
+
-o showmeta
Use this parameter to show all meta-files (System Files) on a
mounted NTFS/HFS+ partition. By default, all meta-files are hidden.
noatime
+
+
-o noatime
All files and directories will not update their last access time attribute
if a NTFS/HFS+ partition is mounted with this parameter. This option
can speed up file system operation.
uid
+
+
-o uid={USERID}
By default all files on a mounted NTFS/HFS+ volume are owned by
USER MANUAL
20Mount options
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
Option
NT
FS
HF
S+
Expected behavior and examples
root. By specifying the uid parameter you can set an owner of files.
The userid can be any name from /etc/passwd, or any number
representing a user id.
gid
+
+
-o gid={GROUPID}
By default all files on a mounted NTFS/HFS+ volume are owned by
group root. By specifying the gid parameter you can set a owner
group of the files. The groupid can be any name from /etc/group, or
any number representing a group id.
umask
+
+
-o umask={VALUE}
The default permissions given to a mounted NTFS/HFS+ volume are
rwx------ (for security reasons). The umask option controls these
permissions for files/directories created after the volume is mounted.
mount –t ufsd /dev/hda1 /mnt/ntfs_0 –o umask=0222
fmask
dmask
+
+
-o fmask={VALUE}
-o dmask={VALUE}
umask option changes the permissions for new created files and
directories; fmask is applied to files; dmask to directories that already
exist on a mounted volume. The effect of these options can be
combined. To mount Samba, FTP or NFS shares the combination of
umask=000,fmask=000,dmask=000 is usually specified.
ro
+
+
To mount an NTFS/HFS+ volume in read-only mode.
bestcompr
+
Instructs the driver to use highest compression level when writing
compressed files. High CPU-load.
nobuf
+
+
Disables buffered read/write operations for metadata and directories.
Useful option for embedded device with little memory (<64MB).
Note: this option is not supported on driver versions 8.2 and higher
sparse
+
Create new files as “sparse”. This feature allows creating holes
inside new created files (avoids filling unwritten space with zeroes).
This option is not recommended in case NTFS partition is used for
BitTorrent downloads.
force
+
+
Not recommended for use.
Forces the driver to mount partitions even if ‘dirty’ flag (volume dirty)
is set. It is recommended to use Paragon or OS-specific file system
checking utility before mounting ‘dirty’ partitions to reset the ’dirty’
flag.
Note that if ‘dirty’ volume was mounted with ‘force’ mount option, dirty
flag will not be cleared when volume is unmounted using umount
command.
nohidden
+
Files with the Windows-specific HIDDEN attribute will not be shown
under Linux.
PARAGON SOFTWARE
21 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
Option
NT
FS
HF
S+
Expected behavior and examples
sys_immutabl
e
+
Files with the Windows-specific SYSTEM attribute will be marked as
system immutable files.
acl
acl={1|0}
+
+
Support POSIX ACLs (Access Control Lists). Effective if supported by
Kernel. Not to be confused with NTFS ACLs
The option specified as acl or acl=1 enables support for POSIX
ACLs; acl=0 disables it.
user_xattr
user_xattr=
{1|0}
+
+
Support user.* extended attributes. Effective if supported by Kernel.
The options specified as user_xattr or user_xattr=1 enables
support for user.* extended attrubutes; user_xattr=0 disables it.
discard
+
+
Discard is the mount option in the UFSD driver, which is
recommended for use with the solid-state drives (SSD) to enable
support of the TRIM command for improved performance on delete
operations..
USER MANUAL
Part VI
Additional Utilities
PARAGON SOFTWARE
23 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
Additional utilities for Paragon NTFS&HFS+ for Linux provide the ability to check integrity and
create NTFS/HFS+ volumes on block devices from your Linux OS. Additional utilities for
Paragon NTFS&HFS+ for Linux were developed with Paragon UFSD SDK.
6.1 NTFS utilities
There are 2 basic utilities for NTFS file system:
mkntfs — format any partition as NTFS under Linux;
chkntfs — check NTFS partition for integrity and (optionally) fix errors;
6.1.1 mkntfs
MKNTFS utility creates NTFS volumes (1.2, 3.0, 3.1 (Windows NT 4.0/2000/XP/2003/
Vista/7/8.1/10) file system) on user specified (block) device (disk partition) under Linux OS.
Synopsis
mkntfs [options] device
E.g.: mkntfs -f /dev/sdb1
Options
-v:label
Specify volume label.
-c
Files created on the new volume will be compressed by
default.
-a:size
Override the default allocation unit size. Default settings are
strongly recommended for general use. NTFS supports 512,
1024, 2048, 4096, 8192, 16K, 32K, 64K. File compression is
not supported for allocation unit size above 4096.
-b:size
Override the default block (sector) size. Default settings are
strongly recommended for general use. One can use 512,
1024, 2048, 4096.
-m:size
Override default MFT record size. Default settings are
strongly recommended for general use. One can use 512,
1024, 2048, 4096.
-j:size
Set journal size for Paragon journal on NTFS volume.
Supported sizes: from 1MB to 512MB. By default Paragon
journal for NTFS is disabled.
-f
Force the format without confirmation.
-s:start
Specify “hidden” sectors in the boot area.
-g:tracks:sectors
Specify disk geometry that should be written in the boot
area.
tracks
specifies number of tracks per disk side.
23
24
USER MANUAL
24Additional Utilities
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
sectors
specifies number of sectors per track.
The most popular geometries are:
NORMAL: 63 sectors per track and 15(16) tracks per
cylinder.
LBA: 63 sectors per track and 255 tracks per cylinder.
Generally Windows uses the LBA geometry (-g:255:63). If
–g is not specified, the utility obtains geometry from OS.
-winxp
Create NTFS compatible with Windows XP (default)
-winvista
Create NTFS compatible with Windows Vista
-win7
Create NTFS compatible with Windows 7
--help
Display this help.
--trace
Turn on UFSD trace.
--verbose
Explain what is being done.
--nopercents
Do not print percents during format process.
--version
Show the version and exit.
Description
mkntfs is a standalone utility that allows to format NTFS partitions under Linux. It is used to
create a NTFS 1.2, 3.0, 3.1 (Windows NT 4.0/2000/XP/2003/Vista/7/8.1/10) file system on a
device (usually a disk partition).
Note: mkntfs doesn’t change the MBR (Master Boot Record) when formatting a partition.
Therefore, most of Linux commands (like fdisk -l) will be unable to determine that partition’s
files system was changed to NTFS.
6.1.2 chkntfs
CHKNTFS utility performs consistency checking of NTFS volumes and (optionally) fixes
errors.
Synopsis
chkntfs [options] device
E.g.: chkntfs -f /dev/sdb1
Options
-fs:ntfs
Treat target volume as NTFS (parameter set by default if
chkntfs utility used)
-fs:hfs
Treat target volume as HFS+ (parameter set by default if
chkhfs utility used)
-f
Fix errors on the disk.
-a
Perform checks only if ‘dirty’ flag is set.
PARAGON SOFTWARE
25 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
-b:size
Override default block (sector) size). Usage of default
settings are strongly recommended. The '-b' parameter can
use following values: 512, 1024, 2048, 4096.
-m:size
Set a limit for memory usage during file system check. Usage
of this parameter may lower file system check performance.
-h
Display this help.
-m:size
Memory limit used by the utility
--short
Minimum file system check
--safe
Errors are not fixed, dirty flag is cleared if no errors found
--showminors
Show minor errors.
--no-orphans
Do not restore real orphan files
--trace
Turn on UFSD trace.
--verbose
Explain what is being done.
--nopercents
Do not print percents during checking process.
--version
Show version and exit.
Description
chkntfs creates and displays a status report about a NTFS file system. Chkntfs also lists
and corrects errors on the disk, if any (-f flag must be specified).
Note:
1) when --no-orphans option is used, real orphan files will be deleted. Without this option chkntfs
restores real orphan files to found.XXX folders.
2) Starting from NTFS&HFS+ for Linux 9.4 separate chkntfs utility is the symlink to the combined
chkufsd utility, which can perform checking and/or fixing of both NTFS and HFS+ volumes.
6.2 HFS+ utilities
There are 2 additional utilities for HFS+ file system:
mkhtfs — format any partition as HFS+ under Linux;
chkhfs — check HFS+ partition for integrity and (optionally) fix errors.
6.2.1 mkhtfs
MKHFS Utility - Create an HFS+ volume on a partition.
Name
mkhfs — create an HFS+ volume on specified (block) device under Linux OS.
Synopsis
25
26
USER MANUAL
26Additional Utilities
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
mkhfs [options] device
E.g.: mkhfs -j /dev/hdb1
Options
-v:label
Specify the volume label.
-a:size
Override the default allocation unit size. Default settings are strongly
recommended for general use.
HFS+ supports 512, 1024, 2048, 4096, 8192, 16K, 32K and 64K.
-ne:size
Specify extents b-tree node size: 512-32K.
-nc:size
Specify catalog b-tree node size: 4K-32K.
-na:size
Specify attributes b-tree node size: 4K-32K
-f
Force the format without confirmation.
-j
Make volume journalized with default journal size
-j:size
Make volume journalized, manually setting size of the journal
-c
Make volume case-sensitive.
-h
Display this help
--help
Display this help.
--trace
Turn on UFSD trace.
--verbose
Explain what is being done.
--nopercents
Do not print percents during format process.
--version
Show the version and exit.
Description
mkhfs is a standalone utility that allows to format HFS+ partitions under Linux. It is used to
create an HFS+ file system on a device (usually a disk partition).
6.2.2 chkhfs
CHKHFS Utility - Perform consistency checks on an HFS+ volume.
Name
chkhfs — provide consistency checking of a HFS+ volume and fix errors.
Synopsis
chkhfs [options] device
E.g.: chkhfs -f /dev/sdb1
PARAGON SOFTWARE
27 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
Options
-fs:ntfs
Treat target volume as NTFS (parameter set by default if
chkntfs utility used)
-fs:hfs
Treat target volume as HFS+ (parameter set by default if
chkhfs utility used)
-f
Fix errors on the disk.
-a
Perform checks only if ‘dirty’ flag is set.
-b:size
Override default block (sector) size). Usage of default
settings are strongly recommended. The '-b\ parameter can
use following values: 512, 1024, 2048, 4096.
-m:size
Set a limit for memory usage during file system check. Usage
of this parameter may lower file system check performance.
-h
Display this help.
-m:size
Memory limit used by the utility
--short
Minimum file system check
--safe
Errors are not fixed, dirty flag is cleared if no errors found
--showminors
Show minor errors.
--no-orphans
Do not restore real orphan files
--trace
Turn on UFSD trace.
--verbose
Explain what is being done.
--nopercents
Do not print percents during checking process.
--version
Show version and exit.
Description
chkhfs creates and displays a status report about a HFS+ file system. Chkhfs also lists and
corrects errors on the disk, if any (-f flag must be specified).
Note: Starting from NTFS&HFS+ for Linux 9.4 separate chkhfs utility is the symlink to the combined
chkufsd utility, which can perform checking and/or fixing of both NTFS and HFS+ volumes.
USER MANUAL
Part VII
Troubleshooting
PARAGON SOFTWARE
29 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
This section highlights troubleshooting processes.
7.1 Troubleshooting processes
Step 1. Consult Documentation
Please consult documentation to make sure that encountered behavior is not by design, with
special attention given to the part related to installation, testing and troubleshooting as well as
to section on System requirements . Please also review Mount toubleshooting and Using
The Driver subsection.
Step 2. Make sure the issue is not related to Linux itself
Now, make sure that root cause of the issue is not related to Linux itself. For example, if an
issue is discovered while performing certain file system-related operation on a volume
mounted with Paragon NTFS&HFS+ driver, make sure the same issue is not observed when
the same operation is performed on ‘native’ file system like Ext2fs, Ext3fs or FAT (except, of
course, for operations specific to NTFS or HFS+ file systems or to Paragon's driver itself, e.g.
IOCTLs, additional utilities and so on).
Step 3. Prepare to report the issue
After performing previous steps and making sure that the issue is related to Paragon
NTFS&HFS+ driver, prepare to report the issue to Paragon.
Collect all information on the issue
The most important point in issue resolution process is quickly obtaining all the information
related to the issue. Quick collection of required information is the key to resolving an issue
faster.
Step 4. Assist Paragon engineers to resolve the issue quickly
Please provide any firmware updates required to reproduce the issue together with information
on how to upgrade firmware in your hardware samples. Try to provide as detailed information
on the issue, as possible.
6 30
14
USER MANUAL
30Troubleshooting
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
7.2 Mount toubleshooting
Use our mount troubleshooting diagram for faster mount issue resolution.
7.3 The install.sh script can’t find kernel sources
1. Read system requirements section, make sure all tools are functional. For more information,
please read kernel documentation.
2. Linux kernel must be configured correctly.
3. Make sure that you have kernel sources, for example, in the /usr/src/linux-x.x.xx
directory, where x.x.xx is your kernel version (for example, 4.4.9). Type uname-r in the
command line to know your current kernel version.
4. Create a symbolic link from the /usr/src/linux-x.x.xx directory to /usr/src/linux.
To create the link type ln –s /usr/src/linux-$(uname-r) /usr/src/linux .
PARAGON SOFTWARE
31 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
5. Make sure that you have the config-x.x.xx file, for the booted Linux kernel, in the /boot
directory. If you haven’t the config-x.x.xx file then type ln –s /usr/src/
linux-$(uname-r)/.config /boot/config-$(uname –r) to create a symbolic link to
the config file.
Note: There are cases when the kernel sources may be located in other directories. In these
cases you should create a symbolic link to /usr/src/linux, for example, ln –s /lib/
modules/$(uname-r)/build /usr/src/linux .
If you still have the same problem i.e. the install.sh script can’t find the kernel sources it is
better to rebuild your kernel or download and build a stable kernel from the www.kernel.org
site.
7.4 Can’t compile the NTFS/HFS+ for Linux driver
1. Read System requirements section, make sure all tools are functional. For more information,
please read kernel documents.
2. Linux kernel must be configured correctly.
3. The /boot directory must contain the config-(kernel version) file. If the file is missing you
should execute the following command: ln –s /usr/src/linux-$(uname-r)/.config /
boot/config-$(uname –r).
7.5 “Can’t load module” message at the end of installation
1. Make sure that you use the same version of GCC compiler that was used for kernel
compilation.
2. Make sure that the Makefile of the kernel (you can find the Makefile in the directory
where the kernel sources are located) have the correct kernel version at the beginning of
the file. For example: if your loaded kernel version is 4.4.9-300.fc23.x86_64 then the
following lines must be found at the beginning of the Makefile:
VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 9
EXTRAVERSION = -300.fc23.x86_64
7.6 ufsd Module: kernel-module version mismatch
That means kernel version mismatch.
1. Check kernel source version in /usr/include/linux/version.h
2. Check the currently running kernel version: uname -r
3. Both version must match.
4. If they don’t match, please restore Kernel configuration or recompile kernel (advanced).
USER MANUAL
32Troubleshooting
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
7.7 ufsd Module: create_module: operation is not permitted
That means you must have root privilege to load driver.
7.8 insmod: a module named as ufsd already exists
That means driver have been loaded. There is no need to load it again.
Driver status can be found by using the following command: lsmod | grep ufsd
7.9 insmod: Unknown symbol jnl_op (err 0)
That means one is trying to load ufsd.ko module into the Linux Kernel before jnl.ko module
has been loaded:
# insmod ufsd.ko
insmod: ERROR: could not insert module ufsd.ko: Unknown symbol in module
# dmesg | tail
[84199.673358] ufsd: Unknown symbol jnl_op (err 0)
Load jnl.ko module first and ufsd.ko afterwards:
# insmod jnl.ko
# insmod ufsd.ko
# lsmod | grep ufsd
ufsd 614400 0
jnl 36864 1 ufsd
7.10 I can’t mount NTFS/HFS+ volume
1.Make sure that the driver is activated (loaded into the Kernel): lsmod | grep ufsd
2.Make sure that the driver supports file system mounted partition is formatted with:
cat /proc/fs/ufsd/version
3.The volume is dirty. Use chkntfs/chkhfs utility with –a –f command line options to reset ‘
dirty’ flag. Alternatively, use ‘force’ mount options to make the driver ignore ‘dirty’ flag.
7.11 Collecting logs using release build of the driver user
Additional logs in the NTFS&HFS+ for Linux driver are used to collect information on driver’s
internal operations. This information is very important for faster issue resolution. In some
cases, with log files available reproduction of the issue at Paragon's lab is not needed at all,
that will save a lot of time. Please collect logs and send them to Paragon together with issue
report.
PARAGON SOFTWARE
33 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
For easier logs collection on customer's side, we have added trace functionality to the release
ufsd.ko driver module.
Driver settings related to logging
Logs collection can be set up when driver is loaded into the platform (with the insmod
command), during volume mount (similar to the debug driver usage) or manually via the /proc
files usage:
# insmod ufsd.ko trace=all log=/tmp/ufsd.log
# mount -t ufsd -o trace=all,log=/tmp/ufsd_trace.log
# echo "/tmp/ufsd_trace.log" > /proc/fs/ufsd/log
# echo "all" > /proc/fs/ufsd/trace
where trace - level of tracing messages (possible values are: all, vfs, or hex value can be
used, e.g.: 0xffffffff)
log - path to log file
Trace and log parameters can be verified and changed on the fly, while NTFS&HFS+ for
Linux driver is in use, via /proc interface:
Trace option
To verify current settings for the trace option use the /proc/fs/ufsd/trace metafile:
# cat /proc/fs/ufsd/trace
all
To change trace settings use the echo command to provide new value:
# echo "vfs" > /proc/fs/ufsd/trace
# cat /proc/fs/ufsd/trace
vfs
Log option is altered the same way
To verify current settings for the log option use the /proc/fs/ufsd/log metafile:
# cat /proc/fs/ufsd/log
/tmp/ufsd_trace.log
To change log settings use the echo command to provide new value:
# echo "/root/ufsd_trace.log" > /proc/fs/ufsd/log
# cat /proc/fs/ufsd/log
/root/ufsd_trace.log
Collecting driver logs
Please note that log file must not be stored on any volume that is mounted using Paragon
driver because that will cause infinite recursion and then stack overflow.
If NTFS&HFS+ for Linux driver module (ufsd.ko) is loaded into the platform manually, logs
collection can be enabled, when driver module is loaded into the Kernel:
# insmod ufsd.ko trace=all log=/tmp/ufsd.log
If NTFS&HFS+ for Linux driver is already loaded into the system, logs collection can be
enabled:
USER MANUAL
34Troubleshooting
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
using the /proc file interface:
# echo "/tmp/ufsd_trace.log" > /proc/fs/ufsd/log
# echo "all" > /proc/fs/ufsd/trace
using mount command options:
mount the test volume adding the following options to the list of mount options used on your
system:
–o trace=all,log=/path-to-log-file/on-non-ufsd-mounted-volume
After NTFS&HFS+ for Linux driver logs are enabled, perform reproduction steps for the issue,
so driver operations are written into the log file.
After the issue is reproduced, unmount the volume, unload ufsd.ko and jnl.ko driver
modules (to flush and close log file), compress driver’s log file and send it to Paragon along
with the issue report and log of reproduction steps.
Use case examples:
When issue reproduction takes a lot of time, but platform is halted after it happens (e.g. in
case of the Kernel panic issues) additional 'cycle=<log file size>' mount option are
recommended for usage, so UFSD logs are added to the file of the fixed size. New logs
would be written instead of older ones, when logs file size is reached, e.g.:
# mount -t ufsd -o trace=all,cycle=100M,log=/tmp/ufsd_trace.log
In this case file limit for the UFSD logs file is 100 MB.
If there are several operation need to be made, before reproducing the issue, additional
logging could be turned on/off on the fly via /proc/fs/ufsd/trace parameters.
For example when logging is already activated and is needed to be temporary turned off:
# cat /proc/fs/ufsd/trace
all
# echo "0" > /proc/fs/ufsd/trace
# cat /proc/fs/ufsd/trace
0
# echo "all" > /proc/fs/ufsd/trace
# cat /proc/fs/ufsd/trace
all
In the UFSD driver log file you will see trace level information:
trace mask set to 5fffbf7f (when trace level is set to 'all')
trace mask set to 00000000 (when trace logs are turned off)
trace mask set to 5fffbf7f (when trace level is returned to 'all')
7.12 Sysdump utility
Collecting images of volumes with file system inconsistencies
In case Paragon chk*fs utilities cannot fix metadata inconsistencies on NTFS/HFS+ volumes,
or report that volume is OK while it is obviously not so (e.g. content of NTFS volume cannot be
read under MS Windows or HFS+ volume cannot be read under MacOS), sysdump utility can
PARAGON SOFTWARE
35 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
be used to capture very compact images of volumes with file system inconsistencies along
additional system information, which would be automatically compacted into single archive.
This archive then may be forwarded to Paragon via support service for analysis. This helps us
to improve our products.
Using the sysdump utility to collect both platform system information and
metadata image of the affected volume
Note that sysdump utility requires root privileges as they are needed for working with
storage devices on Linux platform.
1. Copy sysdump utility to a folder with read/write access.
2. In terminal change to the folder with the sysdump utility. Use the following command to
capture the metadata image and to collect platform system information:
./sysdump /path/to/partition
3. This will create an archive named, based on platform parameters <Architecture>.<Kernel
version>.<date>.tar with storage device metadata image, its md5 sum and sample system
information:
$ sudo ./sysdump /dev/sdf1
Collecting dump of file system...
Scanning NTFS...
Added 3 files/dirs from $Extend
Recognized as NTFS.
Dumping "/dev/sdf1" (931.48 Gb) ...
Dump finished. File size 598602752 bytes (including tail)
System information was saved to /home/user/UFSD_driver/
ufsd_driver_Retail_Professional_UFSD_HEAD_r278264_b804/linutil/objfre/
bin/x86_64.4.4.9.20160601.tar
Changing the name of output archive
Name of the output archive can be changed by using the additional ’-o’ parameter and adding
new file name.
For example: ./sysdump /dev/sdc1 -o test.tar
Scanning NTFS...
Added 13 files/dirs from $Extend .
Recognized as NTFS.
Dumping "/dev/sdc1" (465.76 Gb) ...
Dump finished. File size 1248334848 bytes (including tail)
Collecting system information...
System information was saved to /home/UFSD_utilites/test.tar
Output file description
The Sysdump utility creates a single tar archive in the working folder with its’ work results for
easier data transfer to Paragon team. This archive can be easily uncompressed with the tar
utility, e.g.:
# tar -xf ./x86_64.3.11.9.20131211.tar
There are several files inside archive:
USER MANUAL
36Troubleshooting
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
dmesg - contents of the ’dmesg’ command output;
dumpbin.gz - compressed metadata image of the test volume;
dumpbin.md5 -md5 checksum for the collected image itself, not the archive file;
modules - list of all Kernel modules (*.ko files) found on the platform;
sysinfo - file with platform system information: list of storage devices, Linux Kernel version,
version of the loaded UFSD driver, CPU, memory information, etc.
Delivering collected data to Paragon
Please send the tar file, generated by the ’Sysdump’ utility to your support contact at Paragon
Software via ’My account’ page at Paragon Software Support Portal.
Privacy policy
Paragon’s Sysdump utility doesn’t collect any personal or user-sensitive information. Platform
data is obtained via usage of the native Linux utilities and standard system files (e.g. fdisk,
parted, /proc/cpuinfo, /proc/meminfo and others). The resulted volume metadata image
includes only file system metadata and risk of leaking sensitive data when using the sysdump
utility is minimized. Nevertheless, collected information is also covered by the mutual Non-
disclosure agreement and couldn’t be forwarded to any third party.
PARAGON SOFTWARE
PartVIII
UFSD driver
compatibility
USER MANUAL
38UFSD driver compatibility
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
This section describes file system features supported by Paragon NTFS&HFS+ driver,
respectively.
8.1 NTFS features
Compressed files
Reading and writing compressed files is fully supported in both sequential and random orders.
Encrypted files
Encrypted files are read encrypted. During copy operation, file data streams will be copied
encrypted with loss of decryption capability.
Alternate data streams
When copying from NTFS to Linux FS: all additional streams will not be copied, along with
compression flag and security attributes.
Hardlinks and symlinks
Any link will be copied as a full file with its body, losing link information.
Maximum filename length
NTFS stores filenames in UTF-16 encoding. This may cause trouble when very long filenames
containing non-latin characters are used and UTF-8 is selected as default Kernel codepage.
8.2 HFS+ features
This section describes features of HFS+ file system supported by the driver.
Case sensitivity
Both case sensitive and case instensitive types of HFS+ file system are supported.
Alternate data streams (forks)
During file copy operation (using cp command) on Linux only ‘data’ fork is copied.
PARAGON SOFTWARE
Part IX
Frequently Asked
Questions
USER MANUAL
40Frequently Asked Questions
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
9.1 What are 'minor errors' reported by chkntfs utility?
Most of information about files (times, sizes, attributes) in NTFS is duplicated and triplicated.
Minor error means that copies does not match original. E.g. "latime" means last access time.
The native chkdsk from Microsoft does not show these mismatches and fixes it silently (if /f is
specified) — see http://technet.microsoft.com/en-us/library/cc959914.aspx. Paragon chkntfs
utility can also find the following minor errors:
mdtime — modification time
chtime — last change time
asize — data allocated size
dsize — data size
attrib — attributes
To see more verbose output on minor errors, use --showminors command line option when
running chkntfs. For an example output, please see the log below:
# chkntfs --showminors /dev/sda2
WARNING! f parameter not specified.
Running chkntfs in read-only mode.
Checking Volume /dev/sda2...
Verifying 1680 records ...
$UpCase file is formatted for use in Windows NT/2K/XP Verifying 161
folders ...
minor error " latime" in index 0x5 "." => "admin"
minor error " latime" in index 0xb "$Extend" => "$Reparse"
minor error " latime" in index 0x1f "public" => "EZ TALK.doc"
minor error " latime" in index 0x1f "public" => "Fedora-13-i686-Live-
KDE"
minor error " latime" in index 0x1f "public" => "Fedora-13-x86_64-Live"
minor error " latime" in index 0x1f "public" => "FEDORA~1"
minor error " latime" in index 0x1f "public" => "FEDORA~2"
minor error " latime" in index 0x1f "public" => "FTP_login _information.
doc"
minor error " latime" in index 0x1f "public" => "Reports"
minor error " latime" in index 0x1f "public" => "... 2 K.M..b."
minor error " latime" in index 0x1f "public" => "...~1"
minor error " mdtime chtime latime" in index 0x5bd
"_restore{FB5EFA8E-F7E1-4999-B498-21EEC0CF7124}" => "RP83"
minor error " latime" in index 0x676 "mungchacha_com .+LC Kung Fu Dunk"
=> "DISC2.DAT.bc!"
minor error " latime" in index 0x676 "mungchacha_com .+LC Kung Fu Dunk"
=> "DISC2D~1.BC!"
Verifying files security...
4.83 Gb in 1492 files
464 Kb in 163 directories
0 Kb in bad blocks in 0 fragments
90424 Kb in use by the system
PARAGON SOFTWARE
41 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
65536 Kb occupied by the log file
4096 bytes in each allocation unit
182879943 total allocation units on volume
181590430 allocation units available on volume
The volume /dev/sda2 contains minor error(s).
9.2 Warnings on Windows7/Vista when NTFS HDD is reconnected
from Linux
After NTFS volume previously operated by Paragon NTFS&HFS+ driver is attached to
Windows Vista/Windows 7 machine, warnings are displayed on the screen. Why?
This is the case when volume was not unmounted correctly before it was detached from Linux
system.
This section illustrates ‘dirty’ volumes handling as implemented in Windows 7. For more
information on dirty flag and its support in Paragon file system drivers products see ‘Dirty flag
issues’ subsection of Using The Driver section.
An USB HDD enclosure with 320 Gb SATA HDD with one NTFS partition was detached from
system while file copy operation was in progress. After the enclosure was attached to
Windows 7 PC again, the following dialog was displayed:
After user clicks ‘Scan and fix (recommended)’, scan process begins:
14
USER MANUAL
42Frequently Asked Questions
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
After checking is completed, the following summary window is displayed:
After user clicks ‘Details’, the window is expanded and more detailed information is displayed
to the user:
PARAGON SOFTWARE
43 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
In case there are no errors, the following information is displayed:
9.3 Recently changed file has its modification time a few hours
ahead of or behind the current system time. Why?
This offset occurs due to the fact that NTFS stores file times as UTC time (in contrast to FAT
that stores local time) and the system might not have time zone setting that can be read by C
library and then used to convert file times reported by Kernel to local time.
Consequently, if a file is written to an NTFS volume on Windows with time zone set to, say,
UTC+8, and then the volume is connected to the Linux system, C library reports values
provided by Kernel ‘as is’ without converting them to local time. However, if a file is modified
on the Linux system, its modification time is written to the file system as system’s current time
USER MANUAL
44Frequently Asked Questions
© 2016 Paragon Software Group
PARAGON Technologie GmbH, Systemprogrammierung
Heinrich-von-Stephan-Str. 5c • 79100 Freiburg, Germany
Tel. +49 (0) 761 59018201 • Fax +49 (0) 761 59018130
www.paragon-software.com • sales@paragon-software.com
and then it is reported correctly. In the latter case, after the file modified on the Linux system is
brought back to the Windows machine (with its local time zone set to UTC+8), the file's
modification time will be reported 8 hours ahead of current time (assuming that current time is
the same on the Linux system and Windows PC).
There is 'bias' mount option (see Mount Options subsection) that allows to work around the
issue on systems that do not have time zone setting readable by C standard library (first
introduced in version 8.1.023). However, we recommend that time zone setting that can be
used by C standard library to convert time values, is added to the Linux system.
9.4 Why does mount option A make driver ignore mount option B?
When you mount disk with several mount options driver may ignore some of them. Why?
This issue can happen when mount command is used with several options coded like:
mount -t ufsd -o option A,option B -o option C device mount point
In this case driver may ignore options A and B when mounting disk with option C.
To prevent this possibility it is recommended to write your commands with several options
like:
mount -t ufsd -o option A,option B,option C device mount point
9.5 Why a lot of memory is used for volume mounting?
Let me describe what’s going on when UFSD driver mounts volumes.
First of all, the driver must read file system boot record, and after verifying it, it must also read
some metadata from the mounted volume, namely, parts of $Mft and the entire $Bitmap
metafile. For example, if the volume has $Bitmap of 74 MB, the driver has to read not less
than 74MB to mount it. When our driver reads data from disk, Kernel keeps the data cached in
memory. The amount of memory that Kernel allocates for I/O buffers is printed in line #3 of /
proc/meminfo file (Buffers: XXXX kB). It’s up to Kernel to decide how much memory to
allocate for I/O buffers (this can be tuned via Kernel metafiles – please see the link below for
more information). The memory (allocated for ‘Buffers’) is normally reclaimed by kernel when
Kernel or an application needs to allocate some memory for ‘private’ use.
The real-time report on memory allocated by our driver for operations on specific partition that
is currently mounted, is available in line #2 of file /proc/fs/ufsd/<block_device_name>/
volinfo. Peak amount of memory allocated by UFSD driver when mounting NTFS volume is
around 250 KB. The amount then reduced to ~40 KB after mount operation is completed.
9.6 Why the disk can't be dismounted?
When you try to dismount the disk with the 'umount' command the volume is reported 'busy'
and can't be unmounted. Why?
This issue can happen when there are working processes, that are still using the volume.
Therefore, there are several options to remove the conditions that prevent the storage medium
from being unmounted:
19
PARAGON SOFTWARE
45 Paragon NTFS&HFS+ for Linux 9.4
© 2016 Paragon Software Group
1. Check if it is possible to safely unmount the storage using the system’s web interface.
2. Check if support for external storage can be disabled from the system's web interface.
Disable the services and retry unmounting the storage medium.
3. Check if the various file/media sharing services (like multimedia, SAMBA (SMB), AFP, etc)
can be disabled from the system's web interface. Disable the services and retry unmounting
the storage medium.
Notes:
Windows system keeps SAMBA connection to the storage for several minutes. Disable the
connection and retry to unmount the storage medium. For example in Windows XP it can be
done from 'Disconnect network drive' menu (e.g. 'My computer' -> 'Tools' -> '
Disconnect Network Drive' menu).
If the volume couldn't be unmount with these steps, use 'sync' command to flush buffers to the
storage medium before detaching it manually from the device.