使用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 是一次性的。
欢迎关注我的个人公众号

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