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


3

今天早些时候,我的计算机的启动驱动器安装了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 用。

我用一个名为'boot repair'的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 ReservedNoneH 在我的第一张表中)我也将不胜感激。

基本上,归结为什么是我给出的道路 grub-install 为了重新安装grub,如果这甚至是解决我的启动问题的方法?

Answers:


2

问题是哪个 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 AFAIK中运行。


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

系统保留就像一个 /boot Linux中的分区。它有一个Windows启动文件的副本(Windows启动管理器,BCD存储...)。通常它也有一个Windows恢复环境。它主要用于BitLocker加密的系统卷( C: )和Windows多重启动。

5 - (无)= 7.94GB =不知道这是什么。 8 gb?完全填写为   好。这个分区是什么?

显然是 swap 划分。

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

可能是一些废弃的OEM恢复分区。我敢打赌,它原本是更大的,包含一个完整的系统恢复映像,但已被删除,分区缩小,因为你升级到Windows 10左右(AFAIR磁盘清理也有一个选项来完成它)。


非常感谢,grub现在正在工作,我可以选择并启动我的两个操作系统。我想我会考虑删除旧的OEM恢复分区,谢谢你
Jay76
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.