了解了 mount 命令之后,读者可能会问,系统如何在开机时自动挂载硬盘,它又是怎么知道哪些分区是需要挂载的呢?

很简单,Linux 通过 /etc/fstab 配置文件来确定这些信息,这个配置文件对所有用户可读,但只有 root 用户有权修改此文件。也就是说,如果我们想实现开机自动挂载某个硬件设备,只需要使用 root 身份在 /etc/fstab 文件中添加此设备即可。

首先,我们打开这个文件看看吧,执行如下命令:

[root@localhost ~]# vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults 1 1
UUID=0b23d315-33a7-48a4-bd37-9248e5c44345 /boot ext4 defaults 1 2
UUID=4021be19-2751-4dd2-98cc-383368c39edb swap swap defaults 0 0
#只有这三个是真正的硬盘分区,下面的都是虚拟文件系统或交换分区
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5, mode=620 0 0
sysfs /sys sysfe defaults 0 0
proc /proc proc defaults 0 0

目前,大家可以忽略 tmpfs、devpts、sysfs 和 proc 这几行,它们分别是与共享内存、终端窗口、设备信息和内核参数相关联的特殊设备。

可以看到,在 fstab 文件中,每行数据都分为了 6 个字段,它们的含义分别是:

  1. 用来挂载每个文件系统的分区设备文件名或 UUID(用于指代设备名);
  2. 挂载点;
  3. 文件系统的类型;
  4. 各种挂载参数;
  5. 指定分区是否被 dump 备份;
  6. 指定分区是否被 fsck 检测;

下面,我们一一进行讲解。

/etc/fstab文件各字段的含义

首先介绍第一个字段,什么是 UUID 呢?UUID 即通用唯一标识符,是一个 128 位比特的数字,可以理解为就是硬盘的 ID,UUID 由系统自动生成和管理。

这个字段在 CentOS 5.5 系统中是写入分区的卷标名或分区设备文件名的,现在变成了硬盘的 UUID。这样做的好处是当硬盘増加了新的分区,或者分区的顺序改变,或者内核升级后,仍然能够保证分区能够正确地加载,而不至于造成启动障碍。

那么,每个分区的 UUID 到底是什么呢?用 dumpe2fs 命令(后续会讲)就可以查看到,具体执行命令如下:

[root@localhost ~]# dumpe2fs /dev/sdb5
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: test_label
Last mounted on: <not available>
Filesystem UUID: 63f238f0-a715-4821-8ed1-b3d18756a3ef
#UUID
...省略部分输出...

另外,也可以通过查看每个硬盘UUID的链接文件名来确定UUID,命令如下:

[root@localhost ~]# ls -l /dev/disk/by-uuid/
总用量 0
Irwxrwxrwx. 1 root root 10 4 月 11 00:17 0b23d315-33a7-48a4-bd37-9248e5c44345
-> ../../sdal
Irwxrwxrwx. 1 root root 10 4 月 11 00:17 4021 be19-2751 -4dd2-98cc-383368c39edb
-> ../../sda2
Irwxrwxrwx. 1 root root 10 4 月 11 00:17 63f238f0-a715-4821-8ed1-b3d18756a3ef
-> ../../sdb5
Irwxrwxrwx. 1 root root 10 4月 11 00:17 6858b440-ad9e-45cb-b411 -963c5419e0e8
-> ../../sdb6
Irwxrwxrwx. 1 root root 10 4月 11 00:17 c2ca6f57-b15c-43ea-bca0-f239083d8bd2
-> ../../sda3

第二个字段关于挂载点的含义,我们已经在 《Linux挂载》 和 《Linux mount命令》 章节中讲解,所以这里不再赘述。但需要强调的是,挂载点一定要是已经建立的空目录。

第三个字段为文件系统名称,CentOS 6.3 的默认文件系统应该是 ext4。

第四个字段是挂载参数,这个参数和 mount 命令的挂载参数一致。

第五个字段表示“指定分区是否被 dump 备份”,0 代表不备份,1 代表备份,2 代表不定期备份。

第六个字段表示“指定分区是否被 fsck 检测”,0 代表不检测,其他数字代表检测的优先级,1 的优先级比 2 高。所以先检测 1 的分区,再检测 2 的分区。一般分区的优先级是 1,其他分区的优先级是 2。

配置 /etc/fatab 文件

能看懂这个文件了吧?我们把 /dev/sdb5 和 /dev/sdb6 两个分区加入 /etc/fstab 文件,执行命令如下:

[root@localhost ~]# vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-t239083d8bd2 ext4 defaults 1 1
UUID=0b23d315-33a7-48a4-bd37-9248e5c44345 I boot ext4 defaults 1 2
UUID=4021be19-2751-4dd2-98cc-383368c39edb swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5, mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb5 /disk5 ext4 defaults 1 2
/dev/sdb6 /disk6 ext4 defaults 1 2

可以看到,这里并没有使用分区的 UUID,而是直接写入分区设备文件名,也是可以的。不过,如果不写 UUID,就要注意,在修改了磁盘顺序后,/etc/fstab 文件也要相应的改变。

这里直接使用分区的设备文件名作为此文件的第一个字段,当然也可以写分区的 UUID。只不过 UUID 更加先进,设备文件名稍微简单一点。

