日常系統維護之修復linux的grub引導


恩,不知道怎么表達為win10的更新很煩人,其實我感覺windows用的不是那么順手,但是制作視頻的時候還是要用到,圖片的話linux也可以勝任,畢竟GUN IMAGE還是挺不錯的,但到了視頻制作方面,顯卡就跟不上了(萬惡的N卡,這卡的驅動真實難找)。視頻制作的花adobe家族還是挺好用的,linux有openshot可以用,不過不如pr好用,但linux在運維上和windows比就不是一個檔次了,什么linux不友好,對用戶不好,這里更正一下linux沒有傳說中的那么神,就是使用習慣的問題,就如同windows已經打下的用戶習慣不是說改就改的,mac挑戰過不是也失敗了嗎,所以蘋果專攻手機,看見圖標就點,返回就按home鍵,反正我是改不了了,微軟和ubuntu也發布過手機,那一個善終了,接連微軟都改過windows的桌面,但人家才大氣粗,沒事。最后還是改回來了。

感覺車開的有點偏了,今天就是想寫修復的記錄,至於對windows發牢騷還是要從那天晚上說起。

晚上10點多的時候,終於能休息了,關閉pr,ae,看了一眼消息提示,哦今天系統更新啊,於是乎我舒適的當在床上靜靜的看着電腦更新,我不知道是不是只有我這樣,盯着那小圈圈,看着那百分比。然后,然后就根新完了重啟,可該死的沒有linux的其的選項。西科修!!!我特地用兩個硬盤分別安裝系統的,理論上應該不會有引導啟動的影響的。

 

Linux version: 5.2.9-arch1-1-ARCH

檢測方法:liveCD,拯救模式(rescue mode)沒用過,所以不做描述。

現在幾乎都用U盤作為啟動盤了,所以我制作了一個arch的啟動盤(軟件rufus),然后mount,chroot,umount,reboot

細說一下:

進入U盤中的系統

#umane -m 判斷系統架構 我的是X86_64的(U盤中的要和原系統一致)

#lsblk 判斷分區,用cfdisk也可以,不過為個人喜歡前者

然后mount分區,從根分區開始,然后是boot分區,然后是home,我就這幾個分區

例子:#mount /dev/sda1 /mnt

做完上面步驟后

#mount -t proc /proc /mnt/proc

#mount -t sysfs sys /mnt/sys

#mount -o bind /dev /mnt/dev

#chroot /mnt /bin/bash

 

我一開始想進入grub提示符界面進行修復的

但提示command not found

所以判斷grub有可能不見了,所以重新安裝,#grub-install /dev/sda

然后:error cannot find EFI directory,我估計是/boot/efi沒有mount,好所以退出去重新掛載 #mount | grep /boot/efi  #chroot 

然后#grub-install --efi-directory=/boot/EFI

然后EFI variable are not supported in this system

grub-install:error: efibootmgr failed to register the boot entry:no such file or directory

我谷歌了一下,發現問題可能是efivars內核模塊沒有加載

然后用modprobe試了一下,果然如此

#modprobe efivars

error: FATAL:module efivars not found in directory /lib/modules/5.2.5-arch/-1.ARCH

然后思路就清晰了,把這個模塊裝上去就可以了

第一種方法:#mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars

第二種方法:#sudo pacman -S efibootmgr

然后#grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --rechech

#grub-mkconfig -o /boot/grub/grub.cfg

修復到此結束,問題跟我猜的差不多

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM