删除 Windows 后无法安装 grub

删除 Windows 后无法安装 grub

我的笔记本电脑上安装了 Windows 10。昨天我将其卸载了。问题是我还格式化了 sda1 分区以全新安装 grub。但是当我尝试 ubuntu 修复工具时它失败并给出以下摘要。

http://paste.ubuntu.com/p/cwQ5GBvdrB/

当我尝试重新启动时,grub2 命令行没有直接启动到 ubuntu。

分区表

答案1

至少有两种方法可以解决这个问题:

1.直接使用 grub 命令行

Grub 和 grub-rescue 使用的命令行语法一开始可能有点令人讨厌和麻烦,但了解至少一些基本知识以应对这种危急情况是个好主意:

  • 首先,设置长命令的分页

grub>set pager=1

  • 接下来,列出可用的卷/分区

grub>ls

  • 作为输出,您将获得类似以下内容的内容:

    (hd0) (hd0,msdos1) (hd0,msdos2) (hd0, msdos3)

  • 然后可以检查每一个 msdos[1-3] 分区ls,最终其中一个分区将与您的 Linux 操作系统的目录结构相匹配。

    grub>ls (hd0,2)
    bin/ boot/ cdrom/ dev/ etc/ home/  lib/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ initrd.img initrd.img.old vmlinuz vmlinuz.old 
    
  • 一旦找到您的 Linux 分区,您必须设置前缀,然后将该分区设置为根。

    grub>set prefix=(hd0,2)/boot/grub
    grub>set root=set root=(hd0,2)
    
  • 然后是linuxinitrd命令,root=/dev/sdaX 应该相应地更改,其中 X 是您的分区号,这里我使用 2 作为示例。[version] 将对应于您的内核版本。如果您有vmlinuzinitrd符号链接/vmlinuz,那么/initrd.img为了简单起见,您可以直接使用这些作为路径。

    grub>linux /boot/vmlinuz-[version] root=/dev/sda2
    grub>initrd /boot/initrd.img-[version]
    grub>boot
    
  • 这将让你进入 Linux 操作系统,然后继续重建 grub

2.使用 GParted 等实时救援磁盘。

一旦启动,您应该可以访问一个终端,可以使用以下命令重建并将更正的 grub 安装到您的硬盘驱动器。

更新并安装正确的 grub

  • 从终端执行:

$sudo grub-mkconfig -o /boot/grub/grub.cfg

或者

$sudo update-grub

  • 然后将 grub 安装到硬盘(而不是单独的分区),这里我再次使用 /dev/sda 作为示例。

$sudo grub-install /dev/sda

这就是全部了。这些命令在 StackExchange 上重复了几十次,但我发现当有人询问时简单地重写它们是一个好主意,因为这是我永远不想忘记的事情之一。

相关内容