我在 Google 上找到了一种无需 USB/DVD 即可安装 Windows 10 的方法,即通过将安装程序复制到第二个分区并使其可启动。我已成功做到这一点并更新了我的 grub,但当我尝试启动到新分区时,出现了此错误:This is not a bootable disk please insert a bootable floppy
。
有没有办法用这种方式安装 Windows 10,或者我应该放弃?请注意,我目前买不到 USB。
这是我的 Windows 设置的 grub 菜单项:
menuentry 'Windows Recovery Environment (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-592C85254E2CD0B7' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4 592C85254E2CD0B7
else
search --no-floppy --fs-uuid --set=root 592C85254E2CD0B7
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
答案1
使用 Ubuntu 一步步安装无需 USB 的 Windows 10
此分步说明是根据 OP,@Marcel Alexandru 提供的信息创建的。
备份目标驱动器。
在硬盘上创建一个 6GB 的 NTFS 分区并将 Windows ISO 提取到其中。
在硬盘上创建一个 20GB 或更大的 NTFS 分区用于 Windows 安装。
打开磁盘(Gnome-Disks),并记下设备(/dev/sdx)和 Windows ISO 提取分区的 UUID。
对于 msdos 分区表,将本问题中给出的菜单项复制到
/etc/grub.d/40-custom/
*添加
ntldr /bootmgr
如下行chainloader +1
编辑菜单项,将 更改
sda4 to sdax
为msdos4
(msdosx
4 处),并将 592C85254E2CD0B7 更改为 UUID(3 处),以适合上述第 4 步。运行
sudo update grub
确认ntldr /bootmgr
grub.cfg 中出现的内容。将计算机启动到新创建的菜单项并将 Windows 安装到其新分区中。
如果需要,请重新安装 Ubuntu,GRUB 引导加载程序将被 Windows 引导加载程序取代。
*OP 的注释:您不必重新安装 Ubuntu 来修复 grub 加载程序。您可以在 Ubuntu Live USB 中启动,打开终端并使用命令打开 Boot Repair boot-repair
。如果它不可用,您可以使用以下命令安装它:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
有关修复 Grub 的更多信息,请点击以下链接:https://help.ubuntu.com/community/Boot-Repair。
*对于 gpt 分区表,将以下菜单项复制到/etc/grub.d/40-custom/
:
menuentry 'Windows Recovery Environment (on /dev/sdc1)' --class windows --class os $menuentry_id_option 'osprober-chain-5642BC722509341F' {
insmod part_gpt
insmod ntfs
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5642BC722509341F
else
search --no-floppy --fs-uuid --set=root 5642BC722509341F
fi
drivemap -s (hd0) ${root}
chainloader +1
ntldr /bootmgr
}
此方法还可以调整为制作 Windows 安装程序 USB 或将 Windows 安装程序添加到多重启动 USB。
限制
Windows 10 在分区表和启动模式方面存在限制。
我能够将传统模式的 Windows 安装到具有 MSDOS 分区表的驱动器上。
我能够将 UEFI 模式的 Windows 安装到具有 GPT 分区表的驱动器。
我无法将传统模式的 Windows 安装到具有 GPT 分区表的驱动器上。
我无法将 UEFI 模式 Windows 安装到具有 GPT 分区表和传统模式 Ubuntu 的驱动器上。
可能存在超出此答案范围的解决方法。