`
zhangxiong0301
  • 浏览: 351369 次
社区版块
存档分类
最新评论

linux /etc/fstab文件

阅读更多

/etc/fstab 文件解释

文件fstab包含了你的电脑上的存储设备及其文件系统的信息。它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件。

这个文件的全路径是/etc/fstab。它只是一个文本文件,你能够用你喜欢的编辑器打开它,但是必须是root用户才能编辑它。同时fsck、mount、umount的等命令都利用该程序。

具体来说:用fstab可以自动挂载各种文件系统格式的硬盘、分区、可移动设备和远程设备等。对于Windows与arch双操作系统用户,用fstab挂载FAT格式和NTFS格式的分区,可以在Linux中共享windows系统下的资源。

fstab文件示例

现在让我们看一下一个典型的fstab文件:

# <file system><dir><type><options><dump><pass>
none                   /dev/pts      devpts    defaults                0      0
none                   /dev/shm      tmpfs     defaults                0      0

/dev/cdrom             /media/cd     iso9660   ro,user,noauto,unhide   0      0
/dev/dvd               /media/dvd    udf       ro,user,noauto,unhide   0      0
/dev/fd0               /media/fl     auto      user,noauto             0      0

/dev/hda1              swap          swap      defaults                0      0
/dev/hda4              /             ext3      defaults                0      1
/dev/hda3              /home         xfs       rw,suid,exec,auto,nouser,async 0      2
</pass></dump></options></type></dir></file>

fstab详解

让我们对fstab的用法进行一个详细的了解。一个典型的entry有下面的fields (fields用空格或tab分开):

<file system><dir><type><options><dump><pass></pass></dump></options></type></dir></file>
  • <file systems> 不是我们通常理解的文件系统,而是指设备(硬盘及其分区,DVD光驱等)。它告知我们设备(分区)的名字,这是你在命令行中挂载(mount)、卸载(umount)设备时要用到的。so one should substitute for this entry the device name, remote partition, or similar. </file>
  • , 告诉我们设备挂载到哪里。
  • <type> 指挂载设备或分区为何种文件系统类型(例如:ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap等)。 archLinux支持许多文件系统。 要得到一个完整的支持名单查找mount man-page。典型 的名字包括这些:ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap和auto, 'auto' 不是一个文件系统,而是让mount命令自动判断文件类型,特别对于可移动设备,软盘,DVD驱动器,这样做是很有必要的,因为可能每次挂载的文件类型不一致。 </type>
  • <options>,选项,这部分是最有用的设置!!! </options>

它能使你所挂载的设备在开机时自动加载、使中文显示不出现乱码、限制对挂载分区读写权限。它是与mount命令的用法相关的,要想得到一个完整的列表,参考mount manpage.

    • 推荐参数
   noatime   关闭atime特性,提高性能,这是一个很老的特性,放心关闭,还能减少loadcycle
    • 默认设置
   defaults  使用默认设置。等于rw,suid,dev,exec,auto,nouser,async,具体含义看下面的解释。
    • 自动与手动挂载
   auto  在启动或在终端中输入mount -a时自动挂载
   noauto  设备(分区)只能手动挂载 The file system can be mounted only explicitly.

    • IO编码设置
   iocharset=   在=号后面加入你的本地编码,似乎在这个设备(分区)中做文件IO的时候就会自动做编
   码的格式转换。
   例如:你的某个分区是编码是utf8,而设备中文件的编码是gb2312,当是复制你设备中的文件到你的这
   个分区时,它将自动做编码转换。  
   
   (不知道我的理解对不对,但是好像用下面的nls就可以实现转换。)
    • 中文乱码的解决
   nls=     在=号后面加入你的本地编码,你的中文就不会出现乱码。
    • 读写权限
   umask=   这是关于读写权限的,好像比下面的ro,rw选项更管用!!!
   例如:umask=000或0222,使得挂载时option中有default,普通用户仍然能读写挂载设备中的东西。
               
   请大家补充!!!

   ro  挂载为只读权限
   rw   挂载为读写权限

    • 可执行
   exec     是一个默认设置项,它使在那个分区中的可执行的二进制文件能够执行。
   noexec  二进制文件不允许执行。千万不要在你的root分区中用这个选项!!!

    • I/O同步
   sync	  所有的I/O将以同步方式进行
   async  所有的I/O将以非同步方式进行

    • 用户挂载权限
   user  允许任何用户挂载设备。 Implies noexec,nosuid,nodev unless overridden.
   nouser  只允许root用户挂载。这是默认设置。

    •  
   suid     Permit the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.
   nosuid   Blocks the operation of suid, and sgid bits.


 


 

  • <dump> 是dump utility用来决定是否做备份的. 安装之后(Arch Linux默认是不安装dump的), dump会检查entry并用数字来决定是否对这个文件系统进行备份。允许的数字是0和1。如果是0,dump就会忽略这个文件系统,如果是1,dump就会作一个备份。大部分的用户是没有安装dump的,所以对他们而言<dump>这个entry应该写为0。 </dump></dump>
  • <pass> fsck会检查这个头目下的数字来决定检查文件系统的顺序(looks at the number substituted for <pass> and determines in which order the file systems should be checked)。允许的数字是0, 1, 和2。 文件系统的<pass>选项是0将不会被fsck utility检查。root文件系统应该拥有最高的优先权, 1,而所有其它的文件系统,如果你想让它被check的话,应该写成2。 </pass></pass></pass>

注意: 除了直接用设备(分区)名字,你也可以用UUID或卷名。格式 LABEL= or UUID=<uuid>。例如, `LABEL=Boot' or `UUID=3e6be9de-8139-11d1-9106-a43f08d823a6'. </uuid>

