Hans学Linux系列文章目录

        第0章 计算机系统

        第1章 Linux概述

        第2章 Linux虚拟机安装和磁盘分区


目录

Hans学Linux系列文章目录

前言

一、安装虚拟机

二、Linux磁盘分区

1.MBR分割表

2.GUID partition table, GPT 磁碟分割表

三、BIOS和UEFI开机模式

1. BIOS 搭配MBR/GPT 的开机流程

2. UEFI BIOS 搭配GPT 开机的流程

四、Linux 分区

总结


前言

学习Linux只通过看书看博客是肯定不够的,在自己的PC上安装一个Linux操作系统会好很多,之前研究生的时候在PC上装过双系统、Ubuntu14.04、16.04、18.04和20.01版本都装过,个人感觉更新的系统装起来更省力一些,因为比较老的操作系统对硬件的支持不够,装显卡驱动、wifi驱动会很费时间,而且坑特别多。

这次想通过虚拟机的方式学习Linux,原因有两点:

        一、这种方式安装很方便,不需要考虑引导等问题。

        二、在虚拟机里面可以随便造,不用担心会把电脑搞崩之类的问题。

本次打算使用另一套发行商提供的版本CentOS 7。


一、安装虚拟机

        关于如何在win10下安装虚拟机的帖子有很多,这次就暂且不表。

        我在win10电脑上安装两套虚拟机,一套是CentOS 7.6版本的,另一套选择Ubuntu20.04LTS。

二、Linux磁盘分区

从磁盘的物理结构来看存取信息的最小单位是扇区,扇区的物理量设计有两种大小,分别是512bytes 与4Kbytes。

分割表

1.MBR分割表

早期的Linux 系统为了相容于Windows 的磁碟,因此使用的是支援Windows 的MBR(Master Boot Record, 主要开机纪录区) 的方式来处理开机管理程序与分割表!

而开机管理程序纪录区与分割表则放在磁碟的第一个扇区,这个扇区通常是512bytes。而这个扇区包含的内容有:

  • 主要开机记录区(Master Boot Record, MBR):安装开机管理程序的地方,446 bytes
  • 分割表(partition table):记录整颗硬盘分割的状态,64 bytes 

在分割表中,分为三种分割方式:主要分割、延伸分割和逻辑分割

其中:

  •    主要分割与延伸分割最多可以有四笔
  •    延伸分割最多只能有一个
  •    逻辑分割是由延伸分割持续切割出来的分割槽

虚拟机centOS系统上的d盘在哪 虚拟机磁盘在哪_虚拟机centOS系统上的d盘在哪

由于分割表逻辑地址以32位二进制表示,所以最大只能表示2^32个地址,因此MBR支持的最大容量为2^32*512字节(默认每个扇区大小)=2048G。

较新的硬盘默认扇区支持4k,MBR可支持的最大容量为2^32*4k=16T。

2.GUID partition table, GPT 磁碟分割表

        此种方式较新,可以支持4K磁取的硬盘,大多会使用逻辑区块位址(Logical Block Address, LBA)来处理,GPT 将磁盘所有区块以LBA(预设为512bytes) 来规划,与MBR 仅使用第一个512bytes 区块来纪录不同, GPT 使用了34 个LBA 区块来纪录分割信息,并且与MBR不同,GPT 除了前面34 个LBA 之外,整个磁碟的最后33 个LBA 也拿来作为另一个备份。

虚拟机centOS系统上的d盘在哪 虚拟机磁盘在哪_虚拟机centOS系统上的d盘在哪_02

 LBA0 (MBR 相容区块)

与MBR 模式相似,这个相容区块也分为两个部份,一个就是跟之前446 bytes 相似的区块,储存了第一阶段的开机管理程序!而在原本的分割表的纪录区内,这个相容模式仅放入一个特殊标志的分割,用来表示此磁盘为GPT 格式。

LBA1 (GPT 表头纪录)

这个部份纪录了分割表本身的位置与大小,同时纪录了备份用的GPT分割的位置, 同时放置了分割表的检验机制码(CRC32)。

LBA2-33 (实际纪录分割资讯处)

从LBA2 区块开始,每个LBA 都可以纪录4 笔分割纪录,所以在预设的情况下,总共可以有4*32 = 128 笔分割纪录,GPT 在每笔纪录中分别提供了64bits 来记载开始/结束的磁区号码,因此GPT最大支持的硬盘为2^64*512bytes = 2^30TB。

三、BIOS和UEFI开机模式

1. BIOS 搭配MBR/GPT 的开机流程

        开机流程:

  1. BIOS:开机主动执行的固件,读取硬件信息。
  2. MBR:第一个可开机装置的第一个磁区内的主要开机记录区块,内含开机管理程序;
  3. 开机管理程序(boot loader):读取grub、内核等来启动;
  4. 内核启动:将内核加载到内存中

2. UEFI BIOS 搭配GPT 开机的流程

        UEFI相当于一个小型的操作系统,使用UEFI的主机,在开机的速度上要比BIOS 来的快上许多。UEFI和BIOS的比较如下表所示:

比较项目

传统BIOS

UEFI

使用程式语言

组合语言

C 语言

硬体资源控制

使用中断(IRQ) 管理

不可变的记忆体存取

不可变得输入/输出存取

使用驱动程式与协定

处理器运作环境

16 位元

CPU 保护模式

扩充方式

透过IRQ 连结

直接载入驱动程式

第三方厂商支援

较差

较佳且可支援多平台

图形化能力

较差

较佳

内建简化作业系统前环境

不支援

支援

四、Linux 分区

        一般的教程都使用手动分区/ /boot /swap /home等,可能由于有些教程比较陈旧,很多教程中都选择分区时给/boot分配100M的空间,但此种分区方法已经不太适合了,/boot文件夹一般用来存放一些引导和内核文件,Linux 内核已经发展到了第五代,内核的尺寸也在增加,/boot只分给100M已经明显不够用了。我的建议是分给/boot更多的空间512M或1G,或者是干脆放弃/boot分区,其实影响不是很大。



总结

在本章节介绍了虚拟机安装、磁盘分割、linux分区的内容。

鸟哥的Linux私房菜依然是主要的参考。