用grub2修复WindowsUbuntu双系统

2024-06-14 00:38

本文主要是介绍用grub2修复WindowsUbuntu双系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

装完双系统的时候, grub里面有Windows和Ubuntu, 但是重启之后(忘了重启了几次)只剩下了Ubuntu. 于是我就从Grub里修复了Windows的引导.

修复方式

先放上修复方式:
在/etc/grub.d/40_custom里加入非#部分的代码

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.if [ "${grub_platform}" == "efi" ]; then
menuentry "Windows Boot Manager" {set root='(hd1,gpt1)'chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
fi### END /etc/grub.d/40_custom ###

接着在命令行里执行
grub2-mkconfig -o /boot/grub/grub.cfg

解释

set root='(hd1,gpt1)'是设置目录. 一开始我设置的是Windows启动盘(C盘)的分区, 为(hd0, gpt3), 但是报错. 这里出现了两个问题, 一个是盘符问题, 一个是chainloader问题.

盘符问题

我设置为hd0的时候, 报错:
error: disk 'hd0,3' not found
我不知道为什么Grub识别出来我的硬盘是hd1, 因为我只有一个盘, 而且更奇怪的是/boot/grub2/grub.cfg里, Ubuntu启动盘的目录就是hd0. 并且输入ls -l时, hd0报错. 这里还要在查一下.

chainloader问题

当我设置为

set root='(hd1,gpt3)' //这是Windows的系统盘(C盘)
chainloader +1

时, 报错:
Invalid EFI file path

然后改为

set root='(hd1,gpt1)' //这是EFI启动分区
chainloader /EFI/Microsoft/Boot/bootmgfw.efi

成功.

修改完/etc/grub.d/40_custom之后, 运行如下命令:
grub2-mkconfig -o /boot/grub/grub.cfg
这句命令是把/etc/grub.d/ 里面的所有文件一起生成一个文件, 通过-o /boot/grub/grub.cfg覆盖掉grub.cfg, 而真正对启动有作用的正式这个grub.cfg, 而/etc/grub.d/ 里面的文件仅仅是提供了一种方便修改grub.cfg的方式.

这篇关于用grub2修复WindowsUbuntu双系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058885

相关文章

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

【经验交流】修复系统事件查看器启动不能时出现的4201错误

方法1,取得『%SystemRoot%\LogFiles』文件夹和『%SystemRoot%\System32\wbem』文件夹的权限(包括这两个文件夹的所有子文件夹的权限),简单点说,就是使你当前的帐户拥有这两个文件夹以及它们的子文件夹的绝对控制权限。这是最简单的方法,不少老外说,这样一弄,倒是解决了问题。不过对我的系统,没用; 方法2,以不带网络的安全模式启动,运行命令行,输入“ne

惠普台式机安装win7和Ubuntu双系统

致谢 完成这个双系统博文需要感谢史潇婉(潇洒的潇)同学的帮助,在她的帮助下我们合力完成了此篇博文,在此过程中她损失了一个月的努力成果,笔者深感抱歉,此外希望下面博文对大家有所帮助。 具体实施环境 硬件:惠普台式机498G2MT一台以及惠普显示器 准备工具: Win7(cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso) U

六种msvcp110.dll丢失修复的方法分享,有效快速修复msvcp110.dll丢失

在日常使用电脑的过程中,我们可能会遭遇各种程序运行错误,其中“msvcp110.dll丢失”是一种非常常见的问题。这个问题通常发生在尝试启动某些程序时,系统会弹出一个错误消息,提示“程序无法启动,因为计算机缺少msvcp110.dll”,这可能会让用户感到困惑和无助。幸运的是,这个问题有多种解决方法,本文将指导你通过几种简单的步骤来修复“msvcp110.dll丢失”的问题,让你的程序回到正常运行

win10 gpt分区+uefi引导 卸载双系统ubuntu

1、首先暴力卸载ubuntu 在win10里面磁盘管理中找到对应的linux磁盘分区 删除卷OK 2、重启 出现下面(根据机型不同界面可能不一样 ) 3、exit 退出grub引导 进入uefi引导  选择win10引导项 (当然你要是一直按着进入bios boot的那个按键的话 也不用看第二步了 直接选择windows启动项进去 dell的话是F12) 4、进入

MyBatis-Plus 框架 QueryWrapper UpdateWrapper 方法修复sql注入漏洞事件

什么是漏洞? 漏洞是指软件、系统或网络中存在的安全弱点或错误,这些弱点可能导致系统遭受攻击或被不当使用。在计算机安全领域,漏洞通常源于编程错误、设计缺陷或配置失误。 对于对象关系映射(ORM)框架来说,漏洞通常指的是设计或实施中的安全问题,这些问题可能让应用程序面临SQL注入攻击的风险。 SQL 注入漏洞 如果ORM框架在执行SQL操作时没有正确过滤或转义用户输入,攻击者可以利用输入的恶意数据

《长得太长也是错?——后端 Long 型 ID 精度丢失的“奇妙”修复之旅》

引言 在前后端分离的时代,我们的生活充满了无数的机遇与挑战——包括那些突然冒出来的让人抓狂的 Bug。今天我们要聊的,就是一个让无数开发者哭笑不得的经典问题:后端 Long 类型 ID 过长导致前端精度丢失。说到这个问题,那可真是“万恶之源”啊,谁让 JavaScript 只能安全地处理 Number.MAX_SAFE_INTEGER(也就是 9007199254740991)以内的数值呢?

修复msvcp100.dll文件丢失的问题,如何高效率修复msvcp100.dll

在Windows操作系统中,msvcp100.dll是Microsoft Visual C++ 2010 Redistributable Package的一部分,它支持多种与C++库相关的关键功能。这个文件对于许多程序的正常运行非常重要。有时用户可能会遇到msvcp100.dll文件缺失的问题,这会导致某些程序无法启动或运行错误。本文将探讨一系列有效的解决方案,帮助用户修复msvcp100.dll

今天做了freemaker 导出word文档 的bug修复,解决 \n换行 问题

结合Freemaker导出文件 public void exportSimpleWord() throws Exception{// 要填充的数据, 注意map的key要和word中${xxx}的xxx一致Map<String,String> dataMap = new HashMap<String,String>();dataMap.put("username", "张三");dataMap.

前端 ESlint 代码规范及修复代码规范错误

代码规范及ESlint介绍 代码规范:一套写代码的约定规则。例如:赋值符号的左右是否需要空格?一句结束是否是要加分号? 虽然不遵守这些代码规范并不会造成语法错误,但是一个团队中,我们通常希望各个团队成员的代码风格是统一的 没有规矩不成方圆 ESLint:是一个代码检查工具,用来检查你的代码是否符合指定的规则(你和你的团队可以自行约定一套规则)。在创建项目时,我们使用的是 JavaSc