双系统重装win10后恢复grub引导

双系统重装win10后恢复grub引导

Win10+ubuntu18.04双系统,通常是先装win10,再装ubuntu,这样可以产生grub引导项。
但,若双系统已安装后,若因不可知原因而重装了win10,则开机后找不到grub引导,直接进入win10,ubuntu不知去向~。
要恢复grub引导,可按以下方式恢复:
找到18.04引导U盘,启动,进入u盘选试用ubuntu。进入ubuntu后CTRL+ALT+T调出终端。

$sudo fdisk -l        #找出之前linux的安装分区,本例为 /dev/sda5
$sudo mount  /dev/sda5  /mnt    #(/dev/sdb5就是之前linux的安装分区,根据情况而定)
$sudo grub-install --root-directory=/mnt  /dev/sda

/dev/sda就是grub引导所在的地方,注意sda没有后面的数字。/mnt后面加空格。
重启计算机,拔掉u盘,一切恢复,重现grub引导菜单。若没有windows启动项不用着急,进入ubuntu后来挽救。
$sudo update-grub
$sudo init 5 (至于是5还是多少不重要,它指定默认的启动选项,以后可在grub.cfg中更改)
完成。

注1:linux mount命令将linux某分区挂载到/mnt上,并没有将分区的内容拷贝到/mnt中。系统恢复后,可以卸载/mnt,也可以不卸载。通常在ubuntu系统安装后,有一个/mnt的空文件夹。
注2:将主机BIOS引导第一顺序指向 /dev/sda。
注3:对于旧式机器的MBR引导,重装win10后,MBR被覆盖,于是找不到grub引导。对于UEFI引导方式,grub并没有被覆盖,可按下面方式恢复。

下面给出另外一个示例,双系统windows10安装在SSD,ubuntu安装在机械硬盘中。这是UEFI引导的GPT分区方式。采用老式BIOS引导,MBR分区方式不适用于此例

下图是技嘉主机256GB SSD盘信息,该盘设备是 /dev/nvme0n1,有两个win10的恢复区(图中的分区4和分区5,分别对应win10-1703和20H2版本)。win10放在分区3(/dev/nvme0n1p3),但引导Windows Boot Manager放在分区1。grub引导在安装ubuntu时,通常写入Windows Boot Manager所在分区,即分区1。当重装win10后,Windows Boot Manager成为第一引导项,grub引导退居其次,所以开机后直接进入windows,而不出现grub引导项。
双系统重装win10后恢复grub引导_第1张图片

但是,grub引导并没有被覆盖。技嘉BIOS引导顺序中,有这样的选择:

  1. GIGABYTE GP-GSM2NE3256GNTD
  2. ubuntu (GIGABYTE GP-GSM2NE3256GNTD)
  3. Windows Boot Manager (GIGABYTE GP-GSM2NE3256GNTD)
  4. P0:ST1000DM010-2EP102
    前面1,2两项都可以重新复现grub引导菜单,第三项Windoes Boot Manager直接进入win10,第四项:P0:ST1000DM010-2EP102则是1000G机械硬盘。
    所以,UEFI引导的双系统通过变更引导顺序就可以恢复grub引导。

你可能感兴趣的:(linux,grub)