制作 U 盘启动盘

这篇文章说的是 U 盘启动盘是如何运作的,同时有一个既能装 Windows 又能装 Linux 的 U 盘启动盘的例子。

U 盘启动盘

当按下开机键后,电脑能启动我原本安装的操作系统。在电源键按下到启动系统这中间也有很多的故事,你可能知道 BIOS 或者 UEFI。BIOS 做完了事情之后就要把硬件的控制权交给操作系统了,在启动操作系统之前,还有个东西叫做启动管理器,由用户选择启动哪一个操作系统。

Linux环境中,目前最流行的启动管理器是Grub2。

把 Grub2 安装到 U 盘上可以启动放在我 U 盘上的 ISO 文件来安装系统。对于启动 Linux 的 ISO 镜像来说操作很简单,按照 Multiboot_USB_drive 一步一步操作再用人家写好了的模版就能启动 Linux ISO 镜像了。

但是如果要启动 WinPE 呢?Grub2 启动 WinPE 有很多种方式

* ntldr
* grub2 -> grub4dos
* grub2 + syslinux/memdisk
* grub2 引导 WinPE 的 WIM 文件

由于GRUB2不能在 UEFI 模式下对 ISO 文件进行仿真,那么我们应该如何在UEFI模式下引导 WindowsPE 呢?答案是必须使用 WIM 格式的 WindowsPE。具体说来就是首先用GRUB2链式加载微软的 "bootx64.efi" 引导管理器,然后再由 "bootx64.efi" 根据 BCD 文件的指引去启动 WindowsPE。那么 BIOS 就通过 grub4dos 来启动 WindowsPE 吧。

Note: bootmgfw.efi 文件其实就是镜像文件里的 /EFI/Boot/bootx64.efi

更进一步来说,我们可以把 WinPE 中的 /EFI/Boot/bootx64.efi 拷贝到 U 盘的 /EFI/BOOT/bootmgfw.efi,这只是引导。然后把要加载的 /sources、/Boot 目录也拷贝到 U 盘就能启动PE了。

chainloader bootx64.efi

基于 GRUB2 制作滋瓷 BIOS/UEFI 双模式启动的 Linux/Windows 安装U盘 介绍了如何对 U 盘分区,安装 grub2。在此基础上我们单独为 WindowsPE 开一个分区,然后引导 "bootx64.efi" 启动 WindowsPE。

menuentry 'UEFI Windows PE Boot Manager' --unrestricted {
         set root=(hd0,4)         # WindowsPE 所在的分区
         chainloader /EFI/Boot/bootx64.efi
}

配置 grub4dos

拷贝 "grub.exe" 到 U 盘,在 '/boot/grub/grub.cfg' 增加下面的代码。'/boot/grub4dos/grub.exe' 是 "grub.exe" 在 U 盘的位置,'--config-file=/boot/grub4dos/menu.lst' 是 "menu.lst" 在 U 盘的位置。

menuentry "Grub4Dos" {
         linux /boot/grub4dos/grub.exe --config-file=/boot/grub4dos/menu.lst
}

添加下面的代码到 '/boot/grub4dos/menu.lst','/bootmgr' 的意思是说 "bootmgr" 在 U 盘的根目录下。(bootmgr 在 WindowsPE ISO 的根目录下)

title Win10PE
find --set-root /bootmgr
chainloader /bootmgr

参考文章

