Linux&windows双系统下访问ntfs分区

1.关于mount的挂载

注意:在Linux系统中所有的设备都看作文件,因此只需要使用挂载命令mount将 Windows 的分区挂载到 Linux下即可实现访问。

" mount 命令的使用格式是:
" mount [-afFhnrvVw] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [加载点]
$ sudo mount -t ntfs-3g /dev/sdx linux-path

这里需要注意的是:
参数

====================================================================
      sudo:表示需要管理员权限
-t ntfs-3g:这里指定设备的文件系统类型,【ntfs-3g】需要单独安装
  /dev/sdx:这是被访问的windows分区,可以使用【sudo fdisk -l】查看分区
linux-path:这是挂载到Linux的一个挂载点,即可以是一个文件夹,【eg:/home/test】
====================================================================
" 具体参数如下:

" Linux下可以使用以下命令查看mount的用法:
$ man mount
-a 加载文件/etc/fstab中设置的所有设备。 
-f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。 
-F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。 
-h 显示在线帮助信息。 
-L<标签> 加载文件系统标签为<标签>的设备。 
-n 不将加载信息记录在/etc/mtab文件中。 
-o<选项> 指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。这些选项包括: 
async 以非同步的方式执行文件系统的输入输出动作。 
atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。 
auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。 
defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。 
dev 可读文件系统上的字符或块设备,取消选项为nodev。 
exec 可执行二进制文件,取消选项为noexec。 
noatime 每次存取时不更新inode的存取时间。 
noauto 无法使用-a参数来加载。 
nodev 不读文件系统上的字符或块设备。 
noexec 无法执行二进制文件。 
nosuid 关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。 
nouser 使一位用户无法执行加载操作,默认设置。 
remount 重新加载设备。通常用于改变设备的设置状态。 
ro 以只读模式加载。 
rw 以可读写模式加载。 
suid 启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。 
sync 以同步方式执行文件系统的输入输出动作。 
user 可以让一般用户加载设备。 

-r 以只读方式加载设备。 
-t<文件系统类型> 指定设备的文件系统类型。常用的选项说明有: 
minix Linux最早使用的文件系统。 
ext2 Linux目前的常用文件系统。 
msdos MS-DOS 的 FAT。 
vfat Win85/98 的 VFAT。 
nfs 网络文件系统。 
iso9660 CD-ROM光盘的标准文件系统。 
ntfs Windows NT的文件系统。 
hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。 
auto 自动检测文件系统。 
-v 执行时显示详细的信息。 
-V 显示版本信息。 
-w 以可读写模式加载设备,默认设置。

2.关于文字显示

由于linux与windows是两个完全不同的系统,对于编码方式也是各有差异,所以当你挂载完windows想要访问时,你会发现,突然出现很多的【????】
解决方法:

" -o iocharset=cp936 
" -o iocharset=gb2312 
" -o iocharset=utf8
$ sudo mount -o iocharset=utf8 -t ntfs-3g /dev/sdx linux-path

三种加参数方式都可以,意在挂载分区时选择字符串的编码方式,对于中文来说上述三种都支持,推荐使用【utf8】,这中编码兼容了前面两种,字符集更大。

3.关于卸载挂载分区

$ sudo umount linux-path
========================================
umount :mount 的反操作

4.关于开机自动挂载的配置

开机配置文件:/etc/fstab

" 在etc目录下找到fstab文件,在最下面一行添加如下内容即可:
$ sudo vim /etc/fstab
...
...
/dev/sdbx linux-path ntfs-3g default 0 0

fstab的小知识点

" 关于fstab这个文件的描述说明如下:
" 要求:
" 1)根目录/必须载入,而且要先于其他载入点被载入
" 2)其他载入点必须为已建立的目录
" 3)若进行卸载,必须先将工作目录移到载入点及其子目录之外
" ====================================================
▶ cat /etc/fstab     
# 
# /etc/fstab: static file system information
#
#                                                      

/dev/nvme0n1p5          /               ext4            rw,relatime,data=ordered        0         1

/dev/sda2               /home           ext4            rw,relatime,data=ordered        0         2

/swapfile               none            swap            defaults                        0         0

/dev/sdb1              /home/test       ntfs-3g         default                         0         0

" ====================================================
:设备号或该设备的卷标
        :挂载点
       :文件系统
    :文件系统参数
       : demp命令备份。0:不备份,1:备份,2:备份,但比1重要性小。
               设置了该参数后,Linux中使用dump命令备份系统的时候就可以备份相应设置的挂载点了。
       :系统启动用fsck检验分区。0:不检验,1:要检验,2要检验,但比1晚检验。
               一般根目录设置为1,其他设置为2就可以了。
               因为有些挂载点是不需要检验的,比如:虚拟内存swap、/proc等

你可能感兴趣的:(Linux&windows双系统下访问ntfs分区)