![移动 /boot 分区而不弄乱系统](https://linux22.com/image/73096/%E7%A7%BB%E5%8A%A8%20%2Fboot%20%E5%88%86%E5%8C%BA%E8%80%8C%E4%B8%8D%E5%BC%84%E4%B9%B1%E7%B3%BB%E7%BB%9F.png)
我已经删除了安装在新的 Rafaela 分区旁边的旧 Linux Mint 分区。因此,我有想要添加到我的主分区的可用空间。
上面你可以看到分区布局:
sda4 是带有 /boot 的系统分区
sda5 是主分区
我想用未分配的空间扩展主目录,但不幸的是系统分区位于中间,我需要将其移动到未分配空间的开头。
由于我收到一条警告消息,系统可能不再启动,如果我移动 /boot,我想知道如何在不破坏系统的情况下做到这一点。如果引导加载程序无法再找到内核,那么系统将无法启动是有道理的,所以我想在更改分区布局后我需要在 / 上 chroot 并重新生成 grub。
有人知道如何安全地将未分配的空间添加到家里吗?
答案1
引导扇区需要找到引导分区,之后引导加载程序就会离开分区,它并不关心它们是否位于驱动器上。
从屏幕截图来看,我假设您正在使用 gparted live。调整大小后,您需要从 shell 执行以下操作:
- 挂载包含引导目录的重新定位的根分区
- 如果 /boot 是一个单独的分区,则将其挂载到根分区挂载
- 使用 --bind 选项将 /dev 挂载到根挂载中的 dev 目录
- chroot 进入根挂载
- 运行 grub-install 或 liloconfig 重新安装引导扇区
答案2
我弄乱了我的分区(Ubuntu 19.04)。
幸运的是,让它工作很容易,我只需要update-grub
从 ubuntu live USB执行(别担心,这很容易)。
我收到的错误消息是:grub_efi_allocate_fixed
未找到错误符号
程序:
- 创建 Ubuntu Live USB 并在其上启动
- 找到您的操作系统分区位置(使用 gparted,例如:/dev/sda1)
- 执行这些命令(替换/dev/sda1与您的分区)
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
sudo update-grub
重新启动,也许它会起作用:)