Ways to access ntfs from linux

5

Click here to load reader

description

How to access Linux from windows OS

Transcript of Ways to access ntfs from linux

Page 1: Ways to access ntfs from linux

Ways to acesss an NTFS volume from Linux

Ashwin Pawar [email protected]

Aug-2010

Three primary ways you can access an NTFS volume from Linux are:

First:

By Installing an Integrated ntfs-kernel-driver also called (LKM – Loadable Kernel

Module)

Download: http://fr2.rpmfind.net/linux/sourceforge/l/project/li/linux-ntfs/OldFiles/

Module name : kernel-module-ntfs-2.6.x.x

FUSE: NOT REQUIRED (As the support for ntfs is integrated in the kernel itself)

Once LKM is loaded, verify it via /proc/modules or /proc/filesystems

Advantage: Easy to Install & and allows for Read-only access on NTFS volumes.

Limitations: Only Read, No write

License: GPL/FREE Or open-source (You decide the labeling, I prefer the word

‘free’ )

AUTHOR:

Integrated kernel-ntfs-driver was written by Anton Altaparmakov.

Born in the Year, 1976

Page 2: Ways to access ntfs from linux

Second :

By Installing an 'ntfsmount' driver, which is part of the package (suite) called

'ntfsprogs'.

'ntfsmount' is a read/write userspace NTFS filesystem driver. Technically it connects

FUSE with ‘libntfs’. ntfsmount (part of the ntfsprogs) is a read/write userspace NTFS

driver. It provides a full read-write access on NTFS volumes, excluding writing

compressed and encrypted files, changing file ownership, access right.

Org: :Liux-ntfs.org

Website: http://www.linux-ntfs.org

Download: http://sourceforge.net/projects/linux-ntfs/files/

Module name: ntfsprogs-2.0.0.tar.gz

Download: http://packages.sw.be/ntfsprogs/ (Old files, In case you have an older kernel)

FUSE: REQUIRED (Linux 2.6.14 and up have FUSE support included in the official

kernel.That means, If you have a running kernel version of 2.6.14 or above, you need not

download FUSE separately)

FUSE Download: http://sourceforge.net/projects/fuse/files/fuse-2.X/

After you install FUSE and ntfsprogs, you can mount your volumes using ‘ntfsmount’

driver by typing:

# ntfsmount /dev/hda1 /mnt/

License: FREE/GPL

AUTHOR:

ntfsmount driver was written by Yura Pakhuchiy, with contributions from YuvalFledel

and Szabolcs Szakacsits.

Born in the Year, 1987

Page 3: Ways to access ntfs from linux

Third :

By Installing an ntfs-3g driver.

NTFS-3G is a stable, read/write NTFS driver for Linux, Mac OS X, FreeBSD, NetBSD,

OpenSolaris, QNX, Haiku, and other operating systems. It provides safe handling of the

Windows XP, Windows Server 2003, Windows 2000, Windows Vista, Windows Server

2008 and Windows 7 NTFS file systems.

Company: Tuxera

website: http://www.tuxera.com/ Or http://ntfs-3g.com is one and the same company.

Download: http://www.tuxera.com/community/ntfs-3g-download/

Module: ntfs-3g-2010.10.2.tgz (The latest stable version is ntfs-3g-2010.10.2, released

on October 3, 2010).

FUSE: REQUIRED (Linux 2.6.14 and up have FUSE support included in the official

kernel.That means, If you have a running kernel version of 2.6.14 or above, you need not

download FUSE separately)

Mounting:

You can mount your volumes by typing:

# ntfs-3g /dev/sda1 /mnt/windows

or

# mount -t ntfs-3g /dev/sda1 /mnt/windows

For more Info:

http://www.tuxera.com/community/ntfs-3g-manual/

License: FREE/GPL (Free version is basically a Community edition and is called

'NTFS-3g'). It is used widely in GNU/Linux distributions, including Fedora, Ubuntu, and

others.

Proprietary License: Paid. This a high-performance driver called 'Tuxera NTFS' which

is available commercially for embedded devices and can be bought from their online-

shop directly.

Reason behind free & Paid licensing :Well, to start with NTFS-3G was introduced by one

of the senior Linux NTFS developers, Szabolcs Szakacsits in July 2006 under the

GNU/Linux distributions. Later the developers of NTFS-3G formed a company, Tuxera

Ltd., to further develop and enhance the code. Hence, the free "community edition", and

the Paid "Tuxera NTFS" driver came into existance.

Page 4: Ways to access ntfs from linux

AUTHOR:

ntfs-3g driver was written by Szabolcs Szakacsits.

Born in the Year, 1970

FUSE (Filesystem in Userspace) :

FUSE (Filesystem in Userspace) is a simple interface for userspace programs to export a

virtual filesystem to the linux kernel. “In a typical developer's language, Its a OS plugin

to hijack file system calls to a user-mode file system” . FUSE also aims to provide a

secure method for non privileged users to create and mount their own filesystem

implementations.

FUSE is a free/GPL software. The FUSE system was originally part of A Virtual

Filesystem (AVFS), but has since split off into its own project on SourceForge.net.

Supported OS: FUSE is available for Linux, FreeBSD, NetBSD (as PUFFS),

OpenSolaris, and Mac OS X. It was officially merged into the mainstream Linux kernel

tree in kernel version 2.6.14.

Linux-2.4.X

Native port. FUSE versions 2.X up to 2.5.X support kernels 2.4.21 or later (although

FUSE 2.6.x userspace tools can be used in combination with a FUSE 2.5.x kernel

module).

Linux-2.6.X

Native port. New FUSE versions (2.6.X) support all 2.6 kernels.

Linux 2.6.14

With this version, FUSE support is included in the official kernel.

Source code download:

http://sourceforge.net/projects/fuse

Page 5: Ways to access ntfs from linux

Conclusion:

As a reader when you start searching or looking for information on google, chances are

you might come across various terminologies and sources of information on ntfs-kernel-

driver, ntfsmount and ntfs-3g driver, FUSE etc, which can be a little daunting if you are

new to this subject, especially if you find either too much of information or too less, and

this is exactly what happened with me and I decided to piece together all these different

sources of information in one place. With little over 4 days, I could piece it together.

In the following summary , I am trying my best to sum up the information on this vast

topic in an easy to understand and consumable form.

To set things straight, the first possible way I mentioned at the beginning is a kernel

integrated driver as the name suggests, it primarily works in the kernel space (In a literal

sense it means editing the kernel code) and allows for READ-ONLY access and that's

perhaps the biggest disadvantage of this driver, which of course led to a further

development and new technological in-roads. However, if you just needed to read the

data on your ntfs volume from Linux, this is just enough.

Next comes the 'ntfsprogs' and 'ntfs-3g' drivers, well these are the two different drivers

(projects) and both these ntfs drivers make use of what is called "FUSE (Filesystem In

Userspace) API". Infact, it’s the FUSE that made it possible. What FUSE does is, it

provides a frame-work that provides only a "bridge" to the actual kernel interfaces. What

that means is that -: It gives you an Userspace Filesystem platform without editing the

kernel code, in other words running filesystem code in userspace and NOT in kernel

space.

Disclaimer:

With this basic information in mind, I would encourage readers to do their own research

and tests before implementing any solution.

References

http://www.ntfs-3g.org/

http://fuse.sourceforge.net/

Note: Tested on redhat EL4