问题描述
我需要从ISO文件创建Windows安装USB驱动器。我使用UNetbootin,它似乎是唯一可以编写non-Linux图像的工具。
USB磁盘启动(排序),但它在第一阶段卡住了。出现UNetbootin启动屏幕,从10开始向下计数到0,然后重新启动。
屏幕看起来像这样:
有没有办法让Windows从Linux上创建的USB映像启动?
最佳解决思路
方法1
使用gparted格式的驱动器FAT16,设置引导标志。
使用Archive Manager将iso提取到驱动器。
(或者只是将DVD复制到驱动器)。
而已。
适合我
方法2
要创建可启动安装光盘,请选择ISO映像或CD /DVD光盘,然后单击“安装”
这将创建您的Windows Vista /7安装程序USB。值得一提的是,该工具也可以与Windows 8一起使用;但是,它尚未经过测试。话虽如此,开发人员已经提到支持的图像包括“Windows Vista,Seven +。”您可以从开发人员网站(针对Oneiric,Natty,Maverick和Lucid)或PPA的Deb软件包安装WinUSB。如下。
sudo add-apt-repository ppa:colingille/freshlight
sudo apt-get update
sudo apt-get install winusb
由于WinUSB也可以在命令行中运行,因此您可以按照下面给出的命令行格式创建Windows 7或Windows Vista USB安装程序
sudo winusb --format <iso path> <device>
使用上述方法格式化USB后,安装Windows分区并编辑主引导记录:
sudo winusb --install <iso path> <partition>
次佳解决思路
这是一个简单的过程。
对于BIOS:MBR分区方案
-
将usb格式化为fat32(ntfs也可以,但是对于本教程,我使用的是fat32,因为你可以通过这种方式使UEFI可启动。)
-
将USB安装在某处,例如
/media/<user>/<disc_label>
-
使用以下命令将grub安装到usb:
grub-install --force --no-floppy --boot-directory=/media/<user>/<disc_label>/boot /dev/sdX
(安装到磁盘;不是分区!) -
将iso的内容物提取到usb棒的根部;我个人使用7z:
7z x /path/to/win.iso
(注意,Win7 iso有一个启动目录;你需要’overlap’使用grub创建的启动目录与iso的内容。)你应该得到这样的东西├── autorun.inf ├── boot │ └── grub ├── bootmgr ├── efi ├── setup.exe ├── sources ├── support └── upgrade
-
编辑/创建boot /grub /grub.cfg,使其包含以下menuentry:
menuentry 'Windows 7 AIO Installer' --class windows --class os { set root=(hd0,1) insmod part_msdos insmod fat insmod ntldr ntldr /bootmgr }
-
到达grub提示符(
grub>
)时键入boot
并按Enter
-
享受你的可启动棒。
这可能是一个小周期,但是这允许您通过编辑grub.cfg文件来根据需要添加附加资源。我个人有一个Windows 7 All In one(9版win7)安装程序,Mini Windows XP(来自hirens),DOS 6.22,memtest,以及通过这种方式在一个usb棒上直播。
对于UEFI:GPT分区方案*
-
将
efi/microsoft/boot
向上复制一级:cp -r efi/microsoft/boot efi/boot/
(路径可以全部为大写,小写或混合,因为fat32文件系统的大小写敏感性质和不同的挂载选项。调整命令以适合您的情况。) -
从
sources/install.wim
7z e sources/install.wim 1/Windows/Boot/EFI/bootmgfw.efi
中提取1/Windows/Boot/EFI/bootmgfw.efi
-
将此文件作为
efi/boot/bootx64.efi
mv bootmgfw.efi efi/boot/bootx64.efi
-
享受您的UEFI-bootable Windows 7 USB!