我在 Windows 服务器上的 VirtualBox 下运行 Ubuntu Server 14.04.4。当我第一次设置机器时,我选择将其放在/boot
自己的 230 MB 分区上。事实证明,这对于我的情况没有必要,现在我想转到/boot
我使用的更大的分区/
。我如何安全地进行此更改?
答案1
简短的回答:如果它没坏,就不要修理它。
长答案:如果你坚持要修复没有损坏的东西:
- 打开终端窗口。
- 类型
sudo mkdir /boot2
- 类型
sudo cp -a /boot/* /boot2/
- 类型
sudo umount /boot
- 类型
sudo rmdir /boot
- 类型
sudo mv /boot2 /boot
- 编辑
/etc/fstab
并注释掉定义挂载点的行/boot
。 - 类型
sudo grub-install
- 类型
sudo update-grub
(如果您使用基于 BIOS 的安装,您还需要指定设备文件名 - 可能/dev/sda
) - (可选)删除
/boot
分区并调整根 (/
) 分区的大小。请参见这里了解有关如何执行此操作的详细信息。
我还没有测试过这个程序!如果我忘记了什么,或者出现了意外错误,你的系统将会无法启动!因此:
- 请重新考虑我上面的“简短回答”。
答案2
使用支持 EFI 的新答案进行更新。(EFI 需要将 FAT32 分区安装为 /boot/efi)。
sudo cp -a /boot /boot2
sudo umount /boot/efi && sudo umount /boot || echo -e "\n\rNot EFI?? STOP!"
sudo rmdir /boot
sudo cp -a /boot2 /boot
sudo rm -r /boot/efi/*
sudo mount /boot/efi
sudo diff -r /boot /boot2 && sudo rm -r /boot2 || echo -e "\n\r\n\rSOMETHING'S WRONG, STOP!!"
sudo nano /etc/fstab
- 编辑 /etc/fstab 并注释掉定义 /boot 挂载点的行。保留 /boot/efi 条目不变!
sudo update-grub
- 确保在 /boot/ 中找到条目,例如“找到 linux 映像:/boot/vmlinuz-*”
- (可选)删除 /boot 分区并调整 / 分区的大小。