博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统的启动与硬盘分区基本知识
阅读量:4144 次
发布时间:2019-05-25

本文共 1856 字,大约阅读时间需要 6 分钟。

操作系统的启动与硬盘分区基本知识

一. 开机流程与主引导分区

1.1 开机需要的设备以及程序

  1. BIOS:镶嵌在主机内的,开机自动执行的一个程序,自动读取磁盘的第一个扇区内的内容–MBR
  2. MBR(Master Boot Record):主引导记录是硬盘内第一个扇区内的数据,内包含引导加载程序。
  3. 引导加载程序(Boot Loader):可以读取内核文件来执行的软件
  4. 内核文件:存放操作系统程序。

1.2 Boot loader提供的功能

  • 提供菜单选项:用户可以选择不同的开机选项(多重引导包含的功能)
  • 载入内核文件:直接执行可开机的程序段来进入操作系统
  • 转交给其他Boot Loader: 转交控制权给其他Loader

磁盘的第一个扇区存放着MBR,MBR中的Boot loader被开机后的BIOS自动执行,其余分区内的Boot扇区内可以存放其他Boot Loader用来加载其他操作系统。

为什么安装windows 和 linux双系统时,最好先安装windows,再安装linux?

  • 安装windows时,window会直接覆盖原有的MBR记录。如果磁盘中已经存在linux,那么后安装windows,MBR内的Boot loader直接丢失,找不到加载linux内核的Boot leader,导致linux系统丢失。
  • 而安装Linux时,可以选择将Boot loader写到MBR或者其他分区的BOOT SECTOR.而且Linux的Boot loader可以手动设置菜单,所以你可以将window的boot loader加入到Linux 的loader中.

二. 磁盘的分区

可以参考我之前的博客:

2.1 基本原理

  • 分区就是用多条记录来逻辑分割磁盘,便于对不同类型的文件进行管理。比如window操作系统下的C,D,E,F盘就是对磁盘的逻辑分割形成的分区。

2.2 实现原理

  • 通过在磁盘的第一个扇区(0号扇区)内的一个64Byte大小(固定)的分区表,记录每个分区的信息,磁盘分区以cylinder为基本单位。
  • 每条分区信息占16Byte,64 = 16×4,可以看出默认只能写入四组分区信息。
  • 这4组分区信息称为主分区(Primary)或者扩展分区(Extensible),最多有一个扩展分区(操作系统的限制)。
  • 主分区直接指向磁盘,不可在分。扩展分区用来扩充64Byte分区表的容量,以容纳更多分区。
  • 将扩展分区的第一个扇区用来记录额外的分区信息,这个扇区记录的分区称为逻辑分区

2.3 分区方案

分区方案取决于具体需求:

  • 如果你只想要四个分区,以后也不会增加分区。那么分区时只分为4个主分区(4P)就可以了。
  • 如果你不确定以后是否会需要其他分区,可以将系统分为n(n<4)主分区 + 1个扩展分区。

2.4 分区工具

  • Linux常用fdisk命令进行分区,具体参数输入man fdisk查看。

2.4 分区挂载

  • linux系统规划时,对磁盘进行分区后,我们需要将分好的区挂载到某个目录才能来访问该分区。
  • 不同的分区可以采用不同的文件格式,常见的文件格式有ex2,ex3k,fat格式
  • 对分区进行格式化后,需要将它挂载在某个目录下。
  • Linux下用mount命令进行挂载

2.4 Linux系统安装时常用分区

挂载目录 磁盘分区大小 分区类型 用途 参考事项
/boot 100MB primary 存放操作系统内核引导文件 /boot分区必须在整块硬盘的最前面。/boot分区如果太小,导致系统内核文件都存放不下,就会导致安装失败。但是也不用太大,因为多余的直接浪费掉,建议采用100MB足够。
/ 10GB primary 根目录 如果/分区太小,那么会导致最后写不进去文件。
/home 10GB primary 系统默认的用户主文件夹,当你登录时默认进入/home/username,其中 username是你登录时的用户名。 取决于你的主机用途,决定大小。
swap 5GB logical 当操作系统内存不够时,将一部分暂时不用的文件保存到swap中,以便内存中能加载其他文件。 swap的大小取决与你的物理内存(Main Memory)大小,如果你的物理内存太小,那么swap分区可能会被大量使用。如果物理内存很充足,那么分区大小可以小一点,节约磁盘空间。
/var 10GB logical 存放一些暂时文件 建议没必要给过多的存储空间,除非你知道你知道它是用来具体存放什么文件的

转载地址:http://cebti.baihongyu.com/

你可能感兴趣的文章
数据库
查看>>
nginx反代 499 502 bad gateway 和timeout
查看>>
linux虚拟机安装tar.gz版jdk步骤详解
查看>>
python实现100以内自然数之和,偶数之和
查看>>
python数字逆序输出及多个print输出在同一行
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
pytorch
查看>>
pytorch(三)
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>