前幾日因為修復一台服務器使用了自己在機房做的一台samba服務器,使用時把BIOS中 UEFI 的 Ubuntu系統啟動項刪除了,導致我的Samba服務器開機不能啟動。
修復期間瀏覽了很多帖子最后找到了一篇可以用的方法。
原文鏈接:https://blog.csdn.net/DumpDoctorWang/article/details/83898719
1、准備工作:
首先需要制作一個Ubuntu的系統安裝盤,可以使用軟碟通將Ubuntu 的安裝鏡像寫入到你的U盤中。
2、修復引導的原理
chroot 將服務器的磁盤掛載到預覽系統中,對UEFI分區進行修復。
首先掛載系統盤,再將UEFI分區掛載到 /boot/efi 目錄中
使用修復命令將文件寫入UEFI 分區。
3、實例:
背景:我這台服務器分了兩個區,一個幾百兆的UEFI分區,和一個系統分區分別是 sda1 和sda2。
操作:
插入制作好的系統安裝U盤,開機啟動。選擇 UEFI XXX (U盤名稱) 選項引導啟動,進入光盤菜單選擇 “Try Ubuntu without installing”選項。
進入預覽系統界面按 “Win”鍵(就是鍵盤上Windows圖標按鈕),輸入 Terminal選擇黑色命令行圖標打開命令行終端窗口。
#將系統盤掛載到 預覽系統的 /mnt中,上面說了 我的系統盤是sda2,所以將sda2掛載到了 /mnt下。 sudo mount /dev/sda2 /mnt #再把UEFI分區掛載到 sda2的boot目錄下 efi目錄中 sudo mount /dev/sda1 /mnt/boot/efi for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done #切換到原系統環境進行修復 sudo chroot /mnt grub-install /dev/sda update-grub
執行后不出錯重啟就可以再bios中看到 UEFI選項中出現一個Ubuntu的啟動項了, 將這個選項設置為你的第一啟動保存重啟即可。