我在 Ubuntu 更新出错后遇到了灾难
最终结果是我的 /boot 目录被删除了
看来我的 /proc 目录现在也不包含任何内容
当我启动机器时,它直接进入 BIOS
注意,当我说 BIOS 时,我可能指的是 UEFI,我很确定这台机器有 UEFI
由于我的机器上有 LVM 和 LUKS 全盘加密,情况变得复杂。
我解决这个问题的方法是从 liveUSB 启动并重新安装
然而,当我进入安装类型屏幕时,它告诉我该机器没有操作系统。
我知道确实如此,因为我已将笔记本电脑中的硬盘取出,使用外部机箱和另一台机器进行紧急备份。
我想此时我需要选择“其他”,然后指定适当的设备。
执行此操作后,我将进入安装类型屏幕:
但我被困在了这一点上,意识到如果我做错了,它可能会导致我不得不重新走上我想要避免的从头开始的道路。
我认为我应该选择 sda1 (fat32) 设备作为引导加载程序安装点,但我不是 100%
也许重新安装不是解决问题的办法,我可以通过其他方式修复启动目录?
更新:我刚刚想到我应该通过 liveusb 进入并解密笔记本电脑硬盘,然后运行安装程序,因为它可能会识别它并为我提供重新安装的选项,同时保留我的主目录等等。
更新2:
已解密磁盘 - 尝试过启动修复,但没有帮助
现在我已经回到安装程序..
在安装类型中,由于解密,我的选项现在有所不同:
我有点失望,安装程序仍然告诉我没有安装操作系统 - 所以仍然不得不点击“其他”
但这看起来更像,有人知道我应该使用哪个设备来安装引导加载程序
请注意,请大家谨慎考虑是否使用全盘加密,虽然这可能会让其他人难以获取您的数据,但也可能会让您难以获取自己的数据!这肯定会使修复 /boot 目录和重新安装变得更加棘手。
更新3:
为了完整起见,我拍了一张 gparted 的照片。sda1 必须是 uefi 启动分区,因为它是 fat32。不太确定 244MB ext2 分区是什么。sda3 包含我的 ubuntu 操作系统的剩余部分,我可以在 nautilus 中很好地看到它。整个根文件系统都在那里。我认为启动修复已经做了一些事情,因为 /boot 不再是空的 - 它看起来像这样:
ubuntu@ubuntu:~$ ls -l /media/ubuntu/35270969-3a72-4de9-893c-5bf95758468e/boot/
total 46780
-rw-r--r-- 1 root root 1249685 Jan 19 13:06 abi-4.4.0-112-generic
-rw-r--r-- 1 root root 190533 Jan 19 13:06 config-4.4.0-112-generic
drwxr-xr-x 2 root root 4096 Feb 2 16:47 efi
-rw-r--r-- 1 root root 10422531 Feb 2 16:48 initrd.img-4.4.0-104-generic
-rw-r--r-- 1 root root 17907657 Feb 2 16:48 initrd.img-4.4.0-112-generic
-rw------- 1 root root 3891234 Jan 19 13:06 System.map-4.4.0-112-generic
-rw------- 1 root root 7110608 Jan 19 13:06 vmlinuz-4.4.0-112-generic
-rw------- 1 root root 7112536 Feb 2 16:48 vmlinuz-4.4.0-112-generic.efi.signed
请注意,这还显示了 LUKS 加密驱动器的安装方式,即
/media/ubuntu/35270969-3a72-4de9-893c-5bf95758468e
这里似乎缺少的是 grub 目录?
我还安装了 sda1 和 sda2 来看看它们里面有什么:
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /media/test-sda1/
ubuntu@ubuntu:~$ sudo mount /dev/sda2 /media/test-sda2/
ubuntu@ubuntu:~$ ls -l /media/test-sda1/EFI/ubuntu/
total 3472
drwxr-xr-x 2 root root 4096 Jan 4 2017 fw
-rwxr-xr-x 1 root root 67536 Jan 31 09:19 fwupx64.efi
-rwxr-xr-x 1 root root 121 Jan 15 19:00 grub.cfg
-rwxr-xr-x 1 root root 1133944 Jan 15 19:00 grubx64.efi
-rwxr-xr-x 1 root root 1168464 Jan 15 19:00 mmx64.efi
-rwxr-xr-x 1 root root 1169992 Jan 15 19:00 shimx64.efi
ubuntu@ubuntu:~$ ls -l /media/test-sda2
total 558
drwxrwxr-x 2 root root 1024 Jan 18 2016 efi
drwxr-xr-x 5 root root 1024 Jan 31 09:26 grub
drwx------ 2 root root 12288 Jan 18 2016 lost+found
-rw-r--r-- 1 root root 182704 Jan 28 2016 memtest86+.bin
-rw-r--r-- 1 root root 184380 Jan 28 2016 memtest86+.elf
-rw-r--r-- 1 root root 184840 Jan 28 2016 memtest86+_multiboot.bin
不知道这是否相关?
更新 4:
现在已经生成了启动摘要http://paste.ubuntu.com/26509702/
我发现有两个高级启动修复选项可能存在错误:
已选择 secureBoot
GRUB 位置单独启动分区 sda2 未选择
cryptsetup: WARNING: invalid line in /etc/crypttab for luks-eab09f57-2c9d-4f3e-b81b-20061bb31685 -
cryptsetup: WARNING: invalid line in /etc/crypttab for luks-eab09f57-2c9d-4f3e-b81b-20061bb31685 -
An error occurred during the repair.
Please write on a paper the following URL:
http://paste.ubuntu.com/26513410/
In case you still experience boot problem, indicate this URL to:
[email protected]
You can now reboot your computer.
Please do not forget to make your BIOS boot on sda1/EFI/ubuntu/grubx64.efi file!