至此,分区就建立完成了,接下来只要重新启动,测试一下系统是否可以正常启动就可以了。只要 /etc/fstab 文件修改正确,就不会出现任何问题

每天进步一点点~~

当/etc/fstab修改完重启后,若配置有问题,如UUID错误、文件格式不识别等,会导致系统reboot后进入到root的用户下,此时通过命令:lsblk -f 来查看各块设别的信息,对照着在fstab下修改,再次重启,即可正常进入系统,并完成挂载。

linux --开机自动挂载硬盘【转】相关推荐

  1. linux开机自动挂载硬盘命令,Linux系统开机自动挂载硬盘分区

    本文介绍如何在Linux系统上实现开机自动挂载硬盘分区.先说一下我的硬盘.我的笔记本有一块固态硬盘和一块机械硬盘.我将操作系统安装在固态硬盘上,文件都存放在机械硬盘里.所以每次我需要访问文件时,我都要 ...

  2. linux开机自动挂载硬盘指定权限,Linux开机自动挂载硬盘

    基本上所有 1.对于fat32格式分区,向/etc/fstab中加入下面的内容: /dev/sdaX /media/Y vfat user,rw,utf8,umask=000 0 0 说明:/dev/ ...

  3. Ubuntu开机自动挂载硬盘

    Ubuntu开机自动挂载硬盘 1.使用命令查看分区 sudo fdisk -l Disk /dev/sda:931.53 GiB,1000204886016 字节,1953525168 个扇区 Dis ...

  4. linux 远程挂载目录,linux开机自动挂载远程主机文件目录

    linux开机自动挂载远程主机文件目录 2015-08-18 02:15 分享人:老牛 可以是远程到本地 也可以是两台远程之间 甚至一挂多 其他用途: 网站附件服务器空间不够用了,能否直接挂载另一台的 ...

  5. 设置Ubuntu开机自动挂载硬盘

    一.查看系统中未挂载硬盘 通过命令 sudo fdisk -l df -lh 找到还没挂载好的设备,我这里是 /dev/sdc1. 如果此时你装入的是一块新硬盘,则需要先对硬盘进行分区格式化等操作: ...

  6. Ubuntu 开机自动挂载硬盘

    1.查看Linux硬盘信息: $ sudo fdisk -l 2.格式化硬盘(根据需要确定文件系统): sudo mkfs.xfs /dev/sdb 3.创建/data目录 sudo mkdir /d ...

  7. linux etcfstab 权限,etc/fstab linux开机自动挂载

    某些时候当Linux系统下划分了新的分区后,需要将这些分区设置为开机自动挂载,否则,Linux是无法使用新建的分区的. /etc/fstab 文件负责配置Linux开机时自动挂载的分区. Window ...

  8. ubuntu u盘挂载及开机自动挂载 硬盘剩余空间挂载

    一,u盘或sd卡挂载 1.u盘或者sd卡插上 2.fdisk -l 查看如: 其中64GB 的/dev/mmcblk0就是我的sd卡. 3.把sd卡挂载到/home下:mount  -t vfat / ...

  9. Ubuntu 配置/etc/fstab参数实现开机自动挂载硬盘

    文章目录 前言 fstab 参数含义 实现步骤 1 查看硬盘信息,并找到需要进行挂载的硬盘 2 sudo mkfs.ext4 /dev/sdc 3 sudo mkdir /home/diska 4 查 ...

最新文章

  1. AllUsers And SiteUsers
  2. Xcode多Target设置
  3. IDEA2018软件安装教程
  4. enum python_enum:python实现枚举也很优雅
  5. 自然语言处理工具pyhanlp分词与词性标注
  6. android 圆环温度控件,android 圆环倒计时控件
  7. 比较运算符(ComparisonOperator)
  8. vue 打包css路径不对_vue项目打包后css背景图路径不对的问题
  9. JS实现联欢会抽奖滚动数字效果
  10. php 汉字拼音字典排序,按拼音排序的小技巧
  11. 解决fegin post requestbody 400报错问题
  12. Java计算文件MD5值
  13. JavaScript 资源大全
  14. 软考中级-软件设计师 复习指南(2021年11月已通过)
  15. Pygame游戏编程
  16. OSS Content-legnth 异常
  17. flink入门3-Flink连接Kafka、Redis,实现Kafka Source/Redis Sink
  18. 整理了一周的Python资料,包含各阶段所需网站、项目,收藏了慢慢来
  19. ACW830. 单调栈
  20. 去哪儿网怎么沦为骗子的平台了,一步步揭开去哪儿网欺骗消费者的把戏

热门文章

  1. redisson 看门狗_Redisson的分布式锁
  2. 扫地机器人欠压检测电路_扫地机器人智能家居必备!靠传感器感知外界环境?...
  3. matlab 高斯迭代代码_用Matlab编写你的第一个有限元_《数值计算与程序设计》系列课程...
  4. 设置LD_LIBRARY_PATH不起作用解决
  5. r语言 python 书_推荐关于R的几本书
  6. HDU - 6126 Give out candies
  7. CentOS 6.5通过ifconfig命令看不到网卡IP地址的解决方法
  8. Xcode9 之 Xcode Server 持续集成
  9. [C++] 用Xcode来写C++程序[3] Constants
  10. 打印日志的10个建议