使用grub引導啓動系統

一、適用場景:
1、電腦是多系統的,windows 、liunx 混合
2、需要靈活的遠程控制重啓系統後的自動進入系統項
本次用到的是liunx下的grub工具
二、發生原因:
當windows上安裝 liunx雙系統後,會要求寫入grub引導,不寫入會導致liunx無法進入,當然在windows系統上有工具可以修復,我這裏是寫入grub的,會導致windows無法進入。並且我需要遠程控制系統重啓後進入何種系統。
三、解決目標
1、在liunx下修復windows系統引導
進入liunx後 運行

sudo vi /boot/grub/grub.cfg

找到最底下

### BEGIN /etc/grub.d/41_custom ###
##加入代碼start
menuentry 'windows 10'{
      insmod part_msdos
      insmod ntfs
      set root='(hd0,msdos1)'
      chainloader +1
}
##加入代碼end
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

解釋:
menuentry ‘windows 10’ 這裏的’windows 10’就是開機選項顯示的文字,可以隨意定義
set root=’(hd0,msdos1)’ 表示系統引導的磁盤 hd0代表第一塊磁盤的第一個分區
完成後記得重啓系統後就能發現開啓選項最底下多了你輸入的 windows 10 選擇回車即可以進入windows10系統了

2、靈活遠程控制啓動的系統
這一過程就是在啓動項手動選擇按回車的過程變成自動的。
附上一個腳本

#!/usr/bin/env bash
# !/bin/sh
set -m
function grubwin10() {
    grub-reboot 3
    echo "ok -win10"
}
function grububuntu() {
    grub-reboot 0
     echo "ok -ubuntu"
}
case $1 in
 w)
	grubwin10
	;;
 u)
    grububuntu
	;;
*)
       echo "Usage: $0 {win10 w | ubuntu u}"
esac

解釋:
grub-reboot 3 表示重啓系統後選擇第4個啓動項(0表示第一個),後面的這個數字根據當前grub引導的啓動界面調整即可。
注意:如果設置了 grub-reboot 3 那麼當系統重啓後會自動進入windows10,這時候你需要windows下的遠程桌面控制軟件進行windows下的操作,同樣你可以重啓windows系統,這時候下次進入的系統就會還原成liunx,也就是說 grub-reboot 3 是一次性的。
歡迎關注我的個人公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章