LINUX//主机规划与磁盘分区

1.操作系统和硬件的关系

每种操作系统都是在它的专门的硬件上运行的,如早期的苹果在IBM公司设计的硬件(power cpu)开发MAC系统,windows在x86架构上设计。

linux是开源的操作系统,它的源码可以被修改成适合在各种机器上运行。即linux是可移植的。

2.磁盘设备编号

/dev目录下存放着设备,形如/dev/name[start-end]

name:该设备特指的符号
start-end:附加在设备后的符号范围,可以是数字,字符

如:

文件类型name
普通磁盘文件name=sd
虚拟机的磁盘文件name=vd

注意,虚拟机在对磁盘进行编号的时候,是根据检测到磁盘的顺序编号的,并不是根据磁盘接入的插槽号。

3.磁盘分区方法

为什么要分区?

  • 数据安全性。将安全级别高的数据和普通数据分开,在需要修改或者重置数据时可以保障安全性
  • 系统性能。可将常用数据集中在某区,提升访问性能。

通常情况下,柱面是文件系统的最小单位,也是分区的最小单位。

为什么说通常呢,因为GTP(GUID partition table:磁碟分割表)拥有64bit的大容量记录功能的分区表,可以使用扇区进行分区。

两种常用的分区表:

MSDOS微软磁盘操作系统(MBR:Master Boot Record, 主要开机纪录区)GPT 磁盘分区表(GUID(Globally Unique Identifie) partition table)
早期linux,相容windows前34和后33个逻辑区块地址记录分区信息
磁盘第一个扇区存放了主要开机记录区和分区表,每组记录区记录了该区段的起始和结束的柱面号LBA0,分成两部分,一部分是和MBR类似的开机管理程序,原本的分区表位置,放入一个特殊标志的分区,用来表示此磁盘为 GPT 格式之意
64bit的分区表限制了分区表只能容纳四笔记录LBA1 (GPT 表头纪录),纪录了分区表本身的位置与大小,同时纪录了备份用的 GPT 分区放置的位置, 同时放置了分区表的检验机制码(CRC32)
开机记录区主要负责安装开机管理程序LBA2-33 (实际纪录分区信息处),每个 LBA 都可以纪录 4 笔分区纪录,每个 LBA 有 512Bytes,因此每笔纪录用到 128Bytes 的空间
所谓“分区”,只是对那四笔记录进行设置每个都可以视为是主分区,每一个分区都可以拿来格式化使用
可用延伸分区,最多一个。但可由延伸分区进一步划分逻辑分区暂无
延伸分区本身不能格式化(即存储数据),需要切成逻辑分区暂无
每个逻辑分区前面几个扇区用来记载分区信息,这些扇区是延伸分区的一部分,且逻辑分区设备名称号从sda5开始暂无
1~4号是保留给主要/延伸分区的,因此第一个逻辑分区一定是由5号开始的暂无

磁盘容量小于2TB时,自动使用MBR,可在安装系统时指定GPT

4.BIOS和UEFI

BIOS:
整个开机流程到操作系统之前的动作应该是这样的:

  1. BIOS:开机主动执行的固件,会认识第一个可开机的设备(能开机的硬盘),CMOS是记录各项硬件参数且嵌入在主板上面的储存器,BIOS则是一个写入到主板上的一个固件( 固件就是写入到硬件上的一个软件程序)
  2. MBR:第一个可开机设备的第一个扇区内的主要开机记录区块,内含开机管理程序;
  3. 开机管理程序(boot loader):一支可读取核心文件来执行的软件;如果你的开机管理程序能够认识 GPT 的话,那么使用BIOS 同样可以读取到正确的操作系统核心。换句话说, 如果开机管理程序不懂 GPT ,例如 Windows XP 的环境,那自然就无法读取核心文件,开机就失败了
  4. 核心文件:开始操作系统的功能…

开机管理程序作用:
1.提供菜单:使用者可以选择不同的开机项目,这也是多重开机的重要功能!
2.载入核心文件:直接指向可开机的程序区段来开始操作系统;
3.转交其他loader:将开机管理功能转交给其他loader负责

开机管理程序可能不止有一个,开机管理程序除了可以安装在MBR之外, 还可以安装在每个分区的开机扇区(boot sector)。loader只会认识自己的系统盘内的可开机核心文件,以及其他loader而已

如果要安装多重开机, 最好先安装Windows再安装Linux。因为Linux的loader可以手动设置菜单,Windows在安装的时候,他的安装程序会主动的覆盖掉MBR以及自己所在分区的开机扇区,你没有选择的机会,而且他没有让我们自己选择菜单的功能。(这里的菜单指的是对开机管理程序的选择)

UEFI(Unified Extensible Firmware Interface:统一的可扩展固件接口)
BIOS不理解GPT,需要通过GPT相容模式才能读写GPT的磁盘设备。
BIOS仅为16位的程序,与现代操作系统无法接轨
BIOS采用混合语言开发,较为困难。
因此,UEFI应运而生。

UEFI采用C语言编程,可以在开机阶段即让操作系统了解TCP/IP从而直接上网。
UEFI在开机的速度上要比 BIOS 来的快上许多
只需要载入驱动程序即可控制操作计算机硬件
尽管UEFI和操作系统比较类似,但由于UEFI采用轮询(polling)的方式管理硬件资源,效率较低,且无高速缓存功能,整体来说性能无法提升,所以不能作为操作系统使用。
由于黑客能够借由bios阶段取得系统控制器,UEFI新增了secure boot(安全启动)机制:即将开机的系统必须得到UEFI的验证。

4.根目录与挂载

以 / 表示根目录
所谓的“挂载”就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下; 也就是说,进入该目录就可以读取该分区的意思。这个动作我们称为“挂载”,那个进入点的目录我们称为“挂载点”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值