我有以下设置:
[phil@thinkpad ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238,5G 0 disk
├─sda1 8:1 0 52,3G 0 part
├─sda2 8:2 0 111,8G 0 part /home
├─sda3 8:3 0 954M 0 part [SWAP]
└─sda4 8:4 0 50G 0 part /
sr0 11:0 1 1024M 0 rom
在哪里 :
sda1 : root partition of ubuntu
sda2 : home partition of ubuntu & arch
sda3 : swap partition of ubuntu & arch
sda4 : root partition of arch
我想要实现的目标:删除ubuntu根分区(sda1)
我的问题/担心是什么:当我启动时,会显示 GRUB 以供选择 arch 或 ubuntu。这是从ubuntu安装的grub,所以如果我删除ubuntu根分区(sda1),grub安装也会消失,对吧?
-> 如何使用其他 (arch) grub 安装覆盖 (ubuntu) grub 安装?
提前致谢!
答案1
如果删除 Ubuntu 根目录,引导加载程序仍将位于硬盘的 MBR 中,但可能只会产生错误,因为它从安装它的分区上的 /boot 调用文件。
我建议你启动 Arch,删除 Ubuntu 分区并通过以下方式重新安装 grub
sudo grub-install /dev/sda
sudo grub-mkconfig -o /boot/grub/grub.cfg
第一个命令将引导加载程序的第一阶段安装到 MBR 中,第二个命令将创建从 /etc/default/grub 和 /etc/grub.d/ 派生的适当配置文件
有关如何在 ArchLinux 下安装 Grub 的更多信息,请参阅 Archwiki:Grub
答案2
除了 nephente 的回答之外,我建议一般决定创建一个仅用于 Grub(或其他)的小分区(50 MiB)。
您的 Linux 安装经过配置,以便它们不会触及 MBR,而只会触及其/boot
分区(可能/
与您的情况相同)。
结果是一个两阶段的引导加载程序:第一个阶段“不能”中断。如果第 2 阶段加载程序之一损坏,您仍然可以启动另一个系统。