Manjaro z podwójnym uruchomieniem z Win10 na osobnych dyskach - typ partycji EFI Manjaro jest wymieniony jako BitLocker. Nie ładuje gruba

0

system:

Manjaro działa na dysku m.2 nvme, Windows 10 na oddzielnym dysku twardym

Problem:

Wydaje mi się, że w czasie wakacji źle zepsułem mój system. Miałem stabilny system od kilku miesięcy, ale chciałem funkcji bezpieczeństwa SecureBoot, więc włączyłem go w bios. Odkąd mój system nie był w stanie uruchomić się w Manjaro i ładuje tylko Win10. Resetuję ustawienia bezpiecznego rozruchu, ale problem pozostaje.

Obecnie jestem w stanie uruchomić się na żywo dysk Manjaro wykonany przy użyciu Rufusa w trybie dd. Korzystałem mhwd-chrootz dostępu do mojej istniejącej instalacji nvme0n1p2i dlatego mogę wykonać kopię zapasową plików. Próbowałem uciec grub-install /dev/nvme0n1i dostałem:

grub-install: error: cannot fine EFI directory.

po przeszukiwaniu okazało się, że mój katalog EFI dla Manjaro wydaje się być nvme0n1p1. Więc próbowałem go zamontować:

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

Patrząc na to lsblk -f, widzę, że ta partycja jest rzeczywiście wymieniona jako BitLocker (podobnie jak /dev/sda3partycja systemu plików Windows). Czy mam rację zakładając, że wygląda na to, że Win10 zaszyfrował moją partycję EFI? Jakie byłyby moje następne kroki do odzyskania? Czy mogę użyć GParted, aby sformatować tę partycję, a następnie zamontować ją /boot/efi, a następnie uruchomić grub-install?

dla dodatkowych informacji próbowałem użyć narzędzia do odzyskiwania rozruchu, ale najwyraźniej działa dobrze tylko z dystrybucjami Ubuntu. niezależnie od tego, tutaj znajduje się skrót jego analizy, która może, ale nie musi być pomocna: http://paste.ubuntu.com/p/PkmfdtxHjq/

jumanjicostco
źródło

Odpowiedzi:

0

Po wielu bólach i cierpieniach rozwiązałem swoje problemy. Myślę, że moje wcześniejsze instynkty były prawidłowe - jakoś akcja włączenia bezpiecznego rozruchu, a następnie rozruchu w systemie Windows zaszyfrowała moją partycję EFI z Linuksem nvme0n1p1. Prawdopodobnie byłbym w porządku z instynktem i czyszczeniem tej partycji, ale ponieważ było to tylko 300 MB, nie było to warte miejsca, więc na wszelki wypadek utworzyłem nową partycję. Oto kroki, które podjąłem, aby rozwiązać ten problem:

  1. Uruchom komputer USB na żywo w Manjaro
  2. Uruchom GParted
  3. Utwórz nową partycję 300 MB między funkcją BitLocker nvme0n1p1i moim systemem plików nvme0n1p2, zmniejszając nvme0n1p2od lewej. Nowa partycja powinna być gruba32
  4. Zastosuj zmiany w GParted
  5. Zastosuj flagi booti espdo nowej partycji ( nvme0n1p4) za pomocą GParted
  6. Z nami mhwd-chroot-shelldo chroottwojego systemu ( nvme0n1p2)
  7. Zmień, /etc/fstababy użyć nowej partycji zamiast starej.
  8. Zaktualizuj GRUB

aktualizacja grub:

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

zmiany fstab:

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

Nie jestem pewien, dlaczego oryginalna linia miała inny format. Początkowo moja nowa linia miała ten sam format, ale to też nie uruchomiło się. Po kilku kolejnych lekturach wydawało mi się jasne, że na końcu powinno być, a 2nie 1na końcu, a dodatkowe szczegóły nie pasowały.

W tym momencie zrestartowałem komputer bez podłączonego usb na żywo, myśląc, że to rozgryzłem, ale ten sam problem nadal występował. Potrzebnych było zatem kilka dodatkowych kroków:

  1. Uruchom ponownie z podłączonym Live USB, dopóki nie przejdziesz do menu modułu ładującego Live Usb. W dolnej części znajduje się opcja „Wykryj moduł ładujący EFI”.
  2. Wybierz bootloader dla swojego urządzenia. W moim przypadku (hd1,4)
  3. W tym momencie mój oryginalny GRUB został załadowany i mogłem zalogować się do mojego systemu. Raz w nim zaktualizowałem GRUB-a (te same polecenia, co poprzednio). Teraz mogę normalnie uruchomić system! Nie wymaga Live USB!

To dla mnie zupełnie nowe, ponieważ nigdy wcześniej nie miałem tego rodzaju problemów. Mam nadzieję, że ktoś inny może wykorzystać te informacje.

Ostatnia uwaga na temat mhwd-chroot-shell: Miałem z tym pewne problemy, ponieważ nie wykrył /etc/katalogu na mojej nvme0n1p2partycji, więc nie rozpoznał żadnego systemu Linux. Aby obejść ten problem, ostatecznie poprawiłem skrypt powłoki. Tuż przed zgłoszeniem błędu „Nie znaleziono systemów Linux!” Dodałem opcję ręcznego wstrzykiwania do niej mojej partycji, jeśli nie wykryje żadnego:

if [ $nbpart -eq 0 ]; then
    list[$nbpart]=/dev/nvme0n1p2
    ((nbpart++))
fi
jumanjicostco
źródło