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

在Linux下制作Linux&windows启动盘的更多相关文章

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

    如何在linux下制作一个windows的可启动u盘? 情景是这样的,有一个windows10的iso,现在想通过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),因为有一 ...

  2. linux下制作linux系统盘(光盘、U盘)

    cdrecord制作启动光盘 首先cdrecord -scanbus输出设备列表和标识,(我的此次为5,0,0)  [ˈrekərd] 然后用cdrecord -v dev=5,0,0 -eject ...

  3. win7下制作ubuntu系统安装启动盘和U盘安装ubuntu全过程

    在我搞坏了两个系统之后,一切都得从头开始了,这回好了,电脑就是一台裸机了.没办法,重新下win7吧.这个要先做一个win7的启动盘,然后再安装,只能说我技术不行,没能把win7搞定.让大神给装的win ...

  4. TransMac Win系统下制作 OS X启动盘图文教程超详细小白版

    1软件安装好后把准备好的8G或者8G以上U盘插到电脑上:右键以管理员身份运行如                     <ignore_js_op> 2打开软件后右键先格式化U盘操作如下图 ...

  5. windows下制作linux U盘启动盘或者安装优盘(转)

    windows下制作linux U盘启动盘或者安装优盘(转) Linux发行版排行榜:http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Window ...

  6. Linux下制作Windows启动U盘的工具

    Linux下制作Windows启动U盘的工具 很多人说Linux下制作Windwos启动盘要用GRUB4DOS建立引导,其实不用,有专门的工具的,就像Windows下有Rufus制作Linux启动U盘 ...

  7. Windows环境下制作Ubuntu的U盘启动工具

    Windows用户想要尝试一下Ubuntu或其他Linux系统?最简单的方法就是使用VMware Workstation,只是虚拟机会真实占用内存,如果你的电脑内存8G及以上可以试试.内存偏小,或者觉 ...

  8. linux系统创建windows启动盘

    平时工作中用到linux的操作命令较多,因此为了方便,就给电脑装了双系统,一般工作的时候,都选择进入linux系统.但是今天有件工作之外的事情需要解决下:创建一个windows启动盘.如果按照往常来说 ...

  9. centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多!

    centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多! 一.手动安装 1.下载(官网)    cd /soft     wget http://www.clam ...

随机推荐

  1. 新概念英语三 新东方主讲Lesson1

    新概念二 Lesson95 词汇 ①get a shock 吓了一跳,得到一个惊喜 例:his wife got a shock get into a such mess 这么不幸搞得一片狼籍弄得这样 ...

  2. Hyperledger fabric MSP成员管理

    Hyperledger fabric 1.0 基于 PKI(Public Key Infrastructure)体系,引入了MSP模块(Membership Service Provider): 成员 ...

  3. IDEA提高开发效率的7个插件

    IDEA提高开发效率的7个插件 1. 多行编辑 先来体验一下从xml文件拷贝字段新建实体对象 一般我们为了新建多表连接后映射的 ResultMap ,耗费不少时间,那么我们就来试一试这个多行编辑 表字 ...

  4. SecureCRT 简单运用

    1.想要从本地电脑将文件通过secureCRT传输到远程服务器如下目录 2.在SecureCRT界面中使用快捷键[Alt+P] 打开了SFTP的界面 3.找到你要传的文件的地址[E:\a.zip] 4 ...

  5. docker-compose 命令详解

    1.docker-compose的使用非常类似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目录下才能执行. 2.[Linu ...

  6. SpringBoot系列——状态机(附完整源码)

    1. 简单介绍状态机 2. 状态机的本质 3. 状态机应用场景 1. 简单介绍状态机 状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作.完成特定 ...

  7. .NET CORE 依赖注入 实践总结

    知识点回顾 依赖包. Microsoft.Extensions.DependencyInjection.Abstractions 核心对象和方法. IServiceCollection.注入对象的容器 ...

  8. PreparedStatement实现表数据的增删改 & 封装数据库链接和关闭操作

    PreparedStatement实现表数据的增删改 PreparedStatementUpdateTest package com.aff.PreparedStatement; import jav ...

  9. static关键字的应用

    static关键字的应用:使用静态的变量可以实现   "累加" 的效果 package com.aff.statics; public class TestCircle { pub ...

  10. MySql Oracle SqlServer 数据库的数据类型列表

    Oracle数据类型 一.概述  在ORACLE8中定义了:标量(SCALAR).复合(COMPOSITE).引用(REFERENCE)和LOB四种数据类型,下面详细介绍它们的特性. 二.标量(SCA ...