这是我的情况:我有一个上网本,它的第一个驱动器是 8gb SSD,第二个驱动器是 32gb 驱动器。我希望在 20gb 分区上安装 windows xp,然后从 drive2 共享剩余的 8gb 驱动器和 12gb 分区用于我的 linux 实验。
当我从第一个驱动器启动 Windows XP 时,它运行良好。当我从 SECOND 驱动器启动相同 Windows XP 安装的克隆时,它挂起,显示“正在启动...”字样。驱动器的克隆是使用名为 的 linux 实用程序完成的partimage
,但是当我用来dd
复制分区内容时,我得到了相同的结果。
Ubuntu 工作正常(目前正在启动第二个驱动器)。
经过大量安装和重新安装以及通过ubuntu处理驱动器后,我根据以下设置进行了以下设置fdisk -l
Disk /dev/sda: 8069 MB, 8069677056 bytes
255 heads, 63 sectors/track, 981 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x294a294a
Device Boot Start End Blocks Id System
/dev/sda2 * 336 973 5120028 c W95 FAT32 (LBA)
Partition 2 has different physical/logical beginnings (non-Linux?):
phys=(1023, 17, 4) logical=(335, 37, 55)
Partition 2 has different physical/logical endings:
phys=(1023, 17, 4) logical=(972, 143, 27)
Partition 2 does not end on cylinder boundary.
/dev/sda3 981 981 8032+ 83 Linux
Disk /dev/sdb: 32.2 GB, 32279224320 bytes
255 heads, 63 sectors/track, 3924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00021104
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 638 5124703+ c W95 FAT32 (LBA)
/dev/sdb2 * 2466 3924 11719417+ 83 Linux
这是 grub 的相关部分menu.lst
:
title Windows XP
rootnoverify (hd0,1)
savedefault
makeactive
chainloader +1
title Windows XP (disk 2)
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1
有人有什么建议吗?
谢谢!
如果您在 20gb 分区上安装并运行 XP,然后在 XP 启动并运行后返回并安装 linux 会怎样。我不是 Grub 的专家,但这就是我过去的做法。首先将所有驱动器分区为您喜欢的方式,在首选分区上安装 xp,然后在首选分区上安装 linux,在 linux 设置期间 grub 应该检测不同的驱动器并自动为 XP 和 linux 添加条目。
听起来您应该修复第二个驱动器上的引导扇区。我确信有一个 linux 工具可以做到这一点,但是我不知道任何事情。
如果您使用 Windows CD 并启动到故障恢复控制台并运行“fixboot”,它可能也会覆盖您第一个驱动器上的 GRUB,但 Windows 应该从第二个驱动器启动。如果您走这条路,只需在修复 Windows 驱动器后重新安装 GRUB。
您可能还需要从故障恢复控制台重新配置 Windows 安装,因为安装已更改分区。您可以使用“bootcfg”命令或通过编辑 Windows 分区根目录中的 boot.ini 文件来执行此操作。但是,您需要知道 Windows 将如何枚举分区。