在Linux下制作Linux&windows启动盘
如何在Linux-mint环境下,制作其他Linux发行版的UEFI启动盘,以及Windows10的UEFI模式启动盘。
对于U盘的操作,可以使用命令行的方式,比如sudo fdisk /dev/sdc
这样的命令,对于U盘进行设置;
为了直观,也可以使用Gparted
这个工具,Ubuntu已自带,其他Debian系安装方式:sudo apt install gparted
制作其他Linux发行版的启动盘
这个比较容易解决,因为Linux的ISO镜像都包含了启动盘所需的引导文件。操作如下:
命令行方式
这个方式比较简单,命令如下:
# 查看盘符等信息
sudo fdisk -l
# 假设U盘对应的盘符为 /dev/sdc
# 先卸载U盘
# 加*是因为:U盘存在多个分区,比如sdc1, sdc2
sudo umount /dev/sdc*
# 格式U盘为FAT格式
# 常见Linux的ISO文件没有超过的4G的,所以可以选择FAT格式。
# -I:如果U盘存在多个分区,就需要这个参数强行抹除,不加这个参数会失败;
sudo mkfs.vfat /dev/sdc -I
# 直接写入镜像
# 上一步使用了-I参数,U盘上已经没有任何分区了,所以of=/dev/sdc,没有数字
# status=progress可以显示进度
sudo dd if=xx.iso of=/dev/sdc bs=4M status=progress
参考链接:https://blog.csdn.net/zeli1511/article/details/79019823
Gparted方式
打开gparted,找到U盘,比如这里U盘为/dev/sdc
;
先卸载,然后删除所有内容;
新建分区表,格式为GPT;
之后保存操作即可,不需要建立新的分区。
然后使用上面那条dd
命令写入镜像即可。
制作Windows10启动盘
这个比较麻烦。平时我们在Windows下使用镜像制作工具,比如Rufus,制作Windows启动盘时,这些工具软件自带Windows10进行UEFI引导用的文件,并且在制作镜像的过程中,会自动建立新的分区并写入这些文件。这就是为什么制作Windows10启动盘时,直接使用dd
命令会失败的原因。
我们为了能在Linux下完成这个过程,就需要自己手动完成。我们使用Gparted,操作过程如下
U盘分区
首先,U盘的分区表格式为GPT,我们要新建两个分区,我们以/dev/sdc1
和/dev/sdc2
表示;
/dev/sdc1
的格式NTFS,不要把U盘的所有容量都给这个分区,留下30M左右的空间。比如U盘的空间是15199M,那这个分区的容量是15169M。
其实30M也富余,这空出来的空间是给第二个分区保留的。
/dev/sdc2
的格式是FAT32。包含一个EFI
文件夹,这个文件夹中的内容就是Windows下镜像制作工具添加的内容。
注意:这两个分区的顺序和格式绝对不能错。也就是说,FAT32这个分区一定要在整个U盘的空间最后。
写入ISO和UEFI文件
我们使用的镜像是Windows10_2004.iso
,大小超过了4G,这也是为什么/dev/sdc1
分区的格式为NTFS;可以使用dd写入,也可以直接复制ISO镜像的所有文件,粘贴进/dev/sdc1
这个分区。不要粘贴错了位置!!
/dev/sdc2
要保存EFI文件,那我们从哪里找所需要的文件?Rufus是个开源项目,在GitHub上可以下载到我们需要的内容。
从uefi-ntfs.img这里,下载uefi-ntfs.img
这个文件。
挂载这个.img
文件,下面会有一个文件夹EFI
。把.img
下所有文件和文件夹,原封不动地复制到第二个分区上。不要只把EFI
这个文件夹下面的内容复制过来,破坏了文件结构,这样会失败。
总结
上面的方法来源是:https://www.onetransistor.eu/2015/09/uefi-ntfs-bootable-windows-usb-linux.html。可能图片加载不全,需要代理一下。