我的 PC 上安装了 Windows Vista 和 Linux Mint 12 KDE,每个都安装在自己的硬盘上。
我最近想尝试一下 Windows 8 Consumer Preview,看看它在我的 PC 上运行如何,因此我在 Windows 硬盘上为 Win 8 创建了一个分区。安装 Win 8 后,当我打开计算机时,GRUB 不再出现,而是出现Windows 8 引导加载程序让我可以在 Windows Vista 或 Windows 8 之间进行选择。
在对 Windows 8 进行了一些测试并尝试让它检测我的无线适配器(过时的驱动程序)之后,我想使用 Linux,因此在 Vista 中我擦除了安装了 Win 8 的分区并为 Vista 重新分配了内存。
当我启动计算机时,它仍然尝试使用 Windows 8 引导加载程序并出现各种错误,并且会一遍又一遍地自动重新启动计算机。我差点心脏病发作,我的电脑无法使用,但从 Win 8 CD 启动后,我能够启动到 Vista,并且在系统配置中删除了将“Windows Vista”设置为默认值的“Windows 8”启动选项。
太好了,现在我的计算机启动了,但是 GRUB 在哪里?如何再次使用 GRUB 访问其他硬盘上的 Linux 发行版?
答案1
您可以使用 Linux 救援磁盘将 grub 放回磁盘的 MBR 上。然后你应该会再次看到你的 Linux 安装。
您可能还想将 Linux 安装添加到 Windows 引导加载程序中,这样即使 Windows 再次覆盖 MBR,您仍然能够引导 Linux。读http://blogs.technet.com/b/port25/archive/2006/10/13/http-port25-technet-com-archive-2006-10-12-windows-and-linux-integration-3a00-a-与作者对话-aspx.aspx了解更多信息。
答案2
最初,当您只有 Linux 和 Windows Vista 时,MBR 包含 GRUB。一旦安装了 Windows 8,Windows 8 引导加载程序就会覆盖 MBR 中的 GRUB。由于 Windows 8 引导加载程序只能识别 Windows 分区,因此它允许您仅引导 Windows Vista 和 Windows 8。现在要恢复 Linux 并能够引导 Linux 和 Windows Vista,您需要做两件事:
- 使用救援盘安装 GRUB。
- 手动输入 Windows Vista 分区的条目。
第一步包括:
A。从应急磁盘启动(Linux 下的可启动 Pendrive 或 CDROM)。
b.使用命令安装 GRUB grub-install
。
$ sudo grub-install /dev/XXX
其中 XXX 是 Linux 安装的设备。
您可以使用以下命令来了解安装了 Linux 的设备。
$ sudo fdisk -l
这将显示安装了 Linux 的分区。
第二步取决于您要安装的 grub 类型。如果您的应急磁盘包含最新的 Linux 发行版,那么它必须安装 GRUB 2。对于 GRUB 2,您必须执行以下步骤:
A。使用命令打开 grub 配置文件。
vi /boot/grub/grub.cfg
手动将 Windows 的菜单项放在 Linux 菜单项之后:
menuentry "Windows Vista (loader) (on /dev/XXX)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdosX)'
search --no-floppy --fs-uuid --set device-UUID
chainloader +1
}
您可以使用命令找到包含Windows Vista 的设备(/dev/XXX) fdisk -l
。
如果设备假设为 /dev/sda1,则将条目设置为:
set root='(hd0,msdos1)'
您必须device-UUID
使用以下命令来查找 /dev/sda1 的设备 UUID:
$ sudo blkid
将 UUID 值从上述 Windows Vista 分区命令的结果中取出。
保存文件并再次启动,您将在启动时发现 GRUB 中出现 Windows 条目。