记 一次手残 将grub 启动项弄没了的尴尬经历

os-prober

可以做检测系统用。

前言

这是一个悲催的故事,作者新装的debian8.0,缘于资深博客虾师弟find的影响,本机是120Gssd+500G机械;本来机械硬盘里有个ubuntu16.04,然后又装了个win7,我想利用强大的grub来引导一下,多次折腾之后没有成功,结果一时手残,把两个在/boot下重要文件给 rm 掉了 ,
vmlinuz-**和initrd.img~这两文件,相当重要,千万不要跟我一样。

经过

下面我说一下这个过程,和遇到的问题。
1.发现不能进入debian的时候,我就开始想怎么解决这个问题了,谷歌一下,搜索到的都是利用liveCD,重新安装grub。搜到一篇文章,不过文不对题这篇文章主要解决的是win7+ubuntu双系统,更新grub
2.此法不通,另寻它法。我又折腾了一会儿,发现能进grub命令行,我想通过grub命令能不能解决这个问题,又展开搜索了。终于发现了问题所在,How to Rescue a Non-booting GRUB 2 on Linux,原来我的两个文件被我rm掉了啊,难怪我无法修复呢。
3.发现问题之后,我准备着手解决,但是更悲催的是,grub.cfg里的代码又被我无情的delete掉了,苍了个天。幸好有位好同志,将cfg文件的代码贴了出来,终于照着葫芦画瓢给写上了。grub.cfg源码

grub.cfg 存档

把grub.cfg的几段代码贴一下。
第一个,引导debian8.0的代码。

menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8f9a2097-a3bb-4265-9896-3fb64411f2f6' {load_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd1,msdos1'#debian8.0安装盘所在位置if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  4c6cb16d-8aa6-4833-8d70-7ab013f1f386#/boot的磁盘名elsesearch --no-floppy --fs-uuid --set=root 4c6cb16d-8aa6-4833-8d70-7ab013f1f386fiecho    '载入 Linux 3.16.0-4-amd64 ...'linux   /vmlinuz-3.16.0-4-amd64 root=UUID=8f9a2097-a3bb-4265-9896-3fb64411f2f6 ro initrd=/install/initrd.gz quiet#8f...是 / 的磁盘名#vmlinuz是boot下文件echo    '载入初始化内存盘...'initrd  /initrd.img-3.16.0-4-amd64#initrd镜像
}

知道各个位置所在,就可以直接改写代码了。
跟debian类似,这是ubuntu16.04的代码

menuentry 'Ubuntu 16.04' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-61438d84-4200-47f5-8f8f-12a537bd1ac7' {load_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  cc13b962-d94d-4d32-ae46-26c2ddeb4e9celsesearch --no-floppy --fs-uuid --set=root cc13b962-d94d-4d32-ae46-26c2ddeb4e9cfiecho    '载入 Linux 3.16.0-4-amd64 ...'linux   /vmlinuz-4.4.0-36-generic root=UUID=61438d84-4200-47f5-8f8f-12a537bd1ac7 ro initrd=/install/initrd.gz quietecho    '载入初始化内存盘...'initrd  /initrd.img-4.4.0-36-generic
}
win7代码如下
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {insmod part_msdos
insmod ntfs
set root='(/dev/sda,msdos1)'#c盘所在if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  54E405AEE4059400elsesearch --no-floppy --fs-uuid --set=root 54E405AEE4059400#c盘盘符fi
chainloader +1
}

参考文献
[1] https://www.hongweipeng.com/index.php/archives/153/
[2] https://www.linux.com/learn/how-rescue-non-booting-grub-2-linux
[3] http://blog.chinaunix.net/uid-7374279-id-5640169.html

