鸟哥的Linux,为啥要分配BIOS boot分区?为啥/boot要分配1G这么多?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鸟哥的Linux,为啥要分配BIOS boot分区?为啥/boot要分配1G这么多?相关的知识,希望对你有一定的参考价值。

因为boot文件系统必须在主分区才能启动,所以要做一个boot分区。

下面我对不知道怎么分区的用户而言说说高级用户应该明白自己需要什么,例如确定自己使用的BIOS可能无法读取100GB后的位置或是要使用LVM等。 

linux社区的一个问题是,很多老旧的资料还在网上传来传去。其中一些真的需要更新了,例如给/boot专门分一个100MB的分区这种做法。 

曾经给/boot一个很小的分区是有十分充足的理由的,因为在二十几年前,BIOS只能认一个1024柱面的硬盘,如果启动文件放在0-1023(从0开始数,共1024个柱面)之外,BIOS就无法读取启动所需的文件,从而无法启动。

为了兼容这种BIOS,就需要在磁盘前端分出一个小分区专门来存储启动文件。 

但是现在,应该是找不到那么古老的主板了,即使能找到,也无法安装现在的linux了。 100MB的boot分区,有什么害处呢? 

太小了,放不下现在启动所需的文件了。现在的linux,留下两个内核是很正常的,如果新内核有什么问题,还可以用老内核。

这台机器上现在有两个版本的linux内核(3.13.0-85 和 4.4.0.21),一共多大呢? 

看上去两个内核100MB勉强够用,但是现在的启动文件是越来越大的,例如3.13的initrd是29M,但4.4的initrd有35M,下一次升级内核,100MB就不够用了。 

另外在Debian系的Linux发行版上,还有另一个问题,老旧的内核不会被自动清除。上次手动清理冗余内核的时候,/boot已经达到了700+MB。/boot分区满了,内核就无法安装,引发问题。 

所以,不要划分/boot分区。 

另外,使用gpt的硬盘那个EFI system partition不是boot分区,不要搞混了。

以上就是我对不知道怎么分区的用户的简单介绍,希望我的回答能对您有帮助。

参考技术A 为了方便以后更新内核追问

更新什么内核?用心点回答

追答

避免1024柱面问题。这个原先是由于bios限制,导致/boot分区要求在硬盘1024柱面前,所以如果硬盘有其他系统的分区,需要单独规划/boot来避免这个问题,不过近3年内的PC机已经不存在此问题了。
3,文件系统支持问题。如果你的引导管理器不支持某种文件系统,则就无法找到/boot下的内核镜像,造成无法引导内核。例如很著名的一种情况是grub无法引导作了linux soft raid 0的分区,因此需要把/boot从raid0独立拿出来分为普通ext3格式来保证内核可以引导。

参考技术B /boot文件系统必须在主分区才能启动,所以要做一个boot分区,如果/boot在根文件系统上,并且根文件系统直接建在主分区上,就不用单独分区
/boot大一点儿可以为升级、编译的新内核预留空间,如果你不需要,小一些也是没问题的追问

那/BIOS boot这个分区用来干啥的

追答

GPT的磁盘才需要的一个bios引导分区,用来安装引导程序

本回答被提问者和网友采纳

以上是关于鸟哥的Linux,为啥要分配BIOS boot分区?为啥/boot要分配1G这么多?的主要内容,如果未能解决你的问题,请参考以下文章

鸟哥的Linux私房菜——第十八章:磁盘配额quota

鸟哥的linux私房菜——第3章 主机规划与磁盘分区

鸟哥的Linux私房菜第三章主机规划与磁盘分区-2. 安装Linux前的规划

鸟哥的Linux私房菜——第十二章:档案的压缩与打包

2018-04-24 《鸟哥的Linux私房菜 基础学习篇(第四版)》 第19章 开机流程模块管理与Loader_2 笔记

鸟哥的Linux私房菜基础篇-第三版 笔记