使用grub引导启动系统

编程之路 专栏收录该内容
3 篇文章 0 订阅

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

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

安静的夜灬

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值