如何正确扩展 /boot FAT 分区(适用于 Arch Linux)

如何正确扩展 /boot FAT 分区(适用于 Arch Linux)

这篇文章实际上是这个 GParted 答案

我试图更新/升级我的 Arch 双启动和 Windows,但我的/boot分区太小(100MB)。所以我通过 GParted 将其扩展了 1GB。不幸的是,这不是扩展分区的正确方法/boot

@用户1686虽然提到了一个解决方案。但是,我不知道如何正确执行任何步骤。有人能给我提供更多详细信息吗?

以下是他的指示:

  1. 备份分区中的所有文件
    • 如何正确地从/boot分区备份文件?
  2. /boot使用以下方法重新格式化分区mkfs.fat
    • 我该如何以这种方式重新格式化它? GParted 可以做到吗?
  3. 将文件复制回/boot分区
    • 如何?

不过,我想知道,使用类似ArchLinux 图形界面安装并希望它能更好地完成/boot分区工作。

顺便说一句,我甚至不知道为什么/boot上次安装时分区这么小,这是我第二次以双启动方式安装 Arch - 因为我的一个 Corsair RAM 内存破坏了我的整个硬件 - 而且我不记得当时有这个问题。

答案1

如何正确地从/boot分区备份文件?

没有什么特别的电喷(默认情况下,这是/boot挂载点的内容),它只是一个普通的 FAT 分区,就像任何其他 FAT 数据分区一样。UEFI 了解文件系统,因此修复启动问题非常容易,无需弄乱启动扇区。只需进行普通复制cp -r /boot /mnt/backup_folder或使用文件资源管理器中的 GUI

但这需要你以某种方式挂载分区。在这种情况下,分区已调整大小,但文件系统尚未调整大小,所以我想你仍然可以在 Linux 中挂载它。如果是这样,那么上面的命令就可以了。在步骤 3 中恢复文件时,以相反的方向执行相同的复制

如果无法挂载/boot,请尝试将确切的旧文件系统区域复制到文件并将其挂载为循环设备

sudo dd if=/dev/esp of=boot_partition.bin bs=1M count=100 # Copy the 100MiB partition
sudo mount -o loop boot_partition.bin /mnt/boot_backup

然后安装后cp -r /mnt/boot_backup /mnt/backup_folder

如果无法安装分区,请不要担心,所有 Linux 和 Windows 安装磁盘上都有启动文件。创建 ESP 后,只需插入 Windows/Linux 安装程序介质并将其复制到/EFI/boot分区中,即可执行第 3 步

注意这些磁盘的文件夹结构/EFI,但也不要太担心,如果目录树错误,只需打开 EFI shell 并选择要引导的正确引导加载程序


我该如何以这种方式重新格式化它? GParted 可以做到吗?

我不知道 gparted 是否可以做到这一点。既然您已经有备份数据,那就试一试吧。如果失败,请使用mkfs.fat。您可以检查手册页了解更多信息。命令如下

mkfs.fat -F 32 -s 1 -S 4096 /dev/your_boot_partition

您只需要关注-S LOGICAL-SECTOR-SIZE-s SECTORS-PER-CLUSTER选项。您需要通过运行来检查逻辑扇区大小fdisk -l。对于 NVMe,它可能是 4096 字节,在这种情况下,要获得 4096 字节的簇,请使用-s 1。如果设备使用 512 字节扇区,则使用-s 8 -S 512

相关内容