最近大家都在忙着更新Windows 10的春季更新1803,然而双系统的小伙伴不知道有没有和我一样更新重启之后一脸心塞:是的,我们熟悉的grub rescue又出现了。
2018/9 更新: Windows 10 的问题补丁已经在当日下架,重上后问题修复。本篇文章仍可提供以下内容:
- 双系统配置中 Windows 10 关闭快速启动方法
- Linux 引导丢失后通过grub临时进入系统方法
- grub 常见命令介绍及使用
1 原因推测
grub rescue是在无法顺利进入系统时的急救阶段,本次双系统(笔者Deepin党)躺枪的主要原因推断是Win 10更新后重置了部分系统设置,导致Windows系统电源模块的关机快速启动选项被重新打开,Linux系统为主引导则无法正常读取磁盘,结果引导失败,也可能有其他的系统冲突存在导致引导崩坏。
(更:分区GPT,更新后修复过程中丢失了快速启动的两个附属分区造成了更严重的崩溃,转MBR基本修复)
2 Windows端修复
如果引导本身是没有问题的话,开机长按F12进入BootManager还是可以顺利进入Windows的,进入后在电源选项中关闭关机快速启动选项后重启即可。
3 Linux端修复
Linux主导的话重启后还是会进入grub rescue这个尴尬的状态,配置之后可以暂时进入Linux,此时可以修复一下grub。该状态下可以使用的命令非常有限,基本常用的就只有以下几个:
命令 | 功能 |
---|---|
set | 设置参数 |
ls | 显示当前目录内容 |
insmod | 加载模块 |
参数 | 含义 |
---|---|
root | 系统分区 |
prefix | 启动路径 |
normal | 普通模式模块 |
首先在默认目录下查看一下可用的分区:
grub rescue> ls
(hd0) (hd0,gpt7) (hd0,gpt6) (hd0,gpt5) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd0,gpt0)
如果记得Linux在那个系统下最好,如果忘记了可以挨个试一下,找一下grub:
grub rescue> ls (hd0,gpt5)/boot/grub
如果顺利找到了该路径并显示出了文件信息,呢么,bingo~
接下来设置一下grub启动:
grub rescue> set root=(hd0,gpt5)/boot/grub
grub rescue> set prefix=(hd0,gpt5)/boot/grub
grub rescue> insmod normal
grub rescue> normal
没敲错的话就会顺利加载出我们的Linux啦~
在启动菜单按C进入命令行模式(可以使用Tab键补全了,这步也可以暂时先跳过)
grub>set root=hd0,gpt5
grub>set prefix=(hd0,gpt5)/boot/grub
grub>linux /vmlinuz root=/dev/sda5
grub>initrd /initrd.img
grub>boot
然后就是进入系统update-grub的部分:
$ sudo update-grub2
...
$ sudo grub2-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
注意这里sda是磁盘,不要加扇区,期间可能会出现install失败的问题(BIOS/UEFI配置问题)
需要更改一下磁盘的属性:
$ sudo parted /dev/sda set 1 bios_grub on
Information: You may need to update /etc/fstab.
$ sudo parted /dev/sda print
Model: ATA WDC WD10JPCX-24U (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 274MB 273MB fat32 Basic data partition bios_grub
...
可以看到Flags被修改为了bios_grub,此时再重新install不再出现错误,但是这样设置相当于屏蔽了Windows使用UEFI。
重启检查一下。顺利进入Deepin,但Windows仍然是只读。
这一步用装机盘修复下MBR应该就ok了,具体结果有空再尝试。
Ps 经好心人提醒:
微软发布 KB4103721 补丁,导致了 Windows 10 春季四月更新(版本号 1803) Intel SSD 600P,Intel SSD Pro 6000P 做启动盘的机器启动后反复进入 UEFI,或无法启动的问题。请暂缓更新!重复,请暂缓更新!
我们的822,我们的青春
欢迎所有热爱知识热爱生活的朋友和822实验室一起成长,吃喝玩乐,享受知识。