起因
由于近些年慢慢将操作平台win10转到Debian(本身也是Linux发行版),但是linux的通病就是什么都得自己手动挡操作,就连简单的硬盘也不能即插即用(像windows一样插上就能识别到并使用),所以理解了一下linux对硬盘的操作逻辑后,有了这篇文章。目的就是每次Debian系统开机自动挂载上我那块1T的机械硬盘(用来存储家人的照片与视频等宝贵的数字资产)。
linux为什么要挂在硬盘?
磁盘或者分区创建好文件系统后,需要挂载到一个目录才能使用。 Windows或Mac系统会自动挂载,一旦创建好文件系统后会自动挂载到系统上,Windows称之为C盘、D盘等等。 Linux需要手动进行挂载操作或者配置系统进行自动挂载操作。
推荐将硬盘挂载至/mnt目录,但是不是强制要求。
MOUNT
在Linux中,我们通过mount命令将格式化好的磁盘或分区挂载到一个目录上。 格式:mount /dev/sda3(要挂载的分区) /mnt(挂载点)。
常用参数:
(不带参数的mount命令会显示所有已经挂载的文件系统。)
- -l 参数可以显示卷标名称
- -t 指定文件系统的类型,可以是ext3、ext4、iso9660等
- -L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载
- -o 指定挂载选项
可用选项:
示例:
mount /dev/hda1 /mnt (将 /dev/hda1 挂在 /mnt 之下.)
mount -o ro,sync /dev/hda1 /mnt (将 /dev/hda1 用只读模式挂在 /mnt 之下,且不使用缓存.)
UMOUNT
命令umount用来卸载已挂载的文件系统,相当于Windows的弹出。
格式:umount 文件系统/挂载点
umount /dev/sda3 就相当于 umount /mnt
如果出现device is busy的报错,则表示该文件系统正在被使用,无法卸载,可以使用以下命令查看使用文件系统的进程: fuser -m /mnt 也可以使用命令lsof查看正在被使用的文件: lsof /mnt
自动挂载(fstab文件)
配置文件/etc/fstab用来定义需要自动挂载的文件系统。
磁盘被手动挂载之后需要把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。 系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。
打开fstab后,fstab中每一行代表一个挂载配置,格式如下:
第一字段:分区设备文件名或UUID(硬盘通用唯一识别码)
第二字段:挂载点
第三字段:文件系统名称
第四字段:挂载参数
第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高
需要挂载的设备也可以使用LABEL(标签、卷标)进行识别,使用“LABEL=VEEJA”取代“/dev/sda3”;当然也可以使用设备的UUID(Universally Unique Identifier)来进行替换。
mount -a命令会挂载所有fstab中定义的自动挂载项。
特别注意:对磁盘设备文件系统的所有操作都必须在设备是卸载状态下进行!
fstab文件修复
可以使用mount -o remount,rw /进行/etc/fstab文件修复
Tips
文章来源于 补给站Linux内核,详情:click here.
文章评论