重新安装 GRUB,使用哪个设备?

重新安装 GRUB,使用哪个设备?

今天早些时候,我的计算机的启动驱动器上顺利安装了 Windows 10 和 Ubuntu 16.04。

我可以选择通过 GRUB 启动 Ubuntu 还是 Windows。我还可以在 VMWare Workstation 中以虚拟机的形式启动 Ubuntu。

今晚我愚蠢地sudo apt-get dist-upgrade在 Ubuntu 内部运行了该命令,而当时它正在 Windows 中作为虚拟机运行。

这发生了一些非常奇怪的事情。我不知道是什么,但是当它试图更新 GRUB 时,它完全崩溃了。

我重启了 Windows,结果出现了一个奇怪的 GRUB 屏幕;正常的 grub 屏幕,但@菜单周围有符号形成边框。选择 Windows 或 Ubuntu 会导致错误Error: Command not found, press any key to continue。按任意键都会回到主 GRUB 菜单。

所有内容都已备份,我可以使用我的 Macrium live cd 查看我的启动驱动器。

它有以下分区:

1 - System Reserved = 100MB = This is something to do with Windows, but what? The UEFI bios?
2 - Boot (C:) = 83GB = This is where Windows 10 is installed
4 - (None) = 19.99GB = This where Ubuntu is installed
5 - (None) = 7.94GB = No idea what this is. 8 gb? Completely filled as well. What is this partition?
3 - (H:) = 450MB = No idea what this is.

那么我应该运行什么来将 grub 恢复到此驱动器?我知道我需要启动我的可启动 Ubuntu pendrive 并运行grub-install /dev/xxxxx,但是我不确定要替换什么xxxxx

我使用名为“启动修复”的 ubuntu 应用程序扫描了我的驱动器,它给了我以下结果。

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/loop0                                              squashfs   
/dev/sda1        42F031C2F031BCCB                       ntfs       Current
/dev/sdb1        9834F5D734F5B7F8                       ntfs       Archive
/dev/sdc1        7A900F02900EC51B                       ntfs       System Reserved
/dev/sdc2        62BA1027BA0FF5F7                       ntfs       Boot
/dev/sdc3        8C009F66009F55D4                       ntfs       
/dev/sdc5        7d735d0f-0066-414d-88ad-2c49d8b7bbba   ext4       
/dev/sdc6        e2a27db6-9029-4cf6-903b-5403f64dc38d   swap       
/dev/sdd1        02FE-C63F                              vfat       UUI
/dev/sr0         2016-03-02-11-04-09-00                 udf        RESCUE

我认为我需要grub-install /dev/sdc2以“Boot”的身份运行,这是我对启动驱动器的称呼,但我真的不确定,而且我不想损坏任何东西,所以我想确认一下。如果有人能告诉我我的神秘分区(在我的第一个表中标记为 和 )是什么,System ReservedNone也会H很感激。

基本上,这归结为我应该提供什么路径grub-install来重新安装 grub,如果这甚至是解决我的启动问题的方法?

答案1

问题是sdX你应该使用哪一个,而不是哪个sdcY。如果sdasdb是“数据驱动器”,那么它应该是sdc。指定的设备是 grub 将其启动代码/核心映像放在其中,通常应该是 MBR 以及它与启动磁盘的第一个分区之间的后 MBR 间隙。

更大的问题是 grub 模块等将安装到哪里。这是通过选项 指定的--boot-directory,其默认值为/boot。就你的情况而言,我没有看到你有一个单独的分区,因此你需要sdc5在实时环境中挂载(例如/mnt)。然后你可以运行:

grub-install --boot-directory /mnt/boot /dev/sdc

或者,如果你能设法 chroot 到/mnt

grub-install --boot-directory /boot /dev/sdc

由于它是隐含的,因此--boot-directory /boot可以省略。

您可能还需要明确指定,--target i386-pc以防grub-install您的系统具有 UEFI 而不是 BIOS,并且您的实时环境以某种方式以 UEFI 模式启动,而不是像启动盘上的系统那样的传统模式(因为它没有 EFI 系统分区,从技术上讲应该始终是 FAT12/16/32)。

您可能需要运行update-grubgrub-install确保grub.cfg其正确。与 不同grub-installupdate-grub据我所知必须在 chroot 中运行。


1 - 系统保留 = 100MB = 这与 Windows 有关,但是什么?UEFI bios?

系统保留区就像/bootLinux 中的一个分区。它包含 Windows 启动文件(Windows 启动管理器、BCD 存储...)的副本。通常它还包含 Windows 恢复环境。它主要针对 BitLocker 加密的系统卷 ( C:) 和 Windows 多重启动进行分隔。

5 - (无) = 7.94GB = 不知道这是什么。8 GB?也完全填满了。这个分区是什么?

显然是swap分区。

3 - (H:) = 450MB = 不知道这是什么。

可能是一些过时的 OEM 恢复分区。我敢打赌它原本更大,并且包含一个完整的系统恢复映像,但自从你升级到 Windows 10 左右以来,它已被删除,并且分区缩小了(据我所知,磁盘清理也有一个选项可以完成此操作)。

相关内容