我最近决定将我定制的系统设置为仅使用 Linux,并手动设置 /boot、/ 和 swap 分区,其中 /boot 和 / 是 ext4 文件系统类型。完成 Ubuntu 13.10 的安装(因为我的 14.04 iso 已损坏)并重新启动后,我将面临 grub 救援提示。我尝试在 /dev/sda 和 /dev/sda1 上安装引导加载程序,我的 /boot 分区位于那里,但似乎我的系统找不到 grub。我终于厌倦了摆弄它,使用 GParted 删除了所有分区,并从 Live DVD 进行安装,并允许安装程序为我安装 Ubuntu。安装完成后,我很好奇,并通过 GParted 检查了分区的设置方式,发现分区相同,但 /boot 使用 fat32 文件系统。我重新启动了系统,它正常启动,没有任何问题。
是否存在某些文件系统类型应该用于 /boot 分区,以便找到/读取 grub?
答案1
理论上,Linux 内核和 GRUB(或您使用的任何引导加载程序)可以读取的几乎任何东西都适用于/boot
。大多数发行版默认为 ext4fs,但我在 Ubuntu 下使用过 ext2fs、ext3fs 和 XFS,没有任何问题。我不记得安装时是否支持 JFS。如果支持,它也应该可以正常工作。Ubuntu/boot
的安装程序不支持 ReiserFS、HFS+ 和 FAT,但如果您在事后设置它们,它们都可以正常工作。可能还有一些(NTFS、exFAT 和其他一些)也可以使用,但我从未尝试过它们 - 至少没有使用 GRUB。FAT 值得特别提及,因为如果您使用 EFI,则 EFI 系统分区 (ESP) 是 FAT,并且安装 ESP/boot
可以简化某些引导加载程序和引导管理器的使用,例如 ELILO 和 gummiboot,它们要求内核与引导加载程序位于同一分区。 Ubuntu 默认使用 GRUB 2,因此如果您使用默认引导加载程序,这对 Ubuntu 来说不是问题,但如果您想尝试,可能值得考虑。另一方面,使用 FAT/boot
会使操作系统版本更新和重新安装稍微复杂一些。
在已安装的系统上更改文件系统的一个复杂之处/boot
在于,您可能需要完全重新安装 GRUB。原因是它的文件系统驱动程序内置于其二进制文件中(存储在 MBR 后面的扇区中、BIOS 启动分区中或文件中grubx64.efi
,具体取决于启动模式和分区表类型)。因此,如果您更改文件系统,则必须重建该二进制文件,这由 完成grub-install
。对于全新安装的 Ubuntu 来说,这不是问题,因为安装程序将grub-install
作为安装过程的一部分运行,因此只要 Ubuntu 安装程序本身接受您选择的文件系统,它就应该可以正常工作——正如我所说,这实际上会缩小 GRUB 允许的范围。
答案2
我使用 ext2(更多的是一种习惯),你也可以为 grub2 使用 ext3、ext4,这并不那么重要。
如今,现代 Linux 发行版对 ext2、ext3 和 ext4 的支持均相同,因此您可以使用其中之一。
来源:https://superuser.com/questions/470688/why-100mb-ext2-boot-partition-recommended-for-linux