0x01 Linux 分区简介

主分区 vs 扩展分区

硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition),主分区可以马上被使用但不能再分区,扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Partion),逻辑分区没有数量上限制。

驱动器标示的含义

对Linux用户来说无论有几个分区,都得分给目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“挂载点”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区就在linux的存储空间的某个目录下获得。

对于IDE硬盘,驱动器标识符为“hdx1”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“1”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。对于SCSI硬盘则标识为“sdx1”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

上面可以看到,Linux的分区是不同于其它操作系统分区的,它的分区格式常用的有Ext3和Swap两种,Ext3用于存放系统文件,Swap则作为Linux的交换分区(相当于windows中的虚拟内存文件)。那么现在我们就可以知道Linux至少需要两个专门的分区(Linux Native(本地)和Linux Swap(交换))。由于不能将Linux安装在Dos/Windows分区。一般来说我们将Linux安装一个或多个类型为“Linux Native”的硬盘分区,但是在Linux的每一个分区都必须要指定一个“Mount Point”(挂载点),告诉Linux在启动时,这个目录要给哪个分区使用。对“Swap”分区来说, 一般也定义一个,且它不必要定义载入点。

下面我们先对“Linux Native”和“Linux Swap”有个初步的了解。

SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定“Mout Point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的一至两倍。另外你也可以创建和使用一个以上的交换分区,最多16个。

Linux Native是存放系统文件的地方,一般用EXT4的分区类型,对Linux来说,有了较大的选择余地,可以把系统文件分几个区来装(必须要说明挂载点),也可以就装在同一个分区中(挂载点是“/”)。

为什么要自定义多个分区

a. 在不损失数据的情况下重装系统,比如独立设置/home挂载点,重装系统的时候直接标记回/home,数据不会有任何损失。

b. 针对不同挂载点的特性分配合适的文件系统以合理发挥性能,比如对/var使用reiserfs,对/home使用xfs,对/使用ext4。

c. 针对不同的挂载点开启不同的挂载选项,如是否需要即时同步,是否开启日志,是否启用压缩。

d. 大硬盘搜索范围大,效率低

e. 磁盘配额只能对分区做设定

f. /home、/var、/usr/local 经常是单独分区,因为经常会操作,容易产生碎片

0x02 挂载点目录简介

常见的挂载目录结构

目录结构

常见的挂载目录说明

/ 根目录,存放系统命令和用户数据等(如果下面挂载点没有单独的分区,它们都将在根目录的分区中)

/boot boot loader 的静态链接文件,存放与Linux启动相关的程序

/home 用户目录,存放普通用户的数据

/tmp 临时文件

/usr 是Linux系统存放软件的地方,如有可能应将最大空间分给它

/usr/local 自已安装程序安装在此

/var 不断变化的数据,服务器的一些服务、日志放在下面

/opt (Option可选的)附加的应用程序软件包

/bin 基本命令执行文

/dev 设备文件

/etc 主机特定的系统配置

/lib 基本共享库以及内核模块

/media 用于移动介质的挂载点

/mnt 用于临时挂载文件系统或者别的硬件设备(如光驱、软驱)

/proc 系统信息的虚拟目录(2.4 和 2.6 内核),这些信息是在内存中,由系统自己产生的

/root root 用户的目录

/sbin 基本系统命令执行文件

/sys 系统信息的虚拟目录(2.6 内核)

/srv 系统提供的用于 service 的数据

/usr/X1186 X-Windows目录,存放一些X-Windows的配置文件

/usr/include 系统头文件,存储一些C语言的头文件

/usr/src Linux内核源代码,Linux系统所安装的内核源代码都保存在此

/usr/bin 对/bin目录的一些补充

/usr/sbin 对/sbin目录的一些补充

/lost+found 这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下

为什么 linux 的分区需要有挂载这个动作呢

因为linux 下一切皆文件!换句说法就是linux操作系统将系统中的一切都作为文件来管理。在windows中我们常见的硬件设备(打印机、网卡、声卡...)、磁盘分区等,在linux中统统都被视作文件,对设备、分区的访问就是读写对应的文件。

0x03 实战分区挂载

临时挂载

$ mount /dev/sda3 /data ##sda3分区挂载在data目录下

$ umount /data ##卸载data目录下分区

永久挂载:开机自动挂载

需要修改/etc/fstab

LABEL=/data /data ext3 defaults 1 2

修改为:

/dev/sda3 /data ext3 defaults 1 2

PS:fstab 是文件系统分配表的配置文件,该文件有着严格的语法格式限制,类似 crontab 一样,保存时也会对你的输入格式进行校验,请慎重使用,否则会有意想不到的问题发生。其一共有 6 个字段,空格分隔。

添加硬盘&分区&挂载

参考之前写的文摘《Centos下磁盘分区及挂载》

0x04 通过 fstab 设置开机挂载的问题

Linux 在启动的时候通过 fstab 中的信息挂载各个分区,一个典型的分区条目就像这样:

/dev/sda3 /data ext3 defaults 1 2

/dev/sda3 为需要挂载的分区,sda3是 Linux 检测硬盘时按顺序给分区的命名,一般来讲,这个名称并不会变化,但是如果你有多块硬盘,硬盘在电脑中的顺序变化的时候,相同的名称可能代表着不同的硬盘分区。这样的话上面设置的开机自动挂载就会出现找不到分区上面的文件情况

这个时候 UUID 就派上用场了,UUID 全称是 Universally Unique Identifier,也就是说,每个分区有一个唯一的 UUID 值,这样就不会发生分区识别混乱的问题了。

