【Linux】目录结构和硬盘分区

Linux 目录结构

Linux 目录结构:是个倒挂的树型结构

在这里插入图片描述

/bin 存放二进制可执行文件,常用命令一般都在这里
/etc 存放系统管理和配置文件
/home 存放所有普通用户的家目录
/usr 存放系统应用程序
/opt 额外安装的可选应用程序包所放置的位置。比如,我们可以把 tomcat 等都安装到这里
/proc 虚拟文件系统目录,是系统内存的映射,相当于是存储内存中的信息
/root 管理员的家目录
/sbin 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等
/dev 用于存放设备文件
/mnt 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统
/boot 存放用于系统引导时使用的各种文件
/lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
/tmp 用于存放各种临时文件
/var 用于存放各种服务的日志文件、系统启动日志等

磁盘与分区表示

在 linux 系统中一切皆文件

MBR、GPT分区只作了解即可(内容有点刻板。。。)

硬盘分区

Linux的安装是一个比较复杂的过程,它和Windows操作系统的不同之处在于,它们的文件组织形式不同。安装Linux过程的重点和难点在于怎样进行硬盘分区。
在安装RHEL的过程中可以对硬盘进行分区操作,不过笔者建议读者在安装RHEL之前使用专门的分区工具(比如Linux中可以使用gparted、gdisk、fdisk,Windows中可以使用DiskGenius、AOMEI分区助手等)对硬盘进行分区。
硬盘有两种分区格式: MBR(Master Boot Record,主引导记录)和GPT(Globally unique identifier Partition Table,全局唯一标识磁盘分区表)。

  • MBR和GPT的区别:
    MBR分区表最多只能识别2.2TB大小的硬盘空间,大于2.2TB的硬盘空间将无法识别;GPT分区表能够识别2.2TB以上的硬盘空间。
    MBR分区表最多支持4个主分区或3个主分区+1个扩展分区(扩展分区中的逻辑分区个数不限);默认情况GPT分区表最多支持128个主分区
    MBR分区表的大小是固定的;在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。

MBR分区

MBR早在1983年IBM PC DOS 2.0中就已经提出。

MBR是硬盘的第一扇区,包含已安装操作系统的启动加载器驱动器的逻辑分区信息

它由三部分组成: 启动加载器(boot code)、DPT(Disk Partition Table,硬盘分区表)和硬盘有效标志(Magic number)。

在总共512字节的MBR里启动加载器占446字节,偏移地址为0000H~0088H,负责从活动分区中装载并运行系统引导程序;DPT64字节;硬盘有效标志占2字节(55AA)

启动加载器是一小段代码,用于加载驱动器上其他分区上更大的加载器。如果安装了Windows,Windows启动加载器的初始信息就放在这个区域里——如果MBR的信息被覆盖导致Windows不能启动,需要使用Windows的MBR修复功能来使其恢复正常。如果安装了Linux,则位于MBR里的通常会是GRUB加载器。
DPT分区表偏移地址为01BEH~01FDH,每个分区表项长16字节,共64字节分区项1、分区项2、分区项3、分区项4,分别对应MBR的4个主分区。
Magic number也就是结束标志字,偏移地址01FE~01FF的2字节固定为55AA,如果该标志有错误,系统就不能启动。

硬盘设备

在Linux操作系统中,所有的一切都是以文件的方式存放于系统中,包括硬盘,这是与其他操作系统的本质区别之一。按硬盘的接口技术不同,硬盘种类有三种。
(1) 并口硬盘(IDE)。在Linux操作系统中,它将接入IDE接口的硬盘文件命名为以hd开头的设备文件。
例如,第一块IDE硬盘命名为hda,第二块IDE硬盘就被命名为hdb,以此类推。
系统将这些设备文件放在/dev目录中,如/dev/hda、/dev/hdb、/dev/hdc。
(2) 微型计算机系统接口硬盘(SCSI)。连接到SCSI接口的设备使用ID号进行区别,SCSI设备ID号为0~15,Linux对连接到SCSI接口卡的硬盘使用/dev/sdx的方式命名,x的值可以是a、b、c、d等,即ID号为0的SCSI硬盘名为/dev/sda,ID号为1的SCSI硬盘名为/dev/sdb,以此类推。
(3) 串口硬盘(SATA)。在Linux操作系统中,串口硬盘的命名的方式与SCSI硬盘的命名的方式相同,都是以sd开头。例如,第一块串口硬盘被命名为/dev/sda,第二块被命名为/dev/sdb。

