我无法使用 Linux 终端中的 iso 映像为 Windows 发行版 (XP、7 8) 制作可启动 USB。我尝试使用 dd,但它只适用于 Linux 发行版。我还尝试通过使用 fdisk 设置可启动标志、安装 .iso 和闪存驱动器,然后使用 cp 复制文件来使闪存驱动器可启动。这些 iso 映像之间有区别吗?如果有,我如何确定该映像是否可用于制作可启动 USB?
答案1
如果您只想使用终端,我宁愿坚持手动方式。让我们以 Windows 7 为例:
注意:开始之前,请通过运行以下命令成为 root 用户sudo su
让我们为我们的目的准备 USB 驱动器:
mkfs.vfat /dev/sdXY
如果遇到-bash: mkfs.vfat: command not found
,只需发出apt-get -y install dosfstools
并重复最后一步。
接下来,应该挂载 ISO 映像,以便复制必要的文件:
mkdir /mnt/iso
mount -o loop -t udf /path_to_your_image.iso /mnt/iso
挂载新格式化的 USB 棒:
mkdir /mnt/stick
mount -t auto /dev/sdXY /mnt/stick
开始复制:
cp -Rv /mnt/iso/* /mnt/stick/
(如果图像很大并且 USB 速度较慢,则需要一段时间)
现在,让我们卸载 ISO 映像:
umount /mnt/iso
为了帮助引导加载程序找到磁盘,应该创建一个虚拟文件:
touch /mnt/stick/roxboot.tag
现在,安装一个多用途引导加载程序(GRUB4DOS):
cd ~
wget http://download.gna.org/grub4dos/grub4dos-0.4.4.zip
unzip ./grub4dos-0.4.4.zip
cd grub4dos-0.4.4
./bootlace.com --no-backup-mbr --mbr-disable-floppy /dev/sdX
注意:GRUB4DOS 需要一个名为 GRLDR 的特殊加载文件才能成功启动,因此让我们复制它:
cp ~/grub4dos-0.4.4/grldr /mnt/stick/
GRUB4DOS 使用一个名为的配置文件menu.lst
来创建启动菜单并将其呈现给用户,因此让我们为 Windows 7 安装创建文件和菜单项:
touch /mnt/stick/menu.lst
echo "title Windows7 Install" > /mnt/stick/menu.lst
echo "find --set-root --ignore-floppies --ignore-cd /roxboot.tag" >> /mnt/stick/menu.lst
echo "chainloader /bootmgr" >> /mnt/stick/menu.lst
卸载 USB 记忆棒:
umount /dev/sdXY
现在,如果你想测试它,请重新启动并通过更改启动顺序或从“一次性启动菜单”中选择你的记忆棒来指示你的 BIOS 从 USB 启动
注意:在/dev/sdXY
: X 表示插入存储棒时由 udev 分配的字母,Y 表示数字(通常为 1),因为存储棒只有一个分区。如果你有一个硬盘,那么你的存储棒应该是,/dev/sdb
而我们正在处理的分区应该是/dev/sdb1
附言:来自罗马尼亚的问候!