By Giri Mandalika on Feb 07, 2009
The steps outlined in this blog post are derived from the Miscellaneous filesystem support for OpenSolaris on x86 (link removed on 12/23/14) web page. I just added few examples to illustrate the steps to mount a partition with NTFS filesystem that exists on the external hard drive (in this case, it is a Seagate FreeAgent external hard drive).
Step-by-Step instructions to mount NTFS filesystem on [Open]Solaris
Install the packages : FSWpart and FSWfsmisc.
Download ftp://ftp.sun.drydog.com/pub/solaris/FSWpart.tar.gz and ftp://ftp.sun.drydog.com/pub/solaris/FSWfsmisc.tar.gz (links updated on 12/23/14)
Uncompress and install the packages with 'root' privileges.
% gunzip -c FSWpart.tar.gz | tar xvf - # pkgadd -d . FSWpart % gunzip -c FSWfsmisc.tar.gz | tar xvf - # pkgadd -d . FSWfsmisc
Find the logical device name for the NTFS partition.
-loption of the
rmformatcommand lists all removable devices along with their device names.
# rmformat -l Looking for devices... 1. Logical Node: /dev/rdsk/c1t0d0p0 Physical Node: /pci@0,0/pci-ide@1f,1/ide@1/sd@0,0 Connected Device: MATSHITA UJDA750 DVD/CDRW 1.60 Device Type: DVD Reader Bus: IDE Size:
Label: Access permissions: 2. Logical Node: /dev/rdsk/c2t0d0p0 Physical Node: /pci@0,0/pci1179,1@1d,7/storage@1/disk@0,0 Connected Device: Seagate FreeAgentDesktop 100F Device Type: Removable Bus: USB Size: 953.9 GB Label: Access permissions:
- Identify the NTFS partition on the external disk with the help of
# fdisk /dev/rdsk/c2t0d0p0 Total disk size is 60800 cylinders Cylinder size is 32130 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 IFS: NTFS 0 60800 60801 100 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 6 #
In this example, partition #1 i.e., c2t0d0p1 has the NTFS filesystem.
Mount the NTFS partition just like mounting an UFS filesystem using the
mountcommand. Use the argument
ntfsto the command line option
-F. Since the filesystem was mounted in a slightly different way than the conventional way, use
/usr/bin/xlsmountsto see the detailed mount table information.
# mount -F ntfs /dev/dsk/c2t0d0p1 /mnt # /usr/bin/xlsmounts PHYSICAL DEVICE LOGICAL DEVICE FS PID ADDR Mounted on /dev/dsk/c2t0d0p1 /dev/dsk/c2t0d0p1 ntfs 6755 127.0.0.1:/ /mnt # ls /mnt expForSun.dmp MySQL5.1 RECYCLER medium-64-bit $RECYCLE.BIN System Volume Information
ADDRcolumn in the output of
xlsmounts. NTFS mount uses userland NFSv2 server to access the filesystems on raw partitions. That is why the mount was shown as NFS client mounted from 127.0.0.1:/
To unmount the NTFS filesystem, use
/usr/bin/xumount. Solaris standard
umountcommand unmounts the filesystem but does not terminate the background NFS server process.
# /usr/bin/xumount /mnt - OR - # /usr/bin/xumount /dev/dsk/c2t0d0p1
Check the Miscellaneous filesystem support for OpenSolaris on x86 page (link removed on 12/23/14) and Moinak Ghosh's blog post Mount and Access NTFS and Ext2FS from Solaris x86 for the rest of the fine details.