在 Linux FS 分区空间后安装 Windows XP

在 Linux FS 分区空间后安装 Windows XP

我正在尝试将 Windows XP 安装到硬盘的第 3 个主分区上。布局如下:

Part 1,   100 MB, Linux EXT2, /boot
Part 2,   280 GB, Linux Raid, /root
Part 3,   40 GB, Windows NTFS

除非我将 Part1 和 Part2 类型设置为“0”,否则我无法启动 Windows 安装 CD。有什么办法可以解决这个问题吗?我想要一个不需要更改第 1 或第 2 个分区的解决方案。我该怎么做?

如果我将 Windows 安装到第 3 个分区,然后将第 1 部分和第 2 部分类型切换回正确值,Windows 是否能够从第 3 个分区启动?

答案1

恐怕 Windows 需要第一个分区来存放其启动文件。您必须将其格式化为 MS-DOS。

答案2

与其他“答案”相反,这是可能的,而且我让它正常工作。下面是我这样做的方法。我使用以下链接来获得灵感:

http://ubuntuforums.org/showthread.php?t=1095893

  • 分区设置与问题相同。
  • 我拥有的 Windows XP 磁盘是 SP2 版本,我没有尝试任何其他版本。
  • 您将需要一张带有 grub 的 Linux 启动 CD。我使用了标准的 Ubuntu 桌面安装 CD。

  1. 为了使 WinXP 安装 CD 启动:

    启动您正在运行的 Linux 操作系统,或者从启动 Linux 启动媒体开始。首先准确备份您的分区信息。Windows 安装删除了我的信息。备份分区表后,使用fdisk或任何其他分区管理器将 Linxux 分区类型设置为“0”或“无”。这将从 Windows 启动 CD 中隐藏分区。

    写入新的分区表并重新启动。

  2. 如果您有多余的驱动器,现在是断开它们以避免在 Windows 安装过程中出现任何混淆的好时机。像平常一样启动 Windows 安装 CD。将 Windows 安装到可识别的 NTFS 分区上。确保您没有重新分区驱动器,或安装在“未分区空间”上。这是您的 Linux FS。

  3. Windows 安装完成并尝试重新启动后,您可能会遇到问题。在我尝试时,Windows 重写了我的分区表并删除了所有 Linux 分区条目(但没有更改几何结构),因此它能够重新启动进入 Windows 并完成设置。无论哪种方式,在某个时候您都需要更正系统以使 Linux 分区再次启动。

    当您准备返回 Linux 时,重新启用所有驱动器(如果已禁用)并使用您拥有的 Linux 媒体 CD 进行启动。

  4. 从 Linux 终端,通过从备份中准确恢复/重新创建来更正磁盘上的分区表。

  5. 将 grub 重新安装到硬盘的 MBR 上。这可能比较棘手,但我在自己的系统上就是这样做的:

    mount /dev/sda2 /mnt/root
    mount -o bind /dev /mnt/root/dev
    mount -o bind /proc /mnt/root/proc
    chroot /mnt/root /bin/bash
    mount /dev/sda1 /boot
    grub-install /dev/sda
    
  6. 更新 grub 启动菜单以创建适用于 Windows 分区的选项。将以下内容附加到/boot/grub/menu.lst

    title       Windows XP
    rootnoverify   (hd0,2)
    chainloader +1
    makeactive
    
  7. 最后,您必须更正boot.iniWindows 卷中的文件。您可以像这样挂载该卷:

    mkdir /winxp
    mount /dev/sda3 /winxp -t ntfs
    vi /winxp/boot.ini
    

    以下是我的工作boot.ini文件,供参考:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
    

    你会注意到你必须改变分割(N)以匹配您的驱动器布局。

  8. 如果您已遵循所有这些步骤,您现在应该能够重新启动系统,进入 Grub 菜单,并重新启动进入 Linux 或 Windows。

答案3

确保在 BIOS 中将其设置为在任何硬盘驱动器之前启动 CD/DVD 驱动器,这听起来就像您将其设置为首先启动硬盘驱动器。

相关内容