移动/ boot分区而不会弄乱系统


11

分区布局

我已经删除了在新的Rafaela当前分区旁边安装的旧Linux Mint分区。因此,我有想要添加到主分区的可用空间。
在上方可以看到分区布局:
sda4是系统分区,带有/ boot
sda5是主分区

我想使用未分配的空间进行扩展,但是不幸的是,系统分区介于两者之间,我需要将其移至未分配的空间的开头。
由于我收到一条警告消息,提示系统可能不再引导,因此如果我移动/ boot,我想知道如何在不破坏系统的情况下进行引导。如果引导加载程序无法再找到内核,则系统无法引导是有道理的,因此我猜想在更改分区布局后,我需要在/上chroot并重新生成grub。

有人知道我如何可以安全地将未分配的空间添加到家里吗?

Answers:


5

引导扇区需要找到引导分区,然后引导加载程序离开这些分区,这不在乎它们是否位于驱动器上。
我假设您通过屏幕截图使用了gparted live。调整大小后,您需要从shell中进行以下操作:

  1. 挂载包含引导目录的重新定位的根分区
  2. 如果/ boot是一个单独的分区,则将其安装在根分区中
  3. 使用--bind选项将/ dev挂载到根目录的dev目录中
  4. chroot进入根目录
  5. 运行grub-install或liloconfig重新安装启动扇区

今天,我移动并调整了分区的大小,一切正常进行。我什至不需要chroot到根分区。我猜是因为/ boot / efi是一个单独的分区。但是,我将其标记为解决方案,因为如果您遇到问题,我认为这可能是答案。顺便说一句,请记住对64位使用64位实时媒体。否则,您将无法在磁盘上chroot。
Thorben

我没想到64/32位的差异,但这是正确的。为了在您要进入的操作系统上运行64位二进制文​​件,您需要运行64位OS。
MVanOrder

0

我弄乱了我的分区(Ubuntu 19.04)。

幸运的是,这很容易实现,我只需要从ubuntu live USB 执行一个即可update-grub(不用担心,这很容易)。

我收到的错误消息是:找不到错误符号grub_efi_allocate_fixed

程序:

  1. 创建一个Ubuntu Live USB并在其上启动
  2. 查找您的操作系统分区位置(使用gparted,例如:/ dev / sda1
  3. 执行这些命令(将/ 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

重新启动,也许会工作:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.