在 fstab 中用 UUID 挂载分区格式如下:

UUID=7cc82613-5be2-4e58-b359-0920613f9509 /data ext3 defaults 1 2

可以通过下面命令得到分区的UUID

$ ls -l /dev/disk/by-uuid/

0x05 FAQ

a. 挂载点必须是一个目录

b. 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。对于其他操作系统建立的文件系统的挂载也是这样,卸载后,目录以前的文件都还在,不会有任何丢失

c. 目录只占磁盘里的一个inode,存放文件属性等信息

d. 任何一个分区都必须挂载到某个目录上

e. 目录是逻辑上的区分。分区是物理上的区分

f. 磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作

g. 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区

h. 一个分区可以挂在多个目录,但反过来一个目录只能是一个分区的挂载点

linux 挂载有数据硬盘分区,linux下磁盘分区、挂载知多少相关推荐

  1. linux 挂载32T文件系统,linux Centos下磁盘分区及文件系统创建与挂载(示例代码)

    linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 ...

  2. linux Centos下磁盘分区及文件系统创建与挂载

    linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 ...

  3. 移动硬盘上划分linux分区,Linux下磁盘分区和移动硬盘的挂载方法有哪些?

    我的电脑80G的硬盘windows分拉一个主分区两个扩展分区,全都是nt格式的分区.剩下的全分给linux拉,我有个移动硬盘80g的自己做的分拉两个区,一个FAT3 2.一个NTFS(60g主要放电影 ...

  4. oracle 磁盘不分区吗,LINUX停ORACLE软件、数据文件等所在的磁盘分区空间不足的解决思路...

    LINUX下ORACLE软件.数据文件等所在的磁盘分区空间不足的解决思路 虚拟机中的ORACLE运行的久了,归档.数据文件不断增长,原来安装ORACLE的分区空间不足. 此时可以重新向虚拟机增加一块硬 ...

  5. linux分区管理,Linux下磁盘分区管理

    Linux下磁盘分区管理 发布时间:2009-04-11 10:29:37来源:红联作者:lvshengming 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb, ...

  6. Linux下磁盘分区工具cfdisk的使用

    对于新手来说,Linux环境下的磁盘分区可能还会存在一些困难.对于熟悉Linux的朋友来说,我们还有fdisk.parted(2TB以上的磁盘分区使用)等磁盘分区工具可以使用. 在我们新增磁盘或者在原 ...

  7. linux磁盘分区创建lvm,Linux下磁盘分区与LVM创建

    Linux下磁盘分区与LVM创建 1. 在系统上添加2块2G的硬盘 2.进入系统以后用fdisk -l 看看两块磁盘是否存在了, 有了磁盘之后,用fdisk和parted 两个工具对磁盘进行分区,现在 ...

  8. Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令

    Linux常用基本命令详解(一) Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令 Linux常用基本命令详解(三) 1.磁盘分区 磁盘分区(系统分区)是使用分区编辑器(part ...

  9. 移动硬盘linux逻辑分区的区别,主磁盘分区、扩展磁盘分区、逻辑分区的区别

    硬盘分区有三种,主磁盘分区.扩展磁盘分区.逻辑分区. 一个硬盘可以有一个主分区,一个扩展分区,也可以只有一个主分区没有扩展分区.逻辑分区可以若干. 主分区是硬盘的启动分区,他是独立的,也是硬盘的第一个 ...

最新文章

  1. C# 获取指定目录下所有文件信息、移动目录、拷贝目录
  2. WSGI 是什么?和nginx有什么关系?
  3. HNCU 1328: 算法2-18~2-19:双向循环链表
  4. opencv计算图像亮度调节_OpenCV教程创建Trackbar图像对比度、亮度值调整
  5. yolov5搭建环境_Yolov5环境配置和训练私有数据,YOLOv5,以及,私人
  6. android struts2 图片上传,xhEditor struts2实现图片上传
  7. 【Redis学习笔记】2018-06-14 Redis源码学习之sentinel
  8. VirtualBox启动报错
  9. 用户 sa 登录失败。_Sqlserver2008R2特定用户只能查看管理指定的数据库
  10. Ubuntu中octopress安装
  11. 排序小记【1】基本排序算法
  12. iphone4刷android,iPhone4如何刷机
  13. 计算机科学与技术专业毕业答辨问题,计算机科学与技术毕业论文题目参考
  14. 对马科维兹投资组合理论的总结
  15. 编译原理 实验三 逆波兰式的生成及计算程序
  16. 城市社会经济专项规划之生态人居规划
  17. JAVA面试题《下》
  18. 镭速(Raysync)文件传输对比Filezilla测试!
  19. 硅谷一万清华人,为何打不过印度人
  20. 广州传智播客PHP课程师资队伍让同行望尘莫及

热门文章

  1. android 仿qq it蓝豹,《IT蓝豹》listview实现各种版面设计功能
  2. android第三方登录appid,AndroidQQ第三方登录
  3. 1 京东_推荐好友拿好礼 | 每1积分可兑换30元京东电子卡
  4. python基础知识资料包-Python基础知识总结——史上最全系列
  5. 高斯曲率求表面极值点
  6. gorm 密码字段隐藏_KeeWeb for mac(密码管理工具)
  7. vue项目安装less_部署vue项目、安装mongodb
  8. mysql orderby多个_MySQL OrderBy
  9. 浏览器滚动条 --- 自定义“衣裳”
  10. sublime text3