我们是在虚拟机上安装的Linux系统。在安装的过程中,可能会遇到磁盘分区的问题,我们下面简单介绍一下分区的原理。

1.硬盘的基础知识

下面是一块空白的硬盘:


这是一块格式化后的硬盘:

格式化就是,在空白空间中建立秩序。
其他的格式(不同的文件系统):

存入磁盘的数据:


存数据并不是从头到尾按照顺序存数据,其实是向我们的哈希表一样,我们的数据存在哈希表的时候,会计算出一个哈希code值,再把这个数据放在哈希表的唯一的一个位置上(如果哈希code相同,就会把数据存成一个链表或者数组再放在唯一的一个位置上),所以不是连续的放数据,会形成一个稀疏的表。那么我们寻找数据的时候就会很轻松,只要计算它的哈希code值,然后定位唯一的一个位置找到数据,速度十分的快。

硬盘上存数据就有点像哈希表,是稀疏的存储,不是连续的存储。

2.分区的知识

那么为什么要分区?
(1)支持多种文件系统
(2)更加容易管理

例如我们硬盘分了四个区,我们要记住每个区的开始和结束。分区的信息记录在硬盘的柱面的第一个磁道的512个字节中(硬盘的最开始),我们一般称之为硬盘分区表。那么,毁灭硬盘分区表就相当于毁掉一个硬盘。

分区表记录了硬盘的分区信息,但是一个硬盘分区表只能记录四个分区。

硬盘上的分区分三种:
(1)主分区
装了我们最基本的操作系统的分区。主分区+扩展分区最多只能分四个区,因为上面提到了一个硬盘分区表只能记录四个分区。

(2)扩展分区
上面提到了主分区+扩展分区最多只能分四个区,一般大家的电脑都不止四个分区,那是因为在扩展分区中,还可以分逻辑分区。类似于树状结构。

(3)逻辑分区
就是拓展分区分出来的分区。

接下来是几组分区的图例:
(1)使用未经分区的空间安装Linux

(2)使用一个不在使用的空间
把原来的那块分区格式化之后,再安装系统

(3)已经安装了操作系统的磁盘空间
重新分区,然后安装,原来的所有数据就没有了

也有一些无损分区的技术,就是把之前分区的数据压缩在某一块连续空间中,把剩下的空间再划分:
步骤一:压缩


步骤二:分区


步骤三:在新分区中安装系统

最后,分享一个windows系统的磁盘分区图例:


windows与linux分区对比


windows与Linux系统共存的磁盘分区情况

注:Linux硬盘的命名规则:
/dev/xxyN
其中xx:
分区名的前两个字母表名分区所在设备的类型,通常是hd(IDE磁盘)或sd(SCSI磁盘)。
y:
这个字母标明分区所在的设备。例如,/dev/hda(第一个IDE磁盘)或/dev/sdb(第二个SCSI磁盘)
N:
最后的数字代表分区。前四个分区(主分区或拓展分区),使用数字1排列到4.逻辑分区从5开始。例如,/dev/hda3是在第一个IDE硬盘上的第三个主分区或拓展分区;dev/sdb6是在第二个SCSI硬盘上的第二个逻辑分区。