用fstab自动挂载FAT32和NTFS分区

1.先在用fdisk -l(可能需要在root权限下)得到硬盘信息表,例如:

#  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2397    19253871    b  W95 FAT32
/dev/sda2            2398        3144     6000277+  83  Linux
/dev/sda3            3145        9729    52894012+   5  Extended
/dev/sda5            3145        3152       64228+  83  Linux
/dev/sda6            3153        3276      995998+  82  Linux swap / Solaris
/dev/sda7            3277        7340    32644048+  83  Linux
/dev/sda8            7341        9729    19189611    7  HPFS/NTFS

从上面知道,这台电脑上只有一个硬盘,其中分区sda1和sda8为NTFS格式,sda1为可以启动的,因而可能为window的系统所在盘。下面把系统盘以只读方式持载上去,非系统盘sda8以读写方式挂载上去(不能挂载在"/"及其以下的任何目录)。

2.用你喜欢的编辑器在终端中打开/etc/fstab,例如:

                    nano /etc/fstab

在文件末尾加入:

/dev/sda1 /mnt/WindowsC vfat defaults,codepage=936,iocharset=cp936,umask=0222 0 0
/dev/sda8 /mnt/WindowsD ntfs defaults,iocharset=utf8,umask=000,nls=utf8 0 0

保存,退出。

警告:使用936的codepage挂在fat32分区可能会造成linux下识别中文正常但是到windows下反而出现乱码,推荐替换成utf8,但是dmesg提示警告,没有关系,n多人用了这么长时间都没有问题

/dev/sda1 /mnt/WindowsC vfat user,utf8,umask=000 0 0


3.在终端中输入

mount -a

你就应该能在/mnt/WindowsC下找到你的系统分区sda1内容,在/home/username/WindowsD中找到sda8的内容(其中username指用户名)。

分享到:
评论

