这是我一周前的高清设置:
sda1: EXT4 => / (Ubuntu root)
sda2: NTFS => Windows XP C:
sda5: EXT4 => /home
sda6: SWAP
sda7: NTFS => All my files like music videos etc
sda4: Blank
一切都很顺利。然后我将 XP 更新到 Seven。
很好!几乎 100% 正常工作,但我的网络摄像头无法像在 XP 上那样工作。
所以我想:“是时候在最后一个分区中安装 XP 了!”
所以我就这么做了。
sda2: NTFS => Windows 7 C:
sda4: NTFS => Windows XP G:
我当然知道 XP 会毁掉我的 GRUB。
我的战争就此开始。
我尝试过两次按照我所知道的方式恢复我的 GRUB(liveCD >> chroot
)grub-install
,但都没有成功。所以我在 Ubuntu-wiki 上读到,不要使用grub-install
,而是键入grub
并手动执行操作...类似于root (hd0)
和setup (hd0,0)
。
然后 grub 出现了。很好,然后。
我做了menu.lst
这样的事情:
[ubuntus]
hd(0,1) Windows 7
hd(0,3) Windows XP
不知为何,当我尝试打开第二个条目时,它启动了 WXP。如果我尝试打开第三个条目,它会给我一个错误,类似于“NTDLR 缺失”。
所以我想“如果从头开始做这件事的最好方法是XP > 7 > Ubuntu,所以让我们修复 XP 启动,然后是 7,然后是 GRUB。
进入 XP 安装 CD 命令行,执行fixboot
。fixmbr
它
顺利启动到 XP。
进入 Seven Rescue 选项,但当我要求重建引导加载程序时,它无法识别 XP。有这样的文字“如果它不起作用,您可以再试一次”。所以我试了。重新启动。
有一个奇怪的七个引导程序为我提供了以下选项:
- Ubuntu 9.04(Ubuntu 到底在干什么视窗引导加载程序?!)
- Windows 7的
- Windows XP
最终结果:
- Windows 7 启动
- Windows XP 向我抛出了同样的 NTDLR 错误
- Ubuntu 说有一个奇怪的 2005 年引导程序启动了我的分区。但我认为,如果它真的有效,就不会对我的 EXT4 分区这样做。
关于如何使用这 3 个选项 (或类似选项) 获取我的 GRUB 有什么想法吗?
[更新]
在使用 Ubuntu Live CD、SuperGrub CD、Windows CD 和尝试使用 EasyBCD 之间遇到很多麻烦之后,我花了 2 天时间才找到一个 Grub,其中包含 Ubuntu 和“Windows 菜单”选项,可以加载 EasyBCD 菜单。总比没有好……
但我的 ubuntu 加载不正确。
它说Boot from (hd0,0) ext4 <<uuid of sda1>>
一段时间后它会加载 Ubuntu 图形加载器。到目前为止一切正常。它的栏一直在跳动,一段时间后它会在黑屏上显示以下内容:
放弃等待根设备。常见问题:
- 启动参数 (cat /proc/cmdline)
* 检查 rootdelay=
* 检查 root=
- 缺少模块
ALERT!/dev/disk/by-uuid/<<same uuid as before>> 不存在。转到 shell!
然后它打开了 busybox...
我尝试在正确的位置(我的 sda1 上的 /dev/disk/by-uuid)创建一个具有该 uuid 的文件,就像其他文件一样:符号链接。之后我尝试再次启动 ubuntu... 同样的问题是,我在 busybox 中找不到新的
uuid。oO
现在发生什么事了?=(
答案1
在设计 PC 时,其顺序应该是:
MBR——选择要启动的分区(分区表中标记为活动的分区)。
从该分区启动。
您的机器上存在以下几个问题:
Windows 在选择从哪个分区启动时有点笨拙。因此,Windows XP 和 Windows 7 都尝试从 Windows 7 分区启动。应将 XP 启动文件从 Windows 7 分区复制到 Windows XP 分区。
GRUB 不遵循标准,忽略活动分区。
我会尝试让每个操作系统从其自己的分区启动,然后设置 Grub,以便您有一个不错的菜单来选择从哪个分区启动。为了解决您的问题,我认为您必须:
将 Windows XP 分区标记为活动分区(使用磁盘管理或实时 CD 上的 fdisk)。
从 Windows XP CD 运行 fixboot 和 fixmbr 命令。确保此分区的根文件夹中现在有 boot.ini、ntdetect.com 和 ntldr 文件。
现在您应该可以顺利启动 XP。
将 Windows 7 分区标记为活动分区。
从 Windows 7 CD 运行 Windows 7 启动恢复程序。
Windows 7 这次应该会选择 XP(或者可能不会,因为 sda3 是扩展分区,而 sda4 在它后面 - 不用担心)。
使用 Ubuntu CD 在 /(sda1) 上安装 Grub。这可确保以后对 Windows 进行任何操作时无需覆盖 Grub。
仍在 Live CD 上时,使用 fdisk 将 sda1 标记为活动。
你现在可以启动 Ubuntu 并进行整理menu.lst
答案2
是的,因为没人回答我更新的问题,所以我就此结束。
我通过将 EasyBCD 作为 Windows 菜单并将 GRUB 作为第一个菜单解决了三重启动问题,这样我就可以在 ubuntuses 和 Windows 菜单之间进行选择。