Tôi đã vào tình huống tương tự như bạn đã làm. Có thể có một cách đơn giản hơn, nhưng đây là những gì tôi đã làm để khắc phục nó. Bạn sẽ cần một USB Ubuntu để có thể chroot vào phân vùng được mã hóa.
Bạn cần cài đặt cryptsetup-initramfs
và sau đó chạy cập nhật-initramfs
bằng cách làm như sau.
Chroot vào phân vùng được mã hóa
Khởi động vào Ubuntu từ USB và nhấp vào nút "Dùng thử Ubuntu". Mở một thiết bị đầu cuối.
Tìm phân vùng được mã hóa của bạn.
Sudo fdisk -l
Giải mã phân vùng. Giả sử phân vùng được mã hóa của tôi là/dev/sda3
sudo cryptsetup luksOpen /dev/sda3 sda3_crypt
Nó sẽ nhắc bạn nhập mật khẩu vào phân vùng được mã hóa của bạn. Bây giờ chúng ta cần gắn kết và chroot vào phân vùng. Bạn sẽ cần biết vị trí của root, cũng như phân vùng /boot và EFI. Bạn có thể dùng sudo blkid
để tìm kiếm chúng. Nó sẽ giống như thế này sda2
là phân vùng khởi động và sda1
là phân vùng EFI.
Sudo mount /dev/mapper/vgubuntu--studio-root /mnt
Sudo mount /dev/sda2 /mnt/boot
Sudo mount /dev/sda1 /mnt/boot/efi
cho tôi trong /dev /dev/pts /proc /sys /run; thực hiện sudo mount -B $i /mnt$i; xong
sudo chroot /mnt
sudo grub-cài đặt
cập nhật-grub
Bây giờ bạn đang ở trong một thiết bị đầu cuối chroot, giống như đang ở trong một thiết bị đầu cuối bên trong phân vùng được mã hóa của bạn. Bạn nên có quyền truy cập vào các tệp của mình, vì vậy, trước khi làm bất kỳ điều gì khác, bạn có thể thử sao chép chúng vào một vị trí an toàn đề phòng các bước tiếp theo không hoạt động.
Cài đặt cryptsetup-initramfs
Sudo apt-get cài đặt cryptsetup-initramfs
Kiểm tra tệp crypttab và cập nhật initramfs
Kiểm tra /etc/crypttab
tệp bằng trình chỉnh sửa để đảm bảo tệp được thiết lập đúng cách. Của tôi không thay đổi, nhưng bạn có thể muốn xem qua.
Cập nhật initramfs bằng lệnh này.
cập nhật-initramfs -k tất cả -u
Các -k tất cả
tùy chọn chỉ định cập nhật nó cho tất cả các phiên bản kernel. Bạn có thể chỉ định (những) cái bạn muốn nếu bạn không muốn cập nhật tất cả. Các -u
tùy chọn là cập nhật initramfs hiện có thay vì tạo cái mới hoặc xóa cái cũ.
Thoát khỏi chroot, ngắt kết nối và khởi động lại
Để thoát khỏi môi trường chroot và ngắt kết nối phân vùng của bạn.
lối ra
đĩa CD
cho tôi trong /mnt/dev/pts /mnt/dev /mnt/proc /mnt/sys /mnt/run /mnt/boot/efi /mnt/boot /mnt; làm sudo umount $i; xong
Khởi động lại hệ thống và tháo USB. Hy vọng rằng điều này sửa chữa những điều cho bạn như nó đã làm cho tôi. Vấn đề lớn là cryptsetup-initramfs
đã mất tích. Nó có thể đã bị xóa khi bạn gỡ cài đặt initramfs
bưu kiện.