注意: 分区是一个难点,在分区之前,建议读者备份重要的数据。

硬盘分区

硬盘可以划分为三种分区: 主分区(Primary Partition)、扩展分区(Extension Partition)和逻辑分区(Logical Partition)。
一个硬盘最多有4个主分区,如果有扩展分区,那么扩展分区也算是一个主分区,只可以将一个主分区变成扩展分区,在扩展分区上,可以以链表方式建立逻辑分区Red Hat Linux一块IDE硬盘最多支持到63个分区,SCSI硬盘支持到15个分区

(1) Linux硬盘分区的命名。

Linux通过字母和数字的组合对硬盘分区命名,如hda2、hdb6、sda1等。
第1、2个字母表明设备类型,如hdIDE硬盘,sdSCSI硬盘或串口硬盘。
第3个字母表明分区属于哪个设备上,如hda是指第1个IDE硬盘,sdb是指第2个SCSI硬盘。
第4个数字表示分区,前4个分区(主分区或扩展分区)用数字1~4表示。逻辑分区从5开始。如hda2是指第1个IDE硬盘上的第2个主分区或扩展分区,hdb6是指第2个IDE硬盘上的第2个逻辑分区

(2) Linux硬盘分区方案。

安装RHEL 8时,需要在硬盘建立Linux使用的分区,在大多情况下,建议至少需要为Linux建立以下3个分区。
/boot分区。该分区用于引导系统,该分区占用的硬盘空间很少,包含Linux内核以及GRUB的相关文件,建议分区大小为500MB左右。
/(根)分区。Linux将大部分的系统文件和用户文件都保存在/(根)分区上,所以该分区一定要足够大,建议分区大小应大于20GB。
swap分区。该分区的作用是充当虚拟内存,原则上是物理内存的1.5~2倍(当物理内存大于1GB时,swap分区为1GB即可)。
提示: 如果架设服务器,建议如下分区方案。
/boot: 用来存放与Linux操作系统启动有关的程序,比如启动引导装载程序等,建议大小为500MB。
/: Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为20GB。
/usr: 用来存放Linux操作系统中的应用程序,其相关数据较多,建议大于15GB。
/var: 用来存放Linux操作系统中经常变化的数据以及日志文件,建议大于10GB。
/home: 存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的磁盘空间。
swap: 实现虚拟内存,建议大小是物理内存的1~2倍。

GPT分区

GPT可扩展固件接口(UEFI)标准的一部分,用来替代BIOS所对应的MBR分区表每个逻辑块(Logical Block Address,LBA)是512字节(一个扇区),每个分区的记录为128字节负数的LBA地址表示从最后的块开始倒数,-1表示最后一个块

硬盘分区(GPT)在MBR硬盘中,分区信息直接存储在MBR中。

GPT硬盘中,分区表的位置信息存储在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头传统MBR信息存储在LBA 0,GPT头存储在LBA 1;接下来是GPT分区表本身,占用32个扇区;接下来的LBA 34硬盘上第一个分区的开始。GPT会为每一个分区分配一个全局唯一标识符,理论上GPT支持无限个磁盘分区,默认情况下,最多支持128个磁盘分区,基本可以满足所有用户的存储需求。在每一个分区上,这个标识符是一个随机生成的字符串,可以保证为地球上的每一个GPT分区分配完全唯一的标识符。

LBA 0: 为了兼容问题,GPT分区表在磁盘的最开始部分仍然存储了一份传统的MBR,叫做Protective MBR。为了防止设备不支持UEFI,并且可以防止不支持GPT的硬盘管理工具错误识别并破坏硬盘中的数据,在使用MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的一部分分区(通常是前4个分区),可以使不支持从GPT启动的操作系统从这个MBR启动,启动后只能操作MBR分区表中的分区。

