Bomi
分类: 系统运维
2012-02-05 01:03:25
能够使用Windows里面的数据,是运行Unix/Linux中比较常见的一个场景。那么如何在新近发布的OpenSolaris 2008.05 下挂在我们的NTFS分区呢?
由于目前Unix/Linux下挂载ntfs分区的技术还不够稳定,OpenSolaris 2008.05系统内核没有携带NTFS读写功能插件。为了实现读取ntfs中的数据,我们可以使用相关的开源项目来挂载相关的插件。插件可以从 souceforge.net下载,项目名称是“NTFS Mount”,地址是。当然,也可以进入直接下载。可以发现,目前的版本还是0.9.1,尚未成熟,只能进行读操作。
得到了这个可执行文件,就可以继续后面的操作了。由于这是一个可执行文件,别忘了给它赋予可执行权限。
使用 chmod 755 mount_ntfs.0.9.1.opensol-x86-binary,可将其权限设为任意人可读并执行
具体chmod的使用方法请参见
接写来,我们要取得到我们NTFS分区的编号。open solaris使用了ZFS技术,我们的硬盘分区全部挂在了池中。所以使用iostat -En和zpool iostat -v 均可以看到我们的硬盘编号。例如我的就是c6d0。
在 Solaris中,磁盘的设备名是以c*t*d*这样子为格式的字母和数字的组合(*在这里代表数字)。其中,c*代表逻辑控制器号(控制接口,controller),t* 代表物理总线目标号(目标地址,scsi设备将给予scsi-ID,target),d*代表磁盘或逻辑单元号(设备地址或者卷的raid地址,一个地址多个盘,disk)。至于逻辑设备名称格式则是如:c*t*d*s*,s*代表分区号(片地址,也就是说分区地址,slice),其它同上。另外,对于 windows的fat和ntfs分区,用c*t*d*p*中的p代替s,windows中没有片的概念,取而代之的是分区partition。本机硬盘的具体编号信息,可以通过键入命令“iostat -En”来获取。由于OpenSolaris采用了ZFS文件系统,我们也可以通过“zpool iostat -v”来进行查看。
由于我的第一主分区是windows引导分区,所以我即将要挂在的分区即为/dev/rdsk/c6d0p0。取得到了磁盘号,便可以通过./mount_ntfs.0.9.1.opensol-x86-binary image mountpoint 来挂载。
mount_ntfs 挂载的参数列表:
Syntax: mount_ntfs image mountpoint [options]
image File system image or rdsk device (/dev/rdsk/xxx)
mountpoint Mount point (see mount)
-o nfsopt Mount option to be passed in the “-o” option of mount_nfs
-m mntopt Mount option to be passed to mount
-pt Image/disk has an x86 partition table with only one partition
-npt Image/disk is NTFS itself / no partition table
-dosnames Use 8.3 file names instead of long file names
-off number The image begins at byte offset number (nnn, 0ooo, 0xHHH)
-sec number The image begins at byte offset number*512 (sector)
-nf Do not fork into background
之后便可以使用NTFS分区喽。虽然目前为止还只能是读取,不过至少我们可以访问了!下面是我做成功的截图。