如何重新安装 grub

如何重新安装 grub

在我的计算机中,我有 2 个 Windows 7 分区(传统的 C: 和 D:)、Ubuntu Gnome(我需要编码时标准使用)和一些我不再使用并且打算删除的旧 Fedora 分区。

我想调整我的 2 个 W7 分区的大小,以便为 C: 提供更多空间。但是,当我想重新启动计算机时,我遇到了“grub 救援”问题。

因此我使用了可启动的 USB 密钥(Ubuntu 14.04),并尝试了网上找到的几种解决方案,例如我该如何修复 grub?(安装 Windows 后如何恢复 Ubuntu?),我尝试使用启动修复...但每次我都被同一种错误阻止:根据 apt-get,数据包“grub-pc”、“grub-common”、“grub”...没有任何可以安装的版本。

我唯一没有犯错的事情是

sudo grub-install --boot-directory=/media/sda5 /dev/sda

当我重新启动时,它所做的就是将我的错误更改为“支持最少的类似 BASH 的行编辑”。

我知道这是一个被广泛讨论的问题,但我无法在我的电脑上解决这个问题。我甚至觉得我让情况变得更糟了。

我的一小部分sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xbf16e21c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    52430847    26214400   1c  Hidden W95 FAT32 (LBA)
/dev/sda2   *    52430848   979963903   463766528    7  HPFS/NTFS/exFAT
/dev/sda3       979963904  1054484479    37260288    7  HPFS/NTFS/exFAT
/dev/sda4      1054484479  1465147391   205331456+   f  W95 Ext'd (LBA)
Partition 4 does not start on physical sector boundary.
/dev/sda5      1054484480  1380587519   163051520   83  Linux
/dev/sda6      1380589568  1413945343    16677888   82  Linux swap / Solaris
/dev/sda7      1413947392  1414971391      512000   83  Linux
/dev/sda8      1414973440  1465147391    25086976   8e  Linux LVM
Disk /dev/mapper/fedora-swap: 8371 MB, 8371830784 bytes
255 heads, 63 sectors/track, 1017 cylinders, total 16351232 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/fedora-swap doesn't contain a valid partition table

Disk /dev/mapper/fedora-root: 17.3 GB, 17314086912 bytes
255 heads, 63 sectors/track, 2104 cylinders, total 33816576 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/fedora-root doesn't contain a valid partition table

Disk /dev/sdb: 4009 MB, 4009754624 bytes
145 heads, 48 sectors/track, 1125 cylinders, total 7831552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3072e18

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          48     7831551     3915752    b  W95 FAT32

编辑:我不知道这是否相关,但我第一次尝试启动修复时,我清除了 sda5 上的 grub(按照要求,我只是复制粘贴了要求的内容),然后我遇到了“无版本”问题。现在,当我启动它时,它只是显示“grub2 清除已取消”。

lvs:

  LV   VG     Attr      LSize  Pool Origin Data%  Move Log Copy%  Convert
  root fedora -wi-a---- 16,12g                                           
  swap fedora -wi-a----  7,80g

答案1

尝试这个

mkdir /mnt/root
mount /dev/sda7 /mnt/root
mount /dev/sda5 /mnt/root/boot
mount --bind /dev /mnt/root/dev
mount --bind /proc /mnt/root/proc
mount --bind /sys /mnt/root/sys

这将创建一个 chroot 环境,现在您需要运行 chroot 并为 grub 创建配置文件

chroot /mnt/root
/usr/sbin/update-grub2
reboot

现在它应该可以工作了

答案2

Ctrl首先从 Live Ubuntu CD 或 Live Ubuntu 闪存驱动器启动并连接到互联网。之后通过+ Alt+进入终端T并使用以下命令,

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

这实际上解决了启动过程中的所有问题。如果仍然无法正常工作,只需将错误报告保留在添加评论部分。您会发现我附加了一个链接,其中有屏幕截图和清晰的说明。如果您还有不清楚的地方,只需转到该链接即可。玩得开心。

参考链接:在 Ubuntu 中安装 Boot-Repair

相关内容