LBA 1: 分区表头定义了硬盘的可用空间以及组成分区表的项的大小和数量。默认情况下,最多可以创建128个分区,即分区表中保留了128个项,其中每个都是128字节(EFI标准要求分区表最小要有16384字节,即128个分区项的大小)。分区表头还记录了这块硬盘的GUID,记录了分区表头本身的位置与大小(位置总是在LBA 1)以及备份分区表头和分区表的位置与大小(在硬盘的最后)。它还存储着本身和分区表的CRC32校验。固件、引导程序和操作系统在启动时可以根据这个校验值来判断分区表是否出错,如果出错了,可以使用软件从硬盘最后的备份GPT中恢复整个分区表。如果备份GPT也校验错误,硬盘将不可使用。所以GPT硬盘的分区表不可以直接使用十六进制编辑器修改主分区表备份分区表分别位于硬盘的第二个扇区(LBA 1)以及硬盘的最后一个扇区(LBA -1)备份分区表头中的信息是关于备份分区表的。

LBA 2~33: GPT分区表使用简单而直接的方式表示分区。一个分区表项前16字节是分区类型GUID接下来的16字节是该分区唯一的GUID(这个GUID指的是该分区本身,而之前的GUID指的是该分区的类型)。再接下来是分区起始和末尾的64位LBA编号,以及分区的名字和属性

注意: 如果将一块硬盘从MBR分区转换成GPT分区,会丢失硬盘内的所有数据。所以在更改硬盘分区格式之前需要先备份重要数据,然后使用磁盘管理软件将硬盘转换成GPT格式

ESP分区: ESP(EFI System Partition,EFI系统分区)本质上是一个FAT分区(FAT 32或FAT 16,建议使用FAT 32),使用分区程序给GPT磁盘分区时会提醒建立一个指定大小的ESP分区,并且命名为ESP。EFI使用ESP分区来保存引导加载程序。如果计算机已经预装了Windows 7/8/10,那么ESP分区就已存在,可以在Linux上直接使用。否则,建议创建一个大小为500MB的ESP分区,并且给ESP分区设置一个“启动标记”或名为EF00的类型码。

其他分区: 除了ESP分区外,不再需要其他的特殊分区。读者可以设置根(/)分区swap分区/opt分区,或者其他分区.

硬盘分区

分为主分区、扩展分区、逻辑分区
一个硬盘最多4个主分区,拓展分区也算是一个主分区,只可以将一个主分区变成扩展分区,在拓展分区上可以以链表方式建立逻辑分区

Red Hat Linux对一块IDE硬盘最多支持63个分区SCSI硬盘支持到15个分区

名称规则

hd,表示 IDE 设备
sd,表示 SCSI 设备(目前较多)
vd,表示虚拟设备 (虚拟机中可以见到)
/dev/hda /dev/hdb /dev/hdc /dev/hdd
/dev/sda /dev/sdb /dev/sdc /dev/sdd

/dev/sda1=表示 SCSI 设备,第一块,第一个分区
/dev/sdc3=表示 SCSI 设备,第三块,第三个分区

第1,2个字母表示设备类型
第3个字母表示分区属于那个设备,如had表示第1个IDE硬盘
第4个数字表示分区,前4个分区(主分区或扩展分区)用1-4表示。
逻辑分区从5开始,如hda2指第1个IDE硬盘上的第2个主分区或扩展分区,hdb6指第2个IDE硬盘上的第2个逻辑分区

获取命令行界面(VMware中)

Ctrl+ Alt 将鼠标切换真机
Ctrl+ G将鼠标切换到虚拟机
清屏:ctrl + l

• 虚拟控制台切换(Ctrl + Alt + Fn组合键)
– tty1:图形桌面
– tty2~tty6:字符控制台
图形界面,获取命令行
ctrl shift += 放大终端
ctrl -= 缩小终端

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LenckCuak

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值