解决OpenSolaris中挂载NTFS与EXT2/3分区的问题 如果你正在使用OpenSolaris,并且需要访问Windows或Linux分区里的数据,那么“如何挂载NTFS或EXT2/3文件系统”绝对是一个绕不开的经典问题。社区论坛里相关讨论热度一直不低。好消息是,这个问题有成熟的解决方案。不
如果你正在使用OpenSolaris,并且需要访问Windows或Linux分区里的数据,那么“如何挂载NTFS或EXT2/3文件系统”绝对是一个绕不开的经典问题。社区论坛里相关讨论热度一直不低。好消息是,这个问题有成熟的解决方案。不过,需要提前说明一点:在OpenSolaris上以读写模式挂载这些分区可能受限,当前的通用方法通常仅支持读取操作。
接下来,我们就按步骤来拆解这个流程。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
要实现对非原生文件系统的支持,我们需要两个关键工具。它们可以从Belenix项目网站获取。
wget http://www.belenix.org/binfiles/FSWpart.tar.gzgunzip -c FSWpart.tar.gz | tar xf -pkgadd -d . FSWpartwget http://www.belenix.org/binfiles/FSWfsmisc.tar.gzgunzip -c FSWfsmisc.tar.gz | tar xf -pkgadd -d . FSWfsmisc安装好工具后,第一步是摸清家底——你的磁盘是怎么分的。这里有个小技巧:先运行不带任何参数的prtpart命令。
# prtpart
Fdisk information for device /dev/rdsk/c0d0p0
Block Size : 512 bytes
Controller : ide
Disk : cmdk
Capacity : 93 GB
# start block # nblocks startCylSecHd endCylSecHd OSType
1: 0000000063 0102398247 0/ 1/ 1 ff/ff/fe IFS: NTFS
2: 0102398310 0092952090 ff/ff/fe ff/ff/fe Solaris x86
这个输出非常关键。它不仅告诉我们磁盘的物理设备名是c0d0p0,还清晰地列出了两个分区:第一个是NTFS格式,第二个是Solaris系统分区。
不过,为了后续挂载时选对设备节点,我们需要更详细的信息。再执行下面的命令:
# prtpart /dev/rdsk/c0d0p0 -ldevs
Fdisk information for device /dev/rdsk/c0d0p0
** NOTE **
/dev/dsk/c0d0p0 - Physical device referring to entire physical disk
/dev/dsk/c0d0p1 - p4 - Physical devices referring to the 4 primary partitions
/dev/dsk/c0d0p5 ... - Virtual devices referring to logical partitions
Virtual device names can be used to access EXT2 and NTFS on logical partitions
/dev/dsk/c0d0p1 IFS: NTFS
/dev/dsk/c0d0p2 Solaris x86
看明白了吗?这里给出了可直接用于挂载的逻辑设备名。对于我们的NTFS分区(第一个主分区),对应的设备就是/dev/dsk/c0d0p1。这个信息是下一步操作的直接依据。
信息齐备,现在可以动手挂载了。你需要先创建好挂载点目录(比如/Windows或/Linux),然后根据分区类型选择对应的命令。
# mount -F ntfs /dev/dsk/c0d0p1 /Windows
# mount -F pcfs /dev/dsk/c0d0p /Windows (请将替换为实际分区号,例如p1)
# mount -F ext2fs /dev/dsk/c0d0p /Linux (同样需要替换分区号)
执行成功后,你应该就能在相应的挂载点目录下访问分区内的文件了。
用完之后,安全地卸载分区是个好习惯。你可以先用xlsmounts命令查看当前已挂载的卷:
# xlsmounts
PHYSICAL DEVICE LOGICAL DEVICE FS PID ADDR Mounted on
/dev/dsk/c0d0p1 /dev/dsk/c0d0p1 ntfs 1118 127.0.0.1:/ /Windows
确认无误后,使用xumount命令加上挂载点路径即可卸载:
# xumount /Windows
至此,整个从识别、挂载到卸载的完整流程就结束了。按照这个步骤操作,在OpenSolaris上读取跨平台数据就不再是难题了。当然,如果未来有支持完整读写功能的新方案出现,那将会是更完美的解决方案。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述