![如何重新安装 grub](https://linux22.com/image/974435/%E5%A6%82%E4%BD%95%E9%87%8D%E6%96%B0%E5%AE%89%E8%A3%85%20grub.png)
在我的计算机中,我有 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 &)
这实际上解决了启动过程中的所有问题。如果仍然无法正常工作,只需将错误报告保留在添加评论部分。您会发现我附加了一个链接,其中有屏幕截图和清晰的说明。如果您还有不清楚的地方,只需转到该链接即可。玩得开心。