Linux-两种磁盘分区方式
Linux文件设备
要理解Linux,首先要理解Linux文件结构
在Linux操作系统中,几乎所有的设备都位于/dev目录中
| 名称 | 作用 | 位置 |
|---|---|---|
| SATA接口 | 电脑硬盘接口 | /dev/sd[a-p] |
| U盘 | 可移动设备 | /dev/sd[a-p] |
| Virtio接口 | 提供虚拟化 | /dev/vd[a-p] |
| 软盘驱动器 | 软驱,逐渐淘汰 | /dev/fd[0-7] |
| 打印机 | 提供打印能力 | /dev/lp[0-2] (25针打印机) /dev/usb/lp[0-15] (USB接口) |
| 鼠标 | 连接鼠标 | /dev/input/mouse[0-15] /dev/psaux /dev/mouse |
| CD-ROM DVD-ROM | /dev/scd[0-1] /dev/sr[0-1] /dev/cdrom | |
| 磁带机 | /dev/ht0 /dev/st0 /dev/tape |
由于SATA,USB,SAS都是以SCSI模块进行驱动的,所以这些接口的磁盘设备文件名都是/dev/sd[a-p]的格式
MBR和GPT
MBR(Master Boot Record):
MBR因为只有512字节大小,所以不能载入操作系统的核心,而载入能够载入计算机核心的程序,即引导程序。
使用MBR的方式来处理引导程序和分区表,而处理引导程序的记录区(目的是加载内核文件)和分区表则在磁盘的第一个扇区,这个扇区具有512字节的大小,其中分区表有64字节,所以最多仅能有四组记录区(每组分组表仅有16字节),记录区记录了该区段的启动和结束的柱面号码。而这四组记录区被称为主要区或者拓展区。
我们也可以利用额外的扇区记录更多的分区,类似Windows系列的划分硬盘分区至5个及以上。
由扩展分区扩展出来的分区叫做逻辑分区,位于操作系统中的位置是:/dev/sda[5+]
如果扩展分区被破坏,那么整个逻辑分区将被删除,因为逻辑分区的信息都记录在扩展分区里面。
并且考虑到磁盘的连续性,一般将扩展分区的柱面号码分配到最后的柱面内。
从《鸟叔的Linux私房菜》中我们可以得到如下的信息:
主要分区与扩展分区最多可以有4个
扩展分区最多只能有1个
逻辑分区由扩展分区持续划分出来的分区
能够被格式化后作为数据存取的分区是主要分区和逻辑分区,扩展分区无法格式化。
逻辑分区的数量依据操作系统而不同,在Linux中的SATA硬盘已经可以突破了63个以上的分区限制。
同样由于MBR使用的扇区磁盘小,导致它的容量,能够存储信息就小,随着硬件设备的逐渐发展,暴露出的弊病也就越来越明显:
操作系统无法使用2.2TB以上的磁盘容量(每一个)
MBR仅有一个区块,如果被破坏后很难恢复(牵一发而动全身)
解决方法:
为了支持能够大于2T的硬盘空间,微软和英特尔公司在可扩展接口(Extensible Fireware Interface)中开发了全局唯一标识符(Globally unique identifier GUID),进而全面支持大于2T的硬盘空间在企业中的应用。
GPT(GUID Partion table)
GPT使用逻辑区块地址(Logical basic address)来处理4K的扇区,这是MBR解决不了的。同时GPT的第一个逻辑分区LBA0为MBR兼容模块。在这个模块中存放了启动引导程序与一个特殊标识符,这个标识符用来保护磁盘。
而LBA1则是GPT表头记录,记录了分区表本身的位置和大小,同时记录了备份用的GPT分区放置的位置。
而LBA2-LBA33区块是用来记录分区信息的,每个LBA能够由4组分区记录,因为每个LBA有512个字节,所以每组记录用到了128字节。
由于GPT在每组记录中使用了64位来记录开始/结束的扇区号码,所以单一分区的最大容量为2^64*512字节==8ZB
GRUB
多操作系统引导程序,允许用户在计算机内有多个操作系统,并且在计算机启动时选择希望它运行的操作系统
硬盘的规划,是熟练掌握Linux的第一步,因为Linux以文件目录作为首要管理方式的。
所以一般刚开始学习Linux的时候,我们需要了解Linux的分区方式
最简单的分区方式:
仅仅划分出根目录/和交换分区Swap,具有MBR一样的缺点,牵一发而动全身,只要有一个小心接坏掉,那么整个根目录就会损毁
麻烦一点的分区方式:
通过分析主机的用途来进行划分:
一些比较大的且读写频繁的目录:
/boot
/
/home
/var
swap
Linux-两种磁盘分区方式的更多相关文章
- Linux下的两种磁盘分区工具的使用
如何使用fdisk和parted分区工具来进行硬盘分区,下面我来说一下在Linux系统中这两种硬盘分区工具的使用方法: ----------fdisk分区工具---------- ...
- linux初学者-磁盘分区方式篇
linux初学者-磁盘分区方式篇 一般的计算机都会采用mbr分区方式,这种分区方式只能够建立四个主分区,如果还需要或更多的分区,就需要将其中一个主分区建立成一个扩展分区,在里面建立逻辑分区,这些分区信 ...
- Linux共享库两种加载方式简述
Linux共享库两种加载方式简述 动态库技术通常能减少程序的大小,节省空间,提高效率,具有很高的灵活性,对于升级软件版本也更加容易.与静态库不同,动态库里面的函数不是执行程序本身 的一部分,而是 ...
- Linux学习(CentOS-7)---磁盘分区(概念、分区方法、分区方案)
1磁盘分区相关的概念 1.1什么是磁盘 磁盘就是计算机的外部存储器设备,即将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失.简单地讲,就是一种计算机信息载体,也 ...
- Linux下的磁盘分区和逻辑卷
一.硬盘接口类型 硬盘的接口主要有IDE.SATA.SCSI .SAS和光纤通道等五种类型.其中IDE和SATA接口硬盘多用于家用产品中,也有部分应用于服务器,SATA是一种新生的硬盘接口类型,已经取 ...
- 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- Oracle数据库的两种授权收费方式介绍!
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...
- Linux Shell查看磁盘分区,内存使用,CPU使用率
Linux Shell查看磁盘分区,内存使用,CPU使用率 #!/bin/bash #disk_used_rate Location=/dev/xvdb Disk_Used_Rate=$(df -h ...
- linux系统查看磁盘分区使用空间
Df命令是linux系统以磁盘分区使用空间:df -hl
随机推荐
- Spring(IOC、AOP和事务)
目录 Spring介绍 Spring IOC 传统代码对象管理的弊端 实现过程 bean标签属性介绍 对象创建方式 工厂bean bean的作用域 SpringBean的生命周期*** 依赖注入 注解 ...
- D - D (畅通工程再续)
相信大家都听说一个"百岛湖"的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政 ...
- AtCoder Beginner Contest 178
比赛链接:https://atcoder.jp/contests/abc178/tasks A - not 题意 给出一个整数 $0 \le x \le 1$,如果 $x$ 是 $0$ 就输出 $1$ ...
- C#线程Thread类
在System.Threading 命名空间下,包含了用于创建和控制线程的Thread 类.对线程的常用操作有:启动线程.终止线程.合并线程和让线程休眠等. 1 启动线程 在使用线程前,首先要创建一个 ...
- 恢复win10 LTSC 2019 图片查看器功能
1.开始–运行–输入"regedit"打开注册表. 2. 在打开的注册表编辑器中,从左侧依次展开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win ...
- WPF 无法对元素“TextBox”设置 Name 特性值“TB2”
错误信息 无法对元素"TextBox"设置 Name 特性值"TB2"."TextBox"在元素"UserControl1&quo ...
- [笔记]吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
开发的原因,需要对吞吐量(TPS).QPS.并发数.响应时间(RT)几个概念做下了解,查自百度百科,记录如下: 1. 响应时间(RT) 响应时间是指系统对请求作出响应的时间.直观上看,这个指标与人对软 ...
- Kubernets二进制安装(13)之部署Flannel
Flannel简介 Flannel是CoreDNS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址 ...
- Python——Django框架——邮件
#引用EMAIL服务 EMAIL_BACKEND = 'django.cpre.mail.backends.smtp.EmailBackend' #EMAIL发送服务器 EMAIL_HOST = 's ...
- 爬虫入门六 总结 资料 与Scrapy实例-bibibili番剧信息
title: 爬虫入门六 总结 资料 与Scrapy实例-bibibili番剧信息 date: 2020-03-16 20:00:00 categories: python tags: crawler ...