2.Linux系统之硬盘与分区基础知识的更多相关文章

  1. 安装Ubuntu Linux系统时硬盘分区最合理的方法

    无论是安装Windows还是Linux操作系统,硬盘分区都是整个系统安装过程中最为棘手的环节,网上的一些Ubuntu Linux安装教程一般都是自动分区,给初学者带来很大的不便,下面我就根据多年来在合 ...

  2. Linux中新增硬盘的分区,格式化与挂载

    Linux中新增硬盘的分区,格式化与挂载 本篇教程内容为怎样对Linux新增硬盘进行挂载,所以如果有准备新增硬盘但是有各种问题的,请参看本篇教程. 我们先说说什么是挂载? 我们知道Linux中的所有设 ...

  3. linux系统下重要的分区及其作用

    下面列出来的是linux系统下重要的分区及其作用/bin :bin是binary的缩写;/boot :存放启动Linux时使用的一些核心文件;/root :root(超级管理员)的用户主目录;/sbi ...

  4. Linux系统添加硬盘设备(磁盘分区-格式化-挂载-使用)

    当全新安装了一块新的硬盘设备后,为了更充分.更安全的利用硬盘空间首先要进行磁盘的分区, 然后格式化,最后挂载使用. 实例:对新添加的硬盘设备进行分区.格式化并挂载到/newFS目录. 第一步:在vmw ...

  5. 虚拟机中给linux 系统添加硬盘以后,进行分区挂载

    当自己虚拟机中的linux 系统硬盘不够用的时候需要添加硬盘给系统使用,所以可以通过以下的步骤实现 1.关闭自己的客户机,然后执行以下步骤 2. 上面的步骤完成以后,重点来了,下面打开客户机,执行以下 ...

  6. Linux下添加硬盘,分区,格式化详解

    2005-10-17 在我们添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法. 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb.依此类推 我们一般主板 ...

  7. Linux系统挂载点与分区的关系(转载)

    计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区.在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区.主分区是能够 ...

  8. linux系统添加swap(虚拟内存)分区

    ​ 在实际的生产环境中,实际的物理内存我们经常会觉得不够用,增加物理内存的成本又比较高,一种折中方案就出来了,使用硬盘的一部分空间来做Swap(windows 下叫虚拟内存),将系统内非活动内存换页到 ...

  9. 为linux系统添加虚拟内存swap分区

    阿铭linux学习笔记之swap分区 一.作用: swap分区是交换分区,在系统物理内存不足时与swap进行交换,对web服务器的性能影响极大,通过调整swap分区大小来提升服务器的性能,节省资源费用 ...

随机推荐

  1. 难道你现在还不知道:C/S和B/S

    随着网络技术的不断发展,各种各样的网络应用程序大爆发.运用最多的架构是基于浏览器+服务器的B/S结构,另一种是基于的 C/S结构. 概述: BS = Browser / Server =浏览器+服务器 ...

  2. USACO Training Section 1.1 坏掉的项链Broken Necklace

    题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 n=29 的二个例子: 第一和第二个珠子在图片中已经被作记号. 图片 A ...

  3. muduo网络库源码学习————线程池实现

    muduo库里面的线程池是固定线程池,即创建的线程池里面的线程个数是一定的,不是动态的.线程池里面一般要包含线程队列还有任务队列,外部程序将任务存放到线程池的任务队列中,线程池中的线程队列执行任务,也 ...

  4. Dubbo(六):zookeeper注册中心的应用

    Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的.而dubbo中考虑了外部许多的注册组件的实现,zk,redis,etcd,consul,eurek ...

  5. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

  6. 关于 k210 的 micropython 添加 ussl 模块,实现 https 访问支持的那些事。

    起因 事情已经过去快一周了吧,继上次修复 maixpy k210 的 esp8285 at 通信后,突然遇到泽畔大大问,要不要做 ussl 的支持? 评估了一下各方的实现,想了一下自己也刚好在做网络层 ...

  7. 【STM32系列汇总】小白博主的STM32实战快速进阶之路(持续更新)

    我把之前在学习和工作中使用STM32进行嵌入式开发的经验和教程等相关整理到这里,方便查阅学习,如果能帮助到您,请帮忙点个赞: 本文的宗旨 STM32 只是一个硬件平台,同样地他可以换成MSP430,N ...

  8. 24款WordPress网站AI插件大盘点

    ------------恢复内容开始------------ 你想把AI(人工智能)技术和机器学习技术添加到自己的WordPress网站吗?本文中,我会分享24个利用AI技术和机器学习技术的WordP ...

  9. [hdu4498]离散化,simpson求积分

    题意:,求这个函数在[0,100]上的图像的长度. 思路:采用离散化的思想,求出所有交点 ,把交点排序,把[0,100]分成若干个小区间,这样原函数在每个小区间上的图像属于某一个二次函数或者是一条直线 ...

  10. vue render 中遇到的问题

    以后遇到问题会持续更新 1 render中   判断是否显示 2 render中  属性可以通过判断的形式显示