安装Linux系统时不要划分/boot分区
Notes:偶然发现去年5.31零点三十未写完发表的草稿……
仅对于不知道怎么分区的用户而言,高级用户应该明白自己需要什么,例如确定自己使用的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),一共多大呢?
代码:
ls -al –block-size=M /boot
total 98M
看上去两个内核100MB勉强够用,但是现在的启动文件是越来越大的,例如3.13的initrd是29M,但4.4的initrd有35M,下一次升级内核,100MB就不够用了。
另外在Debian系的Linux发行版上,还有另一个问题,老旧的内核不会被自动清除。上次手动清理冗余内核的时候,/boot已经达到了700+MB。/boot分区满了,内核就无法安装,引发问题。
所以,不要划分/boot分区。
另外,使用gpt的硬盘那个EFI system partition不是boot分区,不要搞混了。