如何使用单独的启动分区和加密的 LVM 卷在意外删除后重新安装内核?

如何使用单独的启动分区和加密的 LVM 卷在意外删除后重新安装内核?

我的安装是 Ubuntu 12.04 64 位(经典“遗留”MBR - 这里没有 EFI/UEFI),带有两个分区:

  1. 单独的启动分区
  2. 包含系统逻辑卷的加密 LUKS 卷

我似乎不小心删除了所有当前内核文件:

sudo apt-get purge 'linux-image-3.8*' 

我使用 Ubuntu 软件更新应用了更新,重新启动,然后:Ubuntu 无法启动。

我尝试使用 14.04.1 Ubuntu 在实时 DVD 上启动,仍然可以看到我的分区(稍后介绍):

/dev/sda1(启动)/dev/sda2(加密卷)/dev/sda5(逻辑卷容器)

为了干净地重启已安装的系统,恢复/重新安装内核文件和依赖项的步骤是什么?

提前致谢

答案1

测试一下:

使用 live-dvd/usb 启动计算机。

打开一个终端。

运行:

sudo -i
apt-get update
apt-get install lvm2 cryptsetup
modprobe dm-crypt
cryptsetup luksOpen /dev/sda2 crypt1
*##Write the passphrase##*
vgscan --mknodes
*##Save the volume name##*
mount /dev/<volume-name>/root /mnt
mount /dev/sda1 /mnt/boot
mount --bind /dev /mnt/dev 
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt
apt-get update
apt-get install --reinstall 'linux-image-3.8*'
update-grub 
apt-get clean
umount /mnt
reboot 

答案2

我尝试了上述 kyodake 的答案,但在安装内核后一直出现此错误:cryptsetup: WARNING: invalid line in /etc/crypt1 -。然后它会重新启动进入 initramfs shell。

我从这个答案我必须解锁加密卷,就/dev/sda5我而言,该卷的名称与已安装的系统所期望的名称相同。

因此我必须执行cryptsetup luksOpen /dev/sda5 sda5_crypt该特定步骤,该步骤有效。安装的系统和实时 USB 都是 14.04

相关内容