利用grub引导多系统debian8.0+win7+ubuntu16.04相关推荐

  1. 双系统下grub引导windows系统

    双系统下grub引导windows系统 我在一台本来有windows的电脑上安装了arch linux,在grub里是没有windows系统的,于是搜索各种文章,花费好长时间才成功.在这里分享一下我的 ...

  2. WIN7+Ubuntu16.04双系统的安装和各种出现的问题的解决方法,以及GTX1050(NVIDIA显卡)的正确安装步骤(apt-get安装方式)

    第一次开始接触了双系统,用的是WIN7+Ubuntu16.04, 之所以用这LINUX发行版本,主要是学习ROS. 这个安装过程十分的坑爹,搞了很久,也算是摸清了一些门路了,在此记录一下,希望可以帮助 ...

  3. win7+ubuntu16.04以及win10+ubuntu18.04双系统安装

    win7+ubuntu16.04以及win10+ubuntu18.04双系统安装 win7+ubuntu16.04以及win10+ubuntu18.04双系统安装 2020.8.8更新 2020.7. ...

  4. Win系统 U盘安装Ubuntu16.04 双系统 legacy 与 uefi模式 换软件源

    目录 uefi和legacy是两种不同的引导方式, 扩展资料 传统的legacy模式安装双系统 查看电脑是32位还是64位 u盘安装ubuntu 重启.安装 安装主要分为以下几步: 亲测dell笔记本 ...

  5. linux的多重启动管理器,使用多重启动管理器GRUB引导Linux系统.pdf

    维普资讯 2007年 (第35卷)第6期 信患事L爿' 使用 多重启 动 管理器 GRUB ,导 Linux系统 白伸伸 (兰州职业技术学院 信息工程系,甘肃 兰州 730000) 擅要:GRUB是一 ...

  6. 双系统Linux grub引导,双系统修复ubuntu grub2引导的方法

    ubuntu12.04的grub引导使用grub2.重装windows系统后,用原来grub引导便会被清除,所以需要手动修复,用下面的两个方法. 方法1:有grub启动的光盘或U盘修复 如果手上有gr ...

  7. 快速上手Ubuntu之安装篇——安装win7,Ubuntu16.04双系统

    Linux可以说是开发者的系统,对于开发者来说,Linux发行版不仅为我们提供了无数强大的开发工具,还能帮助我们从源码上学习操作系统是工作的.而且经常在命令行上工作的我们还能在别人面前耍下酷.Ubun ...

  8. 【Ubuntu】win7+Ubuntu16.04双系统安装与卸载

    主板:bios 磁盘:MBR 电脑型号:Thinkpad 原始系统:windows 7 整个安装过程主要分为以下几步: 一. 下载ubuntu16.04镜像; 二. 划分系统安装盘: 三.使用ultr ...

  9. win7+Ubuntu16.04双系统安装的那些事!

    前言:由于本身电脑比较旧了,运行VM+Ubuntu卡的让我有点接受不了,因此下定决心装双系统来暂时缓解,我将原来的F盘用磁盘管理器格出了70G磁盘空间用于安装Ubuntu16.04.本博客主要是记录装 ...

最新文章

  1. 如何用 Python 和 Flask 建立部署一个 Facebook Messenger 机器人
  2. 最高75K,至多可拿16薪,这个岗位成财富密码?
  3. mysql odbc安装提示找不到ian_如何解决mysql odbc安装丢失的问题
  4. Python 编码问题:‘ascii‘ codec can‘t encode characters in position 的解决方案(中文乱码终极解决方案)
  5. C++——错误 error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
  6. 面试题 01.01. 判定字符是否唯一 (计数排序思想)
  7. c++ 队列_经典数据结构与算法(一):Python/C/C ++实现堆栈和队列
  8. Atitit 避税之道 如何降低企业与项目组成本 attilax总结
  9. 极速办公(word)字体如何设置为斜体
  10. 使用Lingo求解简单的线性规划问题
  11. 华丽的Flutter的demo----新闻阅读+音乐+短视频+小说
  12. 温州大学计算机学硕考研难度,2020年温州大学计算机科学与技术考研经验分享...
  13. 一个测试浏览器速度的网站
  14. 贝叶斯网络经典matlab源代码解析
  15. Hyper-V的使用技巧及管理方法
  16. 网易互娱 实习生招聘 内推
  17. 两篇文章带你搞懂GC垃圾回收之基础篇
  18. STM32硬件SPI通过fm17550读取身份证UID,识别银行卡,识别TYPEA与TYPEB
  19. 调用“抱抱脸团队打造的Transformers pipeline API” 通过预训练模型,快速训练和微调自己的模型
  20. 浅谈tomcat优化

热门文章

  1. 基于java的Android手机通讯录【详细】【完整代码】
  2. 【Tool】常用 GIT 命令参阅
  3. 计算到达18岁生日所经过的总天数
  4. vue3.0+ts+element-plus多页签应用模板:项目搭建
  5. 模型数据处理之数据格式转换——SuperMap iDesktop
  6. 炒鸡福利:买云服务送智能摄像头
  7. python 中的 urlencode 编码与 urldecode 解码
  8. Spring系列第20篇:@Conditional通过条件来控制bean的注册
  9. Invalid initial heap size: -Xms128m-Xmx512
  10. 乐得瑞推出多款USB Type-C接口方案,显示器和电视机专用