שלא להתבלבל עם
פוסט קודם שלי, זה מדבר על פתרונות ותיקון של תיעוד מפגר ואידיוטי שיש באינטרנט.
חלונות 10 אצלי החליט שהמחשב שלי, ומחק מה-EFI כל דבר שהוא לא חלנוות ודפק לי את ההתקנה של פדורה. כאילו ההתקנה זמינה, אבל אי אפשר לגשת אליה.
פתרון:
עלים מדיסק התקנה של פדורה, עושים chroot ושם מתקינים מחדש את ה-bootloader ב-efi. ואז מקללים את כל התיעוד החלקי שיש באינטרנט.
שלב ראשון: chroot
אי אפשר לעשות chroot פשוט, כי אז מאבדים את dev sys ועוד דברים. הפתרון ? bind-root.
קוד: |
mount /dev/sda /mnt
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/root$i; done
cp -f /etc/resolv.conf /mnt/root/etc/
modprobe efivars
chroot /mnt/root
|
שימו לב לספרייה הנוספת כאן - /mnt/root/, הסיבה - זה btrfs partition. אם אתם משתמשים ב-ext4 - תחסירו את הספרייה האחרונה ה-for loop. תזכרו להעתיק לשם איזה resolv.conf שמיש, אחרת אין לכם dns. טוענים בכוח מודולים לקריאה של efivars (ליתר ביטחון) ואז עושים chroot. שוב - שימו לב לספרייה הנוספת.
שלב שני - תיקון ה-bootloader
כאן משתמשים בתוכנית בשם efibootmanager. התיעוד של פדורה בנושא
עוזר, אבל חלקי ומבלבל.
קוד: |
# be sure
yum install grub2-efi grub2-efi-modules shim
yum reinstall grub2-efi grub2-efi-modules shim
# fix boot loader
grub2-mkconfig -o /etc/grub2-efi.cfg
efibootmgr -c --disk /dev/sda --part 3 -L "linux-kicks-ass" -l /EFI/fedora/grubx64.efi
# lets revise our setup
grep "submenu\|^\menuentry" /etc/grub2-efi.cfg | cut -d "'" -f2
efibootmgr -v
|
שתי הפקודות הראשונות הן "ליתר ביטחון". האחרונות - פה התיעוד של פדורה שווה לתחת וזה תקע אותי
המון זמן.
- הנתיב שכתובה בתיעוד ליצירה של קובץ הגדרות grub2 היא עבור bios. עבור efi צריך להיות מה שכתוב כאן (הקובץ המדובר הוא קישור סימבולי, תסתכלו בנסוף לאן).
- הפקודה שכתובה בתיעוד ליצירה של efi boot entry לא מתאימה לפדורה - כאן שם הקובץ הוא שונה. שימו לב למספר המחיצה (זאת אמורה להיות מחיצת ה-uefi המסריחה, אצלי /dev/sda3). נתתי לה שם מגניב, "כי אני יכול", ושימו לב לנתיב היחסי של הקובץ שמפעיל את המערכת. אם לא תספקו כזה, המערכת תשתמש במשהו עם redhat. וזה תקע אותי המון זמן...
- בדביאן זה לא היה קורה....
תיעוד לעצמי - לכשאני אתקע שוב. בינתיים - למדתי.