修改挂载点需要注意点什么

我目前的/boot分区挂载的是vfat分区,我想修改成/boot/EFI挂载vfat分区,请问需要注意点什么,毕竟这是个启动分区,里面有引导加载器,暂时不敢修改,怕进不去系统了。

更新fstab、把内核和initramfs移回/boot。更新引导器配置文件。另外要确认你的引导器支持读取你的/boot下的文件。

1 Like

楼主,按你所说

我目前的/boot分区挂载的是vfat分区,我想修改成/boot/EFI挂载vfat分区

你的 boot 分区实际并没有挂载,而是 EFI 分区挂载到 /boot 下了吗?
如果是这样,那就需要把 boot 分区挂载到 /boot,然后在其下创建 efi 目录,将 EFI 分区挂载到 /boot/efi
其他的应该不需要改动,因为 grub 那里是根据 fsuuid 识别的,与挂载点无关。

是这样的,我的vfat(esp分区)挂载到/boot下,只是想改成挂载到/boot/EFI目录下,boot分区没有挂载是什么意思?有点晕

我试试吧

呃,所以楼主你这个是没有单独的 boot 分区吗?内核和 initramfs 及 grub 相关的一些文件直接放到根分区的 boot 目录下了吗?

你可以先配置个snapper, 然后安装一个自动更新启动项的,你就不用担心进不去系统

然后他把esp搞坏了。

/boot就是单独分区把,就是那个ESP分区

boot 分区和 efi 分区应该是不同的概念。

我的操作系统是 LinuxMint,efi 分区是挂载在 /boot/efi 上的。而 /boot 这个文件夹则位于根分区之中。

当然不排除 Arch Linux 和 Ubuntu 在文件系统层次结构上有一些差别。

哦,我的efi分区挂载/boot目录,现在就是想改成挂载/boot/EFI目录

需要把/boot目录内的除EFI目录的所有文件都先拷出来,然后重新挂载后还原到/boot目录内吗

嗯。然后要更新引导器的配置文件以找到更新之后的内核文件位置。

好像不太对。你的esp根目录下应当有EFI目录。适当地挪一挪。

EFI文件我就不用挪了吧

嗯。

坏了,我考虑不周,因为我用的是refind引导器,可以自动扫描ESP分区的内核文件并加载,现在我更换挂载点之后内核文件(vmlinuz-linux、initramfs-linux.img)不在ESP分区了,扫描不到arch系统,能扫描到一个win11,我试试修改refind.conf文件吧

这就是一开始告诉你的:

refind应该支持啊,可以读取EXT4分区啊,但是我这样设置提示找不到vmlinuz文件:

menuentry "Arch Linux" {
icon /EFI/BOOT/icons/os_arch.png
volume 8fc2ec99-9340-4ffb-b79d-77d4e4c0ff21
loader /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
options "root=PARTUUID=8fc2ec99-9340-4ffb-b79d-77d4e4c0ff21 rw add_efi_memmap"
submenuentry "Boot using fallback initramfs" {
initrd /boot/initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}

上面volumn为根分区的GUID,而vmlinuz-linux和initramfs-linux.img确实在/boot目录下,但就是找不到,难道vmlinuz-linux和initramfs-linux.img只能放在ESP分区,refind才能找到吗?

你安装 refind 的时候安装了它的 EFI 驱动了吗?另外在 refind 看来路径变了,原本它们是在文件系统根目录下,现在变成了 /boot 目录下

就是用refind-install命令安装的,wiki里没提什么EFI驱动。

路径肯定变了,原来vmlinuz-linux和initramfs-linux.img都在ESP根目录下,现在放到了/boot下,但是我都指定好了啊,为什么还找不到?