Linux可不可以在开机的时候就将我们要的文件系统都挂载好?这样就不需要每次进入Linux系统还要挂载一次。当然可以,那就直接到/etc/fstab里面去修改。
系统挂载的一些限制:
- 根目录/是必须挂载的,而且一定要先于其他mount point被挂载进来。
- 其他挂载点必须为已新建的目录,可任意指定,但一定要遵守必需的系统目录架构原则
- 所有挂载点在同一时间之内,只能挂载一次
- 所有分区在同一时间内,只能挂载一次
- 如若进行卸载,必须先将工作目录移到挂载点(及其子目录)以外。
先查阅一下/etc/fstab这个文件的内容
/etc/fstab(file system table)就会将我们利用mount命令进行挂载时,将所有的参数写入到这个文件中就可以了。除此之外,/etc/fstab还添加了
dump这个备份的命令支持,与开机时是否进行文件系统检验fsck等命令相关。
/etc/fstab这个文件的内容很重要:
第一列,磁盘设备文件或该设备的Label,这个字段请填入文件系统的设备文件名。系统默认使用Label名称。可以使用dumpe2fs命令查阅Label.
利用设备名称(ex>/dev/hda1)来挂载分区时,是被固定死的,你的硬盘不可以随意查在任意插槽。而使用Label name来挂载虽然没有插槽方面
的问题,但你就要随时注意Label name,尤其是新增磁盘的时候。
第二列,挂载订,挂载点一定是目录
第三列,磁盘分区的文件系统,在手动挂载时可以让系统自动测试挂载,但这个文件当中我们必须要手动写入文件系统才行。(查看文件系统命令: lsblk -f )
第四列,文件系统参数,如下表:
第五列,是否能被dump命令作用
dump是一个用来作为备份命令,可以通过fstab指定哪个文件系统必须进行dump备份。0代表要做dump备份,1代表要每天进行dump
2代表不定期的dump备份操作,通常这个参数不是0就是1.
第六列,是否以fsck检验扇区
开机过程中系统默认会以fsck检验我们的文件系统是否是完整(clean)。不过,某些文件系统是不需要检验的,例如内存交换空间,或者是
特殊文件系统。0是不要校验,1表示最早检验(一般只有根目录设置为1),2也是要检验,不过会比较早被检验。一般来说根目录设置为1
其他的要校验的文件系统兜设置为2就好了。
假设要将/dev/hdc6每次开机都自动挂载到/mnt/hdc6,如何进行?
首先,用nano将下面这一行写入/etc/fstab当中
再来看/dev/hdc6是否已经挂载,如果挂载了,请先卸载
测试一下刚才我们写入/etc/fstab的语法是否有错误,这点很重要,因为这个文件如果写错了,Linux可能无法顺利开机
最终看到/dev/hdc6被挂载起来的信息才是成功挂载了,而且以后每次开机都会顺利将此文件系统挂起来。
/etc/fstab是开机时候的配置文件,不过实际文件系统挂载时记录到/etc/mtab与/proc/mounts这两个文件中的。每次我们在改动文件系统挂载时,
也会同时改动这两个文件。
特殊设备loop挂载(镜像文件不刻录就挂载使用)
挂载光盘DVD镜像文件
如果我们下载了Linux或者是其他所需光盘DVD镜像文件之后,难道要刻录成光盘才能够使用该文件里的数据吗?当然不是,我们可以通过loop
设备来挂载。如何挂载呢:
如此一来我们不需要将这个文件刻录称为DVD就能读取内部的数据了。话句话说就是你可以对这个文件内“动手脚”去修改文件。
新建大文件制作loop设备文件
我们可以制作一个大文件,然后将这个大问津格式化后挂载。这是个有趣的操作,而且还能帮我们解决很多系统分区不良问题。举例来说,如果
当初在分区时,只有分出一个根目录,假设现在已经没有多余空间进行额外分区。偏偏根目录空间还很大,此时你就能够制作出一个大文件,将这个
大文件挂载。下面我们在/home下创建一个512M的大文件,然后将这个大文件格式化并且实际挂载来实践一下。
创建大文件,用dd创建空的文件。
格式化:
挂载:利用特殊参数,-o loop处理
这个简单的方法可以让你在原本的分区不改动的环境下制作出你想要的分区。尤其是想玩linux上面的虚拟机的话,也就是以一台linux主机再切割称为
数个独立主机系统时,类似VMware这类软件。在Linux上使用xen这个软件,它可以配合这种loop device的文件类型来进行根目录的挂载,很有用。