在Linux下制作Linux&windows启动盘

在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。可能图片加载不全,需要代理一下。

上一篇:Proofs without Words:Exercises in Visual Thinking(v.1 and v.2)


下一篇:【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊使用方法:滚动时不能选择等等