在fat32分区上安装/启动

是否可以在安装Ubuntu 16.04期间在fat32分区上安装GRUB?

当我在安装过程中尝试执行此操作时,将打印以下错误:

文件系统类型fat32无法挂载在/boot ,因为它不是一个function齐全的Unix文件系统。 请选择其他文件系统,例如ext2。

我需要它用于双启动(与Windows一起),我想从Windows编辑GRUB配置以更改启动屏幕上的默认操作系统,而不会出现Windows上的文件系统驱动程序的任何问题。

我确定这是一项常见的任务。

另外我经常在一些例子中看到fat32上的GRUB(可启动USB闪存驱动器等),所以我认为原则上可以在fat32上安装GRUB。

根据你所说的你想要做的,重新排序默认的启动顺序,最好的机制是重新编号/重命名/etc/grub.d中的文件,将(Windows?)启动放入(30_os-prober到06_os-)例如探测器)。 然后update-grub将以您希望的方式重写grub.cfg,并将为每次更新保留该顺序。 建议不要直接编辑grub.cfg,因为它经常被内核更新重写。

现在您可以将grub安装到FAT文件系统,但不能在Ubuntu安装期间安装。 当我在磁盘上擦除Windows MBR并且无法重新安装它时,我做了一次,因此我使用grub作为引导加载程序,将引导目录放在小型FAT工具或恢复Windows分区上。 注意,我没有尝试使用此设置进行双启动,因此我不需要担心grub.cfg更新。


不要混淆Ubuntu安装如何限制grub如果手动运行grub可以做什么。 将Ubuntu安装到你的ext4,接受默认的grub安装(/ boot / grub中的MBR和grub文件)。 运行Ubuntu,并将您的FAT挂载到/ mnt(假设您在第二个分区中描述了FAT):

 sudo mount -tvfat /dev/sda2 /mnt 

创建一个名为boot的目录

 sudo mkdir /mnt/boot 

手动将grub安装到FAT分区:

 sudo grub-install --boot-directory=/mnt 

您的grub安装现在运行FAT分区上的文件,您可以从Windows编辑它们。 注意任何“垃圾”,如回车,Windows编辑器可能会放入你的grub.cfg文件(Ubuntu和大多数unix只使用换行符作为行终止符)。 然而,内核的更新将导致新的grub信息被放入/boot/grub/grub.cfg,因此您需要编辑FAT grub.cfg,或将新的grub.cfg复制到FAT并再次编辑(或者新内核不会出现在启动菜单中)。