update-grub 未检测到 linux 分区

update-grub 未检测到 linux 分区

我将 Windows 和 debian 安装在同一个 SSD 上并无缝运行。在我的实验中,我尝试从 USB 安装 Windows,(当然)它最终采用了 grub 救援模式。

我不确定,但我可能在疯狂中这样做了:

grub-install /dev/sda6 # (where /dev/sda6 is my root linux partition)

因为现在,在终端玩了一些之后:

update-grub 

仅检测驻留在 /dev/sda1 上的 Windows 分区。在我的搜索过程中我发现了这个 我想问一下,按照链接中的描述将 MBR 清零是否安全。我的意思是,(因为我不知道链接的帖子是什么时候写的)是来自命令的这些数字:

dd if=/dev/zero of=/dev/hda bs=446 count=1
# and
dd if=/dev/zero of=/dev/hda1 bs=512 count=1

仍然正确吗?我不想让事情变得比现在更糟......

答案1

最后发现是内核丢失了。所以我不得不重新安装它。我所做的是:

  • 通过 live USB 和命令行启动:

    mkdir /recovery
    mount -t ext4 /dev/sda6 /recovery
    mount -o bind /dev /recovery/dev
    mount -o bind /sys /recovery/sys
    mount -t proc none /recovery/proc
    
    chroot /recovery /bin/bash
    apt-get remove linux-image-4.19.0-9-amd64
    

此时我遇到了一些问题,因为我在 chroot 系统中没有互联网连接,并且无法执行“apt-get install linux-image-4.19.0-9-amd64”,所以我手动下载了 linux-image-4.19.0 -9-amd64.deb 在 live usb 中,然后将其安装在 /recovery 目录中。

dpkg -i /recovery/download/linux-image-4.19.0-9-amd64.deb
update-grub

然后 grub 菜单被修复,我可以轻松启动到系统,但 /home 分区从 fstab 中消失了,我可以进入用户帐户,所以我再次通过 live usb 启动并在 fstab 中添加适当的行。

现在,系统工作正常,除了启动过程比以前花费的时间要长一点之外,但我可以忍受。

相关内容