Windows 安装后恢复 GRUB

Windows 安装后恢复 GRUB

我的 Windows 7 出现了问题,只能通过重新安装才能解决。但我的笔记本电脑中不仅有一个系统出现了问题,另一个系统是 Debian Jessie。意识到即将出现 GRUB 覆盖后,我备份了我的文件并再次安装了 Win 7。之后我尝试恢复 GRUB,但遇到了一系列问题。

之前安装 Debian 时,我创建了包含三个分区的 LVM,第一个分区用于 /root,第二个分区用于 /home,第三个分区用于交换分区,并在安装 Debian 期间使用 cryptLuks 对所有分区进行加密。在尝试修复此问题时,我使用了以下命令:

1)我需要做的是解密这些分区:

cryptsetup luksOpen /dev/mapper/Debian-System System
cryptsetup luksOpen /dev/mapper/Debian-Home Home

2)接下来我使用命令更改-ay

3)之后我使用以下命令安装了所有内容:

/* Debian-System is partition with system */
mount /dev/mapper/Debian-System /mnt/

/* but I cannot mount it */
mount: unknown filesystem type 'crypto_LUKS'

/* so I used System, which is decrypted Debian-System */
mount /dev/mapper/System /mnt/

mount /dev/mapper/Home /mnt/home/

/* dev/sda1 is my boot partition */
mount /dev/sda1 /mnt/boot/

mount -o bind /dev/ /mnt/dev/
mount -o bind /sys/ /mnt/sys/
mount -o bind /proc/ /mnt/proc/

4)我chroot'ed 到 Debian(我正在使用 x64 Ubuntu 16.04 Live DVD 来修复它)并且我执行了命令:

grub-install

然后:

update-grub

一切看起来都很好,但魔鬼藏在细节中。通过使用系统反而Debian 系统挂载并稍后更新 GRUB、UUIDgrub配置文件/root 分区的 UUID 也已更改。我编辑了此文件,并将 UUID 更改为Debian 系统一个。但我不确定这是否足够(可能不够,因为在这个过程中创建的文件很少)。

重启后,我再次看到了熟悉的 Debian 启动菜单,选择 Debian,然后我成功输入了 /dev/mapper/Debian-System 的密码。好消息到此结束 - 我收到了以下信息:

modprobe module luks not found in modules.dep

target filesystem doesn't have requested /sbin/init

而我则被掉落到内置外壳(灰烬)上。

我发现使用命令 update-initramfs 可以提供帮助,因此我在下次运行 Ubuntu LiveDVD 时使用了它。我收到了以下文本:

device-mapper: table ioctl on Debian-System_crypt failed: No such device or address
Command failed
cryptsetup: WARNING: failed to determine cipher modules to load for Debian-System_crypt
cryptsetup: WARNING: target Debian-Swap_crypt has a random key, skipped

此后重新启动系统导致的结果比第一次更糟糕;询问 Debian-System 密码的过程被立即跳过,我被丢到内置 shell (ash)。现在即使再次执行所有操作(不更新 initramfs)也无济于事 - 我总是重复这种行为,就像更新 initramfs 之后一样。

我做错了什么吗?还有其他方法(顺便说一下,还有机会)可以修复 Debian 和 GRUB 而无需重新安装吗?当然我可以通过重新安装来修复它,但我更愿意避免这样做。除非没有其他选择。

谢谢你的帮助 :)

相关内容