相关推荐

    Linux系统中 /etc/fstab 文件的深入解读

    [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Sat Nov 3 12:03:31 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), ...

    fstabfmt:格式化etcfstab

    格式化/etc/fstab文件。 特点和局限性 可以格式化/etc/fstab文件。 如果长度相等,将在所有字段之间使用2个空格。 较短的字段用空格填充。 使用范例 运行fstabfmt /etc/fstab以查看格式化的输出。 没有对该文件...

    Linux 服务器运维常用的命令

    在 Linux 下,有些配置文件是不允许任何人(包括 root)修改的。为了防止被误删除或修改 可以设定该文件的“不可修改位(immutable) ”。命令如下: # chattr +i /etc/fstab 如果需要修改文件则采用下面的命令: #...

    Linux最强学习笔记(技术文档)

    /etc/fstab 记录开机要mount的文件系统(做磁盘配额的时候用过这个文件) /etc/inittab 设定系统启动时init进程把系统设置成什么样的runlevel(第六章有用过) /etc/group 设定用户的组名与相关信息 /etc/passwd ...

    磁盘配额,linux磁盘配额

    修改/etc/fstab,对所选文件系统激活配额选项。 3. 更新装载文件系统,使改变生效。 4. 在该文件系统引导时建立aquota.user文件。 5. 扫描相应文件系统,用quotacheck命令生成基本配额文件。 6. 用edquota...

    LInux fstab文件解析

    文件/etc/fstab是做什么的?包含了静态文件系统信息,定义了存储设备和分区整合到整个系统的方式。mount 命令会读取这个文件,确定设备和分区的挂载选项。

    Linux之区自动挂载与 fstab 文件修复

    1. /etc/fstab 文件 第 1 字段:分区设备文件名或 UID(硬盘通用唯一识别码) 第 2 字段:挂载点 第 3 字段:文件系统名称 第 4 字段:挂载参数 第 5 字段:指定分区是否被 dump 备份 0 代表不备份 1 代表每天备份 2...

    用命令行加挂Linux文件系统的方法

    Linux 在启动过程中,会按照/etc/fstab中的设置,把各个分区上的文件系统加挂到对应到加载点上去。本文总结了一下在Linux上不同情况下几种常见加挂文件系统的方法,包括如何加挂FAT/NTFS/smbfs/U盘,以及解决加挂中...

    linux目录架构

    /etc/X11 X Window的配置文件,xorg.conf 或 XF86Config 這兩個 X Server 的設定檔 /etc/fstab 记录开机要mount的文件系统 /etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel /etc/...

    Linux安全配置步骤大全

    方法一:修改/etc/fstab文件,添加nosuid属性字。例如: /dev/hda2 /tmp ext2 exec,dev,nosuid,rw 0 0 方法二:如果对/etc/fstab文件操作不熟,建议通过linuxconf程序来修改。 运行linuxconf程序; 选择"File ...

    Linux系统环境 XFS文件系统的使用介绍

    因为根文件系统不能被umount,所以,必须首先创建一个分区,其文件系统为ext2文件系统,然后将目前的根分区上的所有文件与 目录,原原本本地复制到这一个分区,然后更改/etc/fstab文件,替换原来的根分区。

    Linux内核移植与根文件系统构建

    那么根文件系统就要包括Linux启动时所必须的目录和关键性的文件,例如Linux启动时都需要有init目录下的相关文件,在 Linux挂载分区时Linux一定会找/etc/fstab这个挂载文件等,根文件系统中还包括了许多的应用程序bin...

    linux启动不时解决方法

    服务器新增加了一块硬盘,分区格式后在fstab内设置了自动挂载,由于fstab设置错误,导致linux  重新启动时出现错误并且不能... 于是让Linux启用单用户模式进入系统,当修改/etc/fstab文件时提示文件只读,无法修改;

    linux期中考試

    14. Linux在(/etc/fstab)文件中,列出了系统初启时需要自动安装的所有分区。 15. 在用户注册时将首先执行(.bash_profile)然后执行.bashrc脚本。 16. 退出注册的时将自动运行(.bash_logout)脚本。 17. (/...

    嵌入式系统/ARM技术中的fstab文件学习

     我们在linux系统里面的/etc/目录下有一个fstab文件,那这个文件的作用是什么呢?  其实这个文件里面存放的是系统中的文件系统信息。当正确的设置了该文件,我们就可以通过mount /任意目录 命令来加载一个文件...

    在PC机上自动挂载Windows分区的方法

    在PC机上安装了双系统,Linux有时候需要用到Windows的资源,所以选择D盘在Linux启动时自动挂载。方法比较简单,就是修改/etc/fstab文件。本文介绍一下/etc/fstab文件格式。

    [面试/笔试系列4]在Linux系统中,以文件方式访问设备

    1. 1....2.Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统。 3.Linux文件系统中每个文件用i字节来标识。 4.全部磁盘块由四个部分组成,分别为引导块、i字节表块、专用块、 数据储存块。

    Linux 常用命令挂载命令详解

    依据配置文件 /etc/fstab的内容,自动挂载 挂载命令格式 mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点 选项: -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660等文件系统 -o...

Global site tag (gtag.js) - Google Analytics