新建分区后修复grub引导失败
{music id="1448421768" color="#6a267d" autoplay="autoplay"/}
电脑上安装了window和manjaro系统,当初想着linux系统不用分配太多存储,就随手分配了55G安装了manjaro i3wm :@(内伤) ,我想,当初应该是脑子不正常勒,idea、vscode等各种软件还有git项目,现在50G用剩2.7G :@(抠鼻) 。想着从window C盘再分点出来,嗯,就有现在你看到的这篇随笔 :@(无奈)
一、window系统中分配50G空闲分区
直接进入window存储管理右键创建空闲分区,或者下载个分区助手操作。(略过)
二、产生grub引导错误原因
创建分区后进行ext4格式化,导致新建分区对应挂载点(或者叫盘符?)替换了原来manjaro系统的挂载点。下图示:
原本挂载点nvme0n1p4
是指向manjaro系统得,现在指向了新创建的分区(50G那个);nvme0n1p5
指向原来的manjaro系统(55.3G那个)。(从C盘切下来的空闲分区是紧挨C盘后面得er,想了想,盘符错乱好像也挺正常 :@(看不见) )
盘符错乱就导致了使用manjaro做开机引导的grub程序在原来的挂载点中找不到系统引导入口,所以开机后直接进入grub rescue救援模式,需要宁手动选择系统所在分区。来吧 ヾ(´・ ・`。)ノ
三、grub引导修复
1.确定系统启动挂载点/分区
进入grub模式后输入ls
显示所有分区,ls 分区
显示指定分区内容:
grub rescue>ls
...(hd0,nvme0n1p4) (hd0,nvme0n1p5)...
grub rescue>ls (hd0,nvme0n1p4)/
...unknown filesystem...
grub rescue>ls (hd0,nvme0n1p5)/
home etc usr ...
如果显示系统根目录内容,就说这个分区就是你原来的系统分区。这里的系统分区是(hd0,nvme0n1p5)
2.normal启动
grub rescue>set root=(hd0,nvme0n1p5)
grub rescue>set prefix=(hd0,nvme0n1p5)/boot/grub
grub rescue>insmod normal
grub rescue>normal
ok,此时你就进入原系统的开机引导界面了,选择manjaro进入系统,进行grub的引导修复
3.修复
# 打开终端
sudo update-grub
sudo grub-install /dev/nvme0n1p5
ok,搞定