如何在linux下制做一个windows的可启动u盘?

如何在linux下制做一个windows的可启动u盘?linux

情景是这样的,有一个windows10的iso,如今想经过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),由于有一些老的机器是不支持UEFI的。windows

那如今分析一下状况:工具

1 windows10的iso原本就是支持UEFI的,你只要将iso的内容拷贝到U盘的分区内,在开机启动时按某个功能键(好些机器是F12键)会出现选择启动方式和启动盘的页面。你只要选择UEFI启动你的U盘就能够。get

2 要支持Legacy,那要一个引导程序了,如今流行的是grub2。那要作的就是生成grub的配置文件grub.cfg了,将grub写入MBR。将grub写入MBR经过命令grub-install实现,grub的配置文件就要靠手写了。配置

如今说一下技术规格:程序

1 建议u盘的磁盘标签是msdos,由于gpt标签的磁盘须要一个专门的启动分区来配合grub2的工做。这个没试验过,不推荐给你们。技术

2 分区格式,建议使用ntfs分区。分区大小只要比你的iso大就能够了。配置文件

3 分区的开始,建议空出来磁盘开始的2M空间,从2M后开始分区。windows10

如今说一下实现:db

如下假设iso的文件名字是win10.iso,u盘设备为/dev/sdb

使用fdisk和parted命令均可以查看磁盘标签。linux下对ntfs的格式化可能须要另外本身找工具。在这里不作建议。

1 挂载iso,将iso内全部的文件拷贝到u盘分区内。

mkdir iso

mount win10.iso iso

cp -r iso/* /dev/sdb1

2 执行grub-install

grub-install --target=i386-pc --boot-directory=iso/boot /dev/sdb

3 手写grub.cfg 将以下的 grub.cfg 文件放入 iso/boot/grub/

# grub.cfg
menuentry "Install Windows 10" {
set root= hd(0,1)
chainloader +1
}
相关文章
相关标签/搜索