如何从另一个现有的 Ubuntu 安装中修复

Axe*_*ber 7 grub2 root recovery-mode

我的 PC 上有两个分区,每个分区(单独)安装了 Ubuntu 20.04。其中之一已经出问题了,与图形驱动程序有关,也可能与引导加载程序有关。是否有可能对出现故障的版本从仍然有效的版本进行更改?比如卸载某些东西,或者更改显卡驱动程序?(我似乎无法进入恢复模式,可能是因为这是一台旧的 Macbook Air。)

我对 Ubuntu 比较陌生,所以希望能得到逐步风格的指导。

[更新:下面的第一个答案正是我正在寻找的。我认为被建议为“重复”的其他答案没有帮助。这是切线的,仅此而已。]

ada*_*009 9

如果您能够启动到另一个 Ubuntu 系统,则可以chroot启动到您的根分区。

检查损坏的安装使用的是哪个分区。/dev/sdb3我将在这个例子中使用。替换以下变量的值root

root=/dev/sdb3
cd /
sudo mkdir /mnt/repair
sudo mount "$root" /mnt/repair
sudo mount -t proc proc /mnt/repair/proc
sudo mount -t sysfs sys /mnt/repair/sys
sudo mount -o bind /dev /mnt/repair/dev
Run Code Online (Sandbox Code Playgroud)

您可能需要安装/boot/boot/efi。只需使用引导分区sudo mount /dev/sdb2 /mnt/repair/boot所在的位置即可。/dev/sdb2

现在,chroot使用这个:

sudo chroot /mnt/repair
Run Code Online (Sandbox Code Playgroud)

您现在已在损坏的 Ubuntu 安装中以 root 身份登录。您现在可以执行任何您想要修复系统的操作。

完成后,使用以下命令进行清理:

# Make sure there are no processes running in your chroot session
# Then, exit
exit
sudo umount /mnt/repair/{proc,sys,dev}
sudo umount /mnt/repair
Run Code Online (Sandbox Code Playgroud)

参考