6.6 KiB
6.6 KiB
title | tags | categories | comments | abbrlink | date | images | ||
---|---|---|---|---|---|---|---|---|
多系统GRUB引导丢失修复 |
|
|
true | 6d520ba7 | 2018-05-10 12:27:11 |
前言(垃圾话)
这段话忽略不影响教程。本文主要记录一下我粗心大意之下造成的大出血事件。前几天做了一个给电脑供电的移动电源(???)听起来很奇怪但是这个需求确实发生了。emmmm 可能是我和电源有着不可理解的对立关系(成功在实验室造成了两次电池事故😪),因为要实际测试"充电宝"的续航和充电情况,所以我成功的献祭了我的电脑,我自认为已经检查了线路,接口,电压,保证电流不超过限额,但是我万万没有想到,极性搞错了。我TM🙃...把正负极搞反了接上去瞬间黑屏(完全不慌.jpg),所幸的是只是烧了笔记本的电源管理芯片,没有伤及无辜。送去电脑店,没有这种芯片,上淘宝买芯片发顺丰修修修,一来一去就是3天,期间只能勉强靠树莓派过过日子。但是修好了之后出现了新的问题,开不了机进不去系统,然后经过3个多小时的搜查改,终于修好了,所以在这里记录一下。
问题的具体描述
这个问题的表现就是,开机自检能通过,但是出现不了引导界面反而出现的是一个叫做 grub rescue的界面,我这里因为修的时候并没有拍照,所以只能用文字大概描述一下。
- 开机之后通过自检,然后检测引导什么的,但是他提示
erro:file'/boot/grub/i386-pc/normal.mod' not found
这个错误。 - 接下来就是如下的一个命令行界面,
grub rescue>>______________
问题的原因
这个问题本质上就是找不到引导的文件,迷路了找不到任何导航的东西。但是有两种不同的情况(据我搜索的结果)。
- grub 文件还在系统里,但是引导至该文件的设置出错,也就是这个文件的路径不见了。
- grub 的文件已经丢失了,也就是硬盘里不存在这个文件了。
验证是哪种情况
下面几步即可完成。
grub rescue>>
输入ls
。可以看到输出了很多 hd*,msdos* 之类的东西,hd* 就是第几块存储设备,msdos*也就是分区。- 通过
ls (hd*,msdos*)/boot/grub
可以查看是不是grub所在的分区以及文件是否存在。比如我查看 hd0,msdos5 那么命令就是ls (hd0,msdos5)/boot/grub
,这里我在网上看到有些直接输入ls (hd0,msdos5)/grub
(grub摆放的位置不一样)。- 如果结果显示
error:unknown filesystem
代表并不是 grub 所在的分区。 - 如果结果里有
i386-pc
文件夹,那么代表你的是第一种情况。 - 如果结果里没有错误提示但是也没有显示
i386-pc
文件夹,那么你的情况就是第二种(我的恰好也就是第二种)。
- 如果结果显示
设置 grub 路径
我不知道第二种情况需不需要这样设置,经过我的后来思考觉得应该不需要的,但是还是建议设置一下防止出问题。
- 在
grub rescue>>
输入set root=(hd*,msdos*)
设置根目录。 - 在
grub rescue>>
输入set prefix=(hd*,msdos*)/boot/grub
设置 grub 目录。 - 通过在
grub rescue>>
输入set
可以看到设置的结果。
第一种情况解决办法
下面的步骤是网上搬过来的,因为我不是这个情况,原文见博客
- 输入
insmod normal
回车 - 输入
normal
回车 就能进入 grub 引导菜单界面。 - 如果你能选择 linux 并启动那么跳到第5步否则第4步。
- 在 grub 界面按下键盘
C
进入命令行模式输入如下命令。* 就是你刚找到的正确的引导分区的相关序号。
set root=(hd*,msdos*)
Set prefix=(hd*,msdos*)
- 启动 linux 在终端输入如下命令,(其实我更推荐使用 boot-repair 更傻瓜,更安全~ ~)。
sudo update-grub
sudo grub-install /dev/sda (通过 ls /dev/sd* 查看磁盘情况)
第二种情况解决办法
对于二种情况稍显复杂。需要通过一个 liveCD 来拯救。
- 需要 硬件:一个可以用的电脑、一个U盘(会格式化注意备份); 软件:一个 Ubuntu 系统镜像、UltraISO软碟通(亲测U深度一键装机没用)。
- 打开软碟通菜单栏-->文件-->打开下载来的iso镜像。
- 软碟通菜单栏-->启动-->写入硬盘镜像,在弹出的选项里选择U盘然后点击格式化,格式化完成之后点击写入。等待写入完成。
- 插入U盘,进入你电脑的 bios ,我的是在按下电源键启动之后狂按 F2 这里你需要上网搜一下你电脑对应的按键是啥,进去时候找到 boot 设置将U盘列为第一启动项(这里因电脑而异希望你有点灵性),这里不懂的话上网搜一下怎么开机进入U启动盘。
- 顺利的话就进入了一个 linux 的安装界面。在右边的语言列表里滑到最下面选择中文。然后在右边的两个大图标选项里选择试用 Ubuntu ,这样就进入了一个看起来和正常安装没有区别的 Ubuntu 系统。
Ctrl+alt+T
呼出终端,输入以下命令安装 boot-repair 并启动。
sudo add-apt-repository ppa:yannubuntu/boot-repair //添加 boot-repair 软件源
sudo apt-get update //更新软件列表
sudo apt-get install -y boot-repair //安装 boot-repair
boot-repair //启动 boot-repair
- 按照提示傻瓜式的操作即可完成修复,耐心等待。
- 在过程中如果提示某个硬盘是否是可拆卸的选择否,如果是移动硬盘就选择是。
- 修复完成会问你是否选择生成报告,点击是,生成报告然后给你一个网址,复制网址到浏览器即可访问结果,可以看到你的分区和引导以及引导的系统。
- 关闭计算机,拔掉U盘,重启计算机即可进入引导~ ~。windows 和 linux 都可以进入了,美滋滋。
- 启动 windows 可能会提示是否要跳过系统检查,这个很快的,也就20几秒就好了。
后话
- 我这里出现一个情况,我原本的默认引导是用那种黑白屏的引导,然后如果点击 Ubuntu 会跳转到 grub 引导但是经过这个操作之后,grub变成了默认的引导点击windows之后会跳到黑白屏的引导。 解决办法:下载EasyBCD编辑引导菜单删除 Ubuntu 的引导选项就OK了,就默认使用 grub 引导(之前就想这么搞来着误打误撞美滋滋)。
- grub默认的不是windows启动,通过该教程 即可调整默认的启动系统,如果链接失效搜索一下 grub 调整启动顺序~ ~。