删除正在运行的系统上的启动分区

删除正在运行的系统上的启动分区

趁着分心的时候,我删除了正在运行的 Ubuntu Ubuntu 20.04.1 系统上的启动分区。我目前正在将数据备份到外部硬盘上。

我可以做些什么来重新添加分区而无需重新安装?

答案1

恢复测试备份以确认备份获得了数据的副本。

创建并格式化/boot分区。

使用以下方法重新安装内核包apt install --reinstall

创建另一个具有相同硬件和相同软件包的测试主机。如有必要,请复制/boot以完成重新安装。

安排停机时间重新启动,确认系统仍可重新启动。

答案2

以下是我为使系统再次运行所做的事情...

重新启动之前我备份了我的数据。

安装了第二个 nvme。

在新驱动器上安装相同版本的 Ubuntu。

启动到新的 Ubuntu 安装。

在原始驱动器上重新创建启动分区。

使用 dd 将新启动分区的内容复制到原始启动分区。

使用 dd 将新驱动器的 MBR 复制到原始驱动器。(不确定这是否有必要)

关闭机器并移除第二个 nvme 驱动器。

启动机器后,我得到了 grub 提示符。

使用类似下面的命令将 grub 设置为启动。

grub> set prefix=(hd0,1)/boot/grub
grub> set root=(hd0,1)
grub> insmod normal
grub> normal

这使我进入了 Ubuntu 安装程序。

使用以下命令重新安装 grub:

sudo grub-install /dev/nvme0n1p1
sudo apt-get update
sudo apt-get upgrade

通过运行以下命令并查找 UUID vfat 分区来更新 fstab 以指向正确的启动分区。

sudo blkid

然后更新 fstab 文件。

UUID=A39E-930E  /boot/efi       vfat    umask=0077      0       1

重新启动机器并启动成功。

相关内容