/boot
每次安装Linux发行版时都应该创建分区吗?
拥有/boot
分区与使/
分区可启动之间有区别吗?
/boot
每次安装Linux发行版时都应该创建分区吗?
拥有/boot
分区与使/
分区可启动之间有区别吗?
Answers:
要回答直接的问题:不,/boot
肯定不需要在每种情况下都需要一个单独的分区。
然而,即使你没有别的东西分裂,所以一般建议有单独的分区/
,/boot
和交换。我也强烈建议您也放置/home
一个单独的分区,即使您不进一步拆分文件系统层次结构也是如此。
将/ boot放置在与常规根文件系统不同的分区上的原因是,您可以降低磁盘上文件系统的复杂性,从而降低引导加载程序引导内核和初始RAM磁盘的需求。如果您运行的是非平凡的设置,这将变得特别有趣-也许您正在运行RAID,或者运行不寻常的文件系统,例如根分区上的ZFS或加密的根分区。然后,可以使用例如纯ext2fs格式化/ boot的分区。由于分区只需要很小(几百兆字节就足够了;我当前系统上的/ boot是100 MB,我对此没有任何限制),因此需要非日志文件系统(例如ext2)的缺点并不是那么好,因为无论如何检查都这么快,文件系统的相对简单性以及大部分情况下都是静态的,这可能会降低无法检测到的损坏的可能性。引导加载程序不需要本机了解异类文件系统或磁盘设置是另一个可能的优点。
将/ home放在单独的分区上的原因是,即使有恶意流氓并开始填充它(或者您自己填充),也绝不会冒险给非用户进程造成问题(很少耗尽/)主页)或引导过程本身。另外,如果您可以简单地告诉安装程序将/ home保留原样并重新格式化/
以使用其自己的文件进行填充,则重新安装OS或切换发行版将变得更加容易。如果在软件方面确实出了错,这是最后的恢复工作,这可能会带来很大的不同。
在Linux上不建议运行交换文件,我什至不确定大多数常见发行版的库存内核是否支持(或允许)基于文件的交换。造成这种情况的原因有多种,其中一个很大的原因是性能(很大程度上是由于碎片的风险)。与RAM相比,交换速度已经快得令人难以置信了(它是权宜之计,而不是解决方法),因此没有理由将数据碎片化的风险降低到更慢。在多引导环境中,交换分区可以安全地在Linux发行版之间共享;也许不是一般情况下的考虑因素,但肯定是某些情况下的考虑因素。交换分区也可以放置在具有不同特性的单独物理磁盘上。也许现在是固态硬盘,或者是在单独的控制器通道上运行的10krpm驱动器(如今,当每个SATA磁盘都在单独的通道上时,这不再是一个考虑因素,但在PATA时代可能会有所作为)。
这些天,我个人将/,/ boot和swap分开,在当前系统上的/是100 GB(我几乎无法使用所有这些; curent的使用量是8.9 GB,这给了我所需的一切,软件,然后一些)。主磁盘的其余部分由单个文件系统组成,根据个人习惯,我将其安装在/ da(d
isk a
)上。第二个磁盘是/ db,然后是/ dc,依此类推。(我怀疑FHS是否确实批准了该方案,但是实际上它对我来说效果很好。)然后我将/ home绑定安装到/ da中,这意味着我可以移动物理目录,而不必担心更新每个路径引用还是因为我意识到我的/ home磁盘空间不足而重新分区。
我认为这不是强制性的。过去,由于BIOS的某些限制,这是必要的。在8或64 Go之后,不可能有一个可启动的分区(我不记得了)。然后,如果要进行双重引导,则可以放置第一个小分区(/ boot)和可引导的Windows分区,然后放置其他Linux分区。很长一段时间,根本没有/ boot目录。内核直接位于/上。
区别在于文件系统优化。通常每个分区都有自己的文件,描述符等表。您可以将Linux安装在单个'/'分区上,而无需'/ boot','/ swap',/ usr'等,但是单个分区的内部表很快就会变得庞大并且某些操作会变得有点慢。因此,可以使用不同的分区为不同类型的任务提供单独的,优化的容器。
usage
,而不是大小。inode
的是一个列表,因此,更多的inode
s =用于文件查找,添加等的时间稍微多一点。空分区和具有百万个文件的分区之间的区别不是很大,但是对于启动或交换之类的操作而言,任何区别都很重要。
/swap
和之间有很大的区别swap
。