我需要在当前运行 Ubuntu 10.10 的机器上安装 Windows XP。我有一个适用于 XP 的集成 ISO,只有一个 USB 可以启动。我无法访问另一台 Windows 机器,并且我的 Windows 虚拟机无法识别我的 USB 驱动器。该解决方案需要完全基于 linux。
我需要在当前运行 Ubuntu 10.10 的机器上安装 Windows XP。我有一个适用于 XP 的集成 ISO,只有一个 USB 可以启动。我无法访问另一台 Windows 机器,并且我的 Windows 虚拟机无法识别我的 USB 驱动器。该解决方案需要完全基于 linux。
除非你有一个修改过的 SETUPLDR.BIN,否则它不能直接从 USB 工作。
WinUSB 不执行此操作,UNetBootin 不执行此操作,diskpart 教程不执行此操作,WinToFlash 不执行此操作,并且使用 dd 将 iso 位碰撞到设备上不执行此操作。
鲁弗斯就是这样做的。但是,它是一个仅限 Windows 的实用程序(Wine 不支持),因此请按照此处的教程(大帖子)进行操作:
https://superuser.com/questions/99478/make-a-bootable-usb-to-install-windows-xp-from-linux
您也可以尝试使用 QEMU 或 VirtualBox,在其中实际使 VM 的硬盘驱动器之一成为您真正的目标硬盘驱动器,并简单地让管理程序像 CD 一样引导 iso(实际硬件仿真,而不是 Grub4DOS 所做的 BIOS 磁盘仿真。是的,一个“真假”而不是“假冒”。)。请注意,您将需要创建第二个硬件配置文件,因为 Windows 在安装的第一部分将自己配置为特定的硬件配置,并且虚拟机管理程序所产生的硬件平台与您的真实硬件平台不同。不确定这是否可行。我建议模仿 Rufus。
将整个 iso 加载到内存中并启动它的方法通常会在某些时候导致蓝屏。Firadisk 停止了那个蓝屏。如果您真的想这样做,请参阅:http ://diddy.boot-land.net/firadisk/files/win_iso_install.htm
编辑:刚刚尝试使用 Multisystem(一个 Linux 应用程序)将 USB 驱动器引导到 XP 安装程序中。它确实有效,但是,它使用将整个 iso 与 Firadisk 一起加载到内存中的方法,正如上面的链接所讨论的那样。
就个人而言,我发现 Multisystem 创建 USB XP 安装程序的特定解决方案并不受欢迎。我必须安装 xterm 并运行一个下载了一堆东西的安装脚本。我得到的 USB 驱动器只告诉 Multisystem 使其可从 XP 安装 iso 启动,包括 Grub2、Syslinux、Grub4DOS、可启动的 Grub2 iso、Plop 的东西和一堆菜单项。您必须知道在第一个菜单 Grub2 菜单下点击“Grub4DOS”,才能进入安装 XP 的选项。您可能会认为,如果这是我希望它可以引导的唯一内容,那么 XP 安装将在第一个菜单中(是的,我知道,使用 Grub4DOS 方法是不可能的,但是菜单中的注释怎么样?)。此外,它必须将整个 iso 加载到内存中,这需要 RAM 和时间。(如果系统没有足够的 RAM 怎么办?)
并且 Multisystem 坚持在每次使用拇指驱动器时安装 Grub2(即使它已经安装),甚至想调整我拇指驱动器的分区大小。并在那里放了一堆额外的东西。
注意: 必须从非免费选项卡安装 Firadisk 才能制作 USB XP 安装程序。我读到的一个howto 说还要安装Plop 来创建USB XP 安装程序,但我不明白这是怎么回事。
另一个注意事项: 您必须使用 Grub4DOS 菜单选项启动 XP 安装程序的第二阶段,以再次将 iso 加载到内存中,这在第二阶段仍然需要。(与仅启动到目标硬盘驱动器相反)也就是说,如果您选择 RAM ed iso + Firadisk 方法。
我建议模仿 Rufus 的做法。只需复制文件并进行一些调整即可。
杰克
你当然可以使用 UNetbootin。虽然有一些重要的事情需要注意,否则它将不起作用:
首先,确保将您的 USB 密钥格式化为 NTFS 并将其标记为可引导——您可以使用 gparted 来执行此操作(
sudo apt-get install gparted
)。然后在已安装的 USB 密钥的情况下运行 UNetbootin。在其界面上,选择“Diskimage”,然后浏览您的 .ISO 文件。选中“显示所有驱动器”框(以便它可以找到您的 NTFS 格式的 USB 密钥)并选择正确的驱动器(小心!)——在我的情况下,它是“/dev/sdd1”。单击“确定”并等待。完成所有文件的复制需要很长时间。所以等等。
该实用程序将在 Linux 中运行(可能适用于 Ubuntu):
http://unetbootin.sourceforge.net/
它说你可以给它一个 ISO 文件,它会使 U 盘成为该 ISO 的可启动副本。然后从 BIOS 启动 USB 设备。
我认为您可以使用 UNetBootin,但您需要 unetbootin-494 才能使其工作,因为较新的版本无法找到格式化为 NTFS 的驱动器。我以这种方式安装了我的 Windows 7,现在我正在尝试使用 Windows XP。
这可能适用于裸机> http://ansi.interblc.com/2010/02/06/howto-boot-iso-images-via-grub2-with-ubuntu/。当然它也可能只是让安装程序呕吐......还没试过。
另一种选择可能是从 USB 引导 bartpe 并将安装文件暂存到 i386 文件夹中,就像您进行 oem 安装并将引导扇区从 iso 复制到 HD 一样。这可能会很麻烦,但我曾经让它工作过。