Manjaro khởi động kép với Win10 trên các ổ riêng biệt - Loại phân vùng EFI của Manjaro liệt kê dưới dạng BitLocker. Sẽ không tải grub


0

hệ thống:

Manjaro chạy trên ổ đĩa m.2 nvme, Windows 10 chạy trên ổ cứng riêng

Vấn đề:

Trong những ngày nghỉ, tôi dường như đã làm hỏng hệ thống của mình khá tệ. Tôi đã có một hệ thống ổn định trong vài tháng, nhưng tôi muốn các tính năng bảo mật của SecureBoot, vì vậy tôi đã kích hoạt nó trong bios. Kể từ khi hệ thống của tôi không thể khởi động vào Manjaro và sẽ chỉ tải Win10. Tôi đặt lại cài đặt khởi động an toàn, nhưng vấn đề vẫn còn.

Hiện tại tôi có thể khởi động vào đĩa Manjaro trực tiếp được tạo bằng Rufus ở chế độ dd. Tôi đã sử dụng mhwd-chrootđể truy cập cài đặt hiện có của mình nvme0n1p2và do đó có thể sao lưu các tệp của mình. Tôi đã cố chạy grub-install /dev/nvme0n1và nhận được:

grub-install: error: cannot fine EFI directory.

Sau khi chọc ngoáy, tôi thấy rằng thư mục EFI của tôi cho Manjaro dường như được đặt vào nvme0n1p1. Vì vậy, tôi đã thử gắn nó:

# mount /dev/nvme0n1p1 /boot/efi
mount: /boot/efi: unknown filesystem type 'BitLocker'

Nhìn vào lsblk -f, tôi có thể thấy rằng phân vùng đó thực sự được liệt kê là BitLocker (như là /dev/sda3, phân vùng hệ thống tệp windows). Tôi có đúng không khi cho rằng điều này trông giống như Win10 đã mã hóa phân vùng EFI của tôi? Bước tiếp theo của tôi để phục hồi là gì? Tôi có thể sử dụng GParted để định dạng lại phân vùng đó, sau đó gắn kết nó vào /boot/efi, sau đó chạy grub-installkhông?

để biết thêm thông tin, tôi đã thử sử dụng một công cụ phục hồi khởi động, nhưng thật ra nó chỉ hoạt động tốt với các bản phân phối Ubuntu. bất kể, đây là một pastebin của phân tích của nó, có thể có hoặc không hữu ích: http : //paste.ub Ubuntu.com/p/PkmfdtxHjq/

Câu trả lời:


0

Vì vậy, sau nhiều đau đớn và đau khổ, tôi đã giải quyết vấn đề của mình. Tôi nghĩ rằng bản năng của tôi trước đây là chính xác - bằng cách nào đó hành động bật khởi động an toàn và sau đó khởi động vào windows đã mã hóa phân vùng EFI linux của tôi nvme0n1p1. Tôi có thể đã ổn với bản năng của mình và xóa sạch phân vùng đó, nhưng vì nó chỉ có 300MiB, nên nó không có giá trị, vì vậy trong trường hợp tôi đã tạo một phân vùng mới. Đây là các bước tôi đã thực hiện để giải quyết vấn đề này:

  1. Khởi động vào một USB Manjaro trực tiếp
  2. Chạy GParted
  3. Tạo phân vùng 300MiB mới giữa BitLocker'd nvme0n1p1và hệ thống tệp của tôi đang chạy nvme0n1p2bằng cách thu nhỏ nvme0n1p2từ bên trái. Phân vùng mới phải là fat32
  4. Áp dụng thay đổi trong GParted
  5. Áp dụng bootespcờ cho phân vùng mới ( nvme0n1p4) thông qua GParted
  6. Chúng ta mhwd-chroot-shellđể chrootvào hệ thống của bạn ( nvme0n1p2)
  7. Thay đổi /etc/fstabđể sử dụng phân vùng mới thay vì phân vùng cũ.
  8. Cập nhật GRUB

cập nhật grub:

$ sudo su
# grub-install /dev/nvme0n1
# update-grub

thay đổi fstab:

- UUID=319a7d84-9d20-4f5f87f3-10948da50d73  /boot/efi   /dev/nvme0n1p4: PARTUUID=   defaults    0   1
+ UUID=C410-9DC8    /boot/efi   vfat    defaults    0   2

Tôi không chắc tại sao dòng gốc ở đó có định dạng khác. Ban đầu dòng mới của tôi có cùng định dạng, nhưng nó cũng không khởi động. Sau khi đọc thêm, tôi có vẻ rõ ràng rằng nó nên có một 2, không phải là 1cuối cùng, và các chi tiết bổ sung không thuộc về.

Tại thời điểm này trong quá trình tôi khởi động lại máy của mình mà không cắm USB trực tiếp, nghĩ rằng tôi đã tìm ra nó, nhưng vấn đề tương tự vẫn còn. Vì vậy, một vài bước nữa là cần thiết:

  1. Khởi động lại với usb trực tiếp được cắm cho đến khi bạn vào menu bộ tải khởi động của Live USB. Về phía dưới có một tùy chọn để 'Phát hiện bộ tải khởi động EFI'.
  2. Chọn bộ tải khởi động cho thiết bị của bạn. Trong trường hợp của tôi, (hd1,4)
  3. Tại thời điểm này, GRUB ban đầu của tôi đã được tải và tôi đã có thể đăng nhập vào hệ thống của mình. Sau khi vào, tôi cập nhật lại grub (các lệnh tương tự như trước). Bây giờ tôi có thể khởi động vào hệ thống của mình như bình thường! Không cần USB trực tiếp!

Đây là điều hoàn toàn mới đối với tôi, vì tôi chưa bao giờ gặp phải vấn đề này trước đây. Hy vọng ai đó ngoài kia có thể sử dụng thông tin này.

Một lưu ý cuối cùng về mhwd-chroot-shell: Tôi gặp một số rắc rối với nó, vì nó sẽ không phát hiện được /etc/thư mục trong nvme0n1p2phân vùng của tôi , vì vậy nó không nhận ra bất kỳ hệ thống linux nào. Để giải quyết vấn đề này, tôi đã kết thúc việc điều chỉnh kịch bản shell. Ngay trước khi nó phát hiện ra lỗi "Không tìm thấy hệ thống Linux nào!", Tôi đã thêm một kiểm tra để tự chèn phân vùng của mình vào nó nếu nó không phát hiện ra bất kỳ:

if [ $nbpart -eq 0 ]; then
    list[$nbpart]=/dev/nvme0n1p2
    ((nbpart++))
fi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.