制作 U 盘启动盘的更多相关文章

  1. U盘启动盘的制作--用U盘硬装Windows系统、或是重装Windows系统

    借助IT天空的优启通U盘启动盘的制作--用U盘装Windows系统.或是重装Windows系统之U盘启动盘的制作 1.==================================== 2.== ...

  2. 制作centos的U盘启动盘

    制作centos的U盘启动盘比ubuntu麻烦一些,因为可能涉及到fat32文件格式不支持大于4G的文件存储的问题,而最新版本的centos就是大于4G的,所以就需要对U盘进行分区. 一个做主引导,一 ...

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

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

  4. 制作U盘启动盘及安装操作系统的方法

    U盘启动盘制作方法: 1.从网上下载最新的老毛桃U盘启动制作工具主程序并安装 2.插入U盘(制作启动盘前先保存好你的资料到其它地方,以防丢失不可找回) 3.插入正确的U盘后程序会自动检测到U盘,启动模 ...

  5. U深度利用iso文件制作U盘启动盘

    利用U盘装win10系统: 工具:U深度装机版   文件:win10.iso 步骤1:下载U深度装机版安装 步骤2:打开U深度,制作U盘启动盘,注意选择iso模式,如下图所示 接下来下一步即可,工具会 ...

  6. 用UltraISO制作支持windows 7的U盘启动盘

    用UltraISO制作U盘启动盘,有人写过,我也看过,不过依照网上的那些文章,成功的并不多,经过几次试验,在不同的主板环境下成功概率高的方法应该如下:   1. UltraISO建议9.3以上 2. ...

  7. UltraISO制作U盘启动盘安装Win7/10系统攻略

    UltraISO制作U盘启动盘安装Win7/9/10系统攻略 U盘安装好处就是不用使用笨拙的光盘,光盘还容易出现问题,无法读取的问题.U盘体积小,携带方便,随时都可以制作系统启动盘. U盘建议选择8G ...

  8. Windows-002-U盘启动盘制作

    通常我们安装系统时,均采用光盘的形式安装,只是这种方法需要随时随地的带着光盘,还不容易保存.携带光盘.这时,一个 U盘启动盘 就是您的首选了,此种方式的好处多多,比如:忘记开机密码.系统备份.安装系统 ...

  9. 一键制作u盘启动盘教程

    第一步:制作完成u深度u盘启动盘   第二步:下载Ghost Win7系统镜像文件包,存入u盘启动盘   第三步:电脑模式更改成ahci模式,不然安装完成win7系统会出现蓝屏现象 正式安装步骤: u ...

  10. windows和linux环境下制作U盘启动盘

    新笔记本上,要装xp的系统,100%会破坏原有的Linux系统,因为安装xp的时候会自动覆盖硬盘的主引导扇区,这个扇区一旦被重写,那么原有的linux根本就启动不了. 要想玩linux和xp双系统,一 ...

随机推荐

  1. Perceptron Algorithm 感知器算法及其实现

    Rosenblatt于1958年发布的感知器算法,算是机器学习鼻祖级别的算法.其算法着眼于最简单的情况,即使用单个神经元.单层网络进行监督学习(目标结果已知),并且输入数据线性可分.我们可以用该算法来 ...

  2. Oracle使用存储过程返回查询游标

    如果报表逻辑非常复杂的话, 可以把报表逻辑放到存储过程里,加工一个全局临时表.前端查询的时候只查询临时表即可.只是第一次查询需要忍受加工的时间. --创建存储过程,返回SYS_REFCURSOR CR ...

  3. QMap的key也可以是一个结构体类吗?

    QMap<usbsnvidpid, QVector<QString>> USBVIDPIDTIME; USBVIDPIDTIME.insert(m_vidpidsn, time ...

  4. thymeleaf onclick方法向js方法传递参数

    如下图 这个错误并不影响 请放心使用

  5. java基础之toString的使用方法

    toString方法,其返回值类型为String类型,用于返回表示对象值的字符串,返回类名和它的引用地址(散列码 hashCode)toString方法是Object类中的一个实例方法,所有的java ...

  6. Java 基础 - 基本类型 & 包装类型

    基本数据类型和包装类的区别 定义不同.包装类属于对象,基本数据类型不是 声明和使用方式不同.包装类使用new初始化,有些集合类的定义不能使用基本数据类型,例如 ArrayList<Integer ...

  7. Spring AOP 总结

    AOP的基础是Java动态代理 Java中代理的实现一般分为三种:JDK静态代理.JDK动态代理以及CGLIB动态代理. 静态代理: 代理类与被代理类实现同一个接口,在代理类中持有一个被代理对象的引用 ...

  8. Vue学习笔记【5】——如何定义一个基本的Vue代码结构

    插值表达式{{}} 和 v-text 默认 v-text 是没有闪烁问题的: v-text会覆盖元素中原本的内容,但是 插值表达式只会替换自己的这个占位符,不会把 整个元素的内容清空 v-cloak ...

  9. springCloud参考资料

    官网: http://spring.io/projects/spring-cloud 各组件说明(中文版):https://springcloud.cc/spring-cloud-netflflix. ...

  10. 基础(一):SCSI硬盘与IDE硬盘有什么区别

    硬盘接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据.不同的硬盘接口决定着硬盘与计算机之间的连接速度,在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏.从整体的 ...