有时,Arch Linux 中更新的某些软件包会编辑 /boot 目录中的某些文件。例如:
$ sudo pacman -S linux
...
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
...
如果引导分区仅用于引导系统且当前未挂载,则更新 linux 将在稍后引导时导致问题。
具体来说,对我来说,这些问题包括 gdm 或 X 不响应任何内容(尽管 TTY 仍然可以访问)。
为了解决这个问题,我必须:
$ sudo mount /dev/BOOT_PART /boot
$ sudo mkinitcpio -p linux
有没有办法
(1):自动检测修改/boot的更新,并在必要时挂载该分区
或者
(2):将引导分区始终安装在 /boot 上,以防发生上述情况
没有挂载boot分区,/boot下仍然有文件。这是因为我将引导分区作为访问同一硬盘驱动器上其他操作系统的一种方式存在。如果它位于我的正常加密操作系统根目录上,我将不得不允许它解密才能访问引导加载程序,这不是最佳的。因此需要有一个启动分区,一旦启动,主操作系统将被解密,并且该分区也必须像普通系统一样在 /boot 中拥有一些文件。
答案1
你应该挂载你的/boot
always并在/etc/fstab
.
在启动时,引导加载程序会读取 /boot 分区。除了更新或手动更改之外,没有任何内容在运行时使用 /boot 目录。这意味着,你的 / 分区的 /boot 目录中的文件放错了位置并且混乱。你应该删除它们。
您可以在其他操作系统中(自动)挂载相同的 /boot 分区,但您应该只安装一个引导加载程序。