目标

在windows下把一个8GB的u盘制作为grub2引导的多启动U盘(可启动wepe,安装centos7,debian10等)

同时支持bios主板和uefi主板

工具准备

a.一个windows 10电脑

b.windows 10电脑安装好virtualbox,安装了一个linux虚拟机

c.一个U盘,这里的容量是8GB

d.一些软件

分区软件diskgenius https://www.diskgenius.cn/download.php

grub-2.04-for-windows https://ftp.gnu.org/gnu/grub/grub-2.04-for-windows.zip

grub4dos http://dl.grub4dos.chenall.net/grub4dos-0.4.6a-2021-05-16.7z

系统镜像

centos7 http://isoredirect.centos.org/centos/7/isos/x86_64/

debian10 https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/

debian10 安装需要的vmlinuz和initrd.gz两个文件

http://http.us.debian.org/debian/dists/Debian10.9/main/installer-amd64/current/images/hd-media/vmlinuz

http://http.us.debian.org/debian/dists/Debian10.9/main/installer-amd64/current/images/hd-media/initrd.gz

ubuntu 16.04 desktop https://releases.ubuntu.com/16.04/

微PE工具箱  http://www.wepe.com.cn/download.html

Gparted https://gparted.org/download.php

步骤简述

给u盘分区和格式化->安装grub2到u盘->放置文件,配置grub2.cfg->测试u盘启动效果

详细步骤

1.u盘分区和格式化

使用分区软件diskgenius将U盘分出来一个区,类型为GPT或者MBR,文件系统选择fat32格式。因为UEFI支持在fat32格式引导,

UEFI不支持ntfs格式的引导。 这里为了保证兼容BIOS和UEFI固件,选择了fat32格式的文件系统。

分区有风险,新手必须谨慎!U盘有数据,必须先备份。分清硬盘和U盘的区别,选择U盘操作,千万不要操作电脑的硬盘。

官方分区帮助网页 https://www.diskgenius.cn/help/index.php?from=dg

下图已经是我做了清除所有分区,新建分区,并且格式化为fat32后的U盘的截图。

可以看到分区成功后,u盘最前方有2048个保留扇区,刚好是1024KB,保证了grub2的成功写入。

2.安装grub2到u盘

下载好grub2-2.04-for-windows ,解压到d盘,例如在这里d:\tools\grub-2.04-for-windows

点击电脑左下角搜索按钮,输入cmd,点击“以管理员身份运行”。

在命令提示符里面输入diskmgmt.msc, 按回车键打开。查看U盘的编号和盘符。


这里的u盘显示磁盘1,说明编号是1。盘符是E。安装grub2的时候会用到,非常重要,请和下面的命令对上。

在准备安装grub2到u盘之前,先打开grub-2.04-for-windows的locale文件夹,把zh_CN文件夹里面的grub.mo复制到

上级的locale文件夹,并且改名为zh_CN.mo。

现在可以安装grub2了。

在命令提示符里面输入 cd /d d:\tools\grub-2.04-for-windows  按回车键后即进入grub2的目录

支持传统bios引导的安装命令如下。 e指的是u盘盘符e,//./PHYSICALDRIVE1指的是磁盘1。此处必须和上面磁盘管理对应。

grub-install.exe --force --no-floppy --target=i386-pc --themes=starfield --boot-directory=e:\boot  //./PHYSICALDRIVE1 (请改为自己电脑的实际参数)

支持i386-efi引导的安装命令如下。 e指的是u盘盘符e。

grub-install.exe --force --removable --no-floppy --target=i386-efi --themes=starfield  --boot-directory=e:\boot --efi-directory=e:\ (请改为自己电脑的实际参数)

支持x86_64-efi引导的安装命令如下。 e指的是u盘盘符e。

grub-install.exe --force --removable --no-floppy --target=x86_64-efi --themes=starfield  --boot-directory=e:\boot --efi-directory=e:\ (请改为自己电脑的实际参数)

为了更好引导windows pe系统,这里也将grub4dos解压到u盘的boot文件夹。grub2把控制权转到grub4dos,grub4dos引导windows pe。提高成功率。

3.放置一些文件到u盘,配置grub.cfg

在u盘根目录的vmlinuz和initrd.gz是安装debian10需要的内核文件

在u盘新建iso文件夹,放置一些光盘镜像文件。

WePE_64_V2.1.iso是微PE工具箱运行后,点击"其他安装方式"里面的“光盘”图标,生成的C盘根目录的ISO文件。

用emeditor编辑器,在u盘的boot\grub文件夹,新建一个grub.cfg文件。

内容如下,其中需要注意的是U盘分区的uuid。

#使用lsblk命令得到u盘的fat32分区的uuid,这里是B267-7191,请改为实际U盘存放grub2的分区的UUID。
set fat32_data_uuid="B267-7191"

参考文章

安装windows版本的virtualbox和使用光盘镜像安装debian10  https://blog.csdn.net/shile/article/details/117201109

在windows下使用virtualbox的debian10虚拟机运行lsblk命令查看u盘的uuid https://blog.csdn.net/shile/article/details/117212778

#环境变量,用于选择菜单保存,注意对应菜单里需加入函数savedefault
if [ -s $prefix/grubenv ]; thenload_envset default="${saved_entry}"
elseset default=0
fifunction savedefault {if [ -s $prefix/grubenv ]; thensaved_entry="${chosen}"save_env saved_entryfi
}#Boot automatically after xx secs.
if keystatus --shift; thenset timeout=30
elseset timeout=5
fiinsmod jpeg
insmod png
set theme=${prefix}/themes/starfield/theme.txt#By default, boot the first entry.
set default=0
#Fallback to the second entry.
set fallback=1#  load_videoinsmod gfxterminsmod all_videoinsmod fontif loadfont ${prefix}/fonts/unicode.pf2; thenset gfxmode=autoset gfxpayload=keepset gfxterm_font=unicodeset locale_dir=${prefix}/localeset lang=zh_CNterminal_output gfxterm
fi#user and password
insmod password
#set superusers="grub"
#password grub grubmenuentry '进入微PE工具箱WePE_64_V2.1' --unrestricted {
savedefaultset g4d_dir="/boot/grub4dos-0.4.6a"set cfgfile="find --set-root /iso/WePE_64_V2.1.iso;map --mem /iso/WePE_64_V2.1.iso (hd32);map --hook;chainloader (hd32); rootnoverify (hd32)"linux16 $g4d_dir/grub.exe --config-file=$cfgfileinitrd16 /iso/WePE_64_V2.1.iso
}#使用lsblk命令得到u盘的fat32分区的uuid,这里是B267-7191,请改为实际U盘的UUID
set fat32_data_uuid="B267-7191"
search --no-floppy --set=usb_iso_part --fs-uuid $fat32_data_uuidmenuentry '安装CentOS 7'  --class gnu-linux --class gnu --class os {savedefaultset isofile=/iso/CentOS-7-x86_64-Minimal-2009.isoloopback loop ($usb_iso_part)$isofileprobe -u (loop) --set=loopuuidlinux (loop)/isolinux/vmlinuz iso-scan/filename=$isofile inst.repo=cdrom:UUID=$loopuuid rw  rhgb quietinitrd (loop)/isolinux/initrd.img
}menuentry '安装Debian 10'  --class gnu-linux --class gnu --class os {savedefaultlinux ($usb_iso_part)/vmlinuzinitrd ($usb_iso_part)/initrd.gz
}menuentry '进入ubuntu 16.04桌面版'  --class gnu-linux --class gnu --class os {savedefaultset isofile=/iso/ubuntu-16.04.7-desktop-amd64.isoloopback loop ($usb_iso_part)$isofilelinux (loop)/casper/vmlinuz   file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=$isofile quiet splash ---initrd (loop)/casper/initrd
}menuentry '安装ubuntu 16.04桌面版'  --class gnu-linux --class gnu --class os {savedefaultset isofile=/iso/ubuntu-16.04.7-desktop-amd64.isoloopback loop ($usb_iso_part)$isofilelinux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=$isofile only-ubiquity quiet splash ---initrd (loop)/casper/initrd
}menuentry "GParted Live ISO" --class gnu-linux { savedefaultset isofile="/iso/gparted-live-1.3.0-1-amd64.iso"loopback loop ($usb_iso_part)$isofilelinux (loop)/live/vmlinuz boot=live config union=overlay username=user noswap noprompt ip=net.ifnames=0 toram=filesystem.squashfs nosplash findiso=${isofile}initrd (loop)/live/initrd.img
}menuentry "Reboot" --unrestricted {reboot
}menuentry "Shutdown" --unrestricted {halt
}

保存好grub.cfg后 ,弹出U盘。

4.测试效果

将u盘插入一个电脑,开机进入bios,设置从u盘启动,查看具体效果。

参考资料

参考文章

  1. https://man7.org/linux/man-pages/man7/dracut.cmdline.7.html
  2. https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/performing_an_advanced_rhel_installation/kickstart-and-advanced-boot-options_installing-rhel-as-an-experienced-user
  3. https://www.cnblogs.com/f-ck-need-u/p/709469html#auto_id_34

在windows下制作grub2引导的多启动U盘(可启动wepe,安装centos7,debian10等)相关推荐

  1. win7多重引导 linux,如何在Linux和Windows下制作多重引导USB?

    [51CTO.com快译]你想不想制作一个多重引导USB?你想在用来安装或者恢复其他系统的USB驱动器上有多个操作系统吗?你想从USB驱动器引导并使用多个操作系统吗?本文都能满足你的要求.不妨看一看这 ...

  2. macos支持exfat吗_[启动盘制作]如何在 Windows 下制作苹果 macOS 启动盘

    to 知乎管理员: 此前本文被删, 专门写了篇文章反映问题:关于安装实录-windows下如何制作苹果安装盘文章被删的声明 现按照要求改写文章, 如果再删, 烦劳注明原因. 步入正题: 苹果的镜像格式 ...

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

    Linux发行版排行榜: http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Windows下制作Windows安装盘绝佳) 用UltraISO软件打 ...

  4. windows下用easybcd引导ubuntu出现grub的解决方案

    windows下用easybcd引导ubuntu出现grub的解决方案 参考文章: (1)windows下用easybcd引导ubuntu出现grub的解决方案 (2)https://www.cnbl ...

  5. 如何在 Windows 下创建 macOS 引导介质 (USB 启动盘)

    请访问原文链接:如何创建可引导的 macOS 安装介质,查看最新版.原创作品,转载请保留出处. 作者主页:www.sysin.org 完整版请参看:如何创建可引导的 macOS 安装介质 补充章节: ...

  6. 在windows下制作mac os x的启动安装U盘

    在windows下制作mac os x的启动安装U盘 制作教程:在windows下制作mac os x的启动安装U盘

  7. Windows 下制作 mac os 的优盘启动

    理论上MacBook的操作系统可以直接从WiFi重装,但也有可能遇到网速过慢断线等问题.如果手头没有别的Mac电脑,怎样在Windows 下制作 MacOs 启动优盘?网上有很多AppStore下载制 ...

  8. 转windows7下制作苹果mac os x 10.10Yosemiteu盘启动盘

    转 windows7下制作苹果mac os x 10.10Yosemiteu盘启动盘 2016年04月25日 17:07:59 白及 阅读数:3382更多 个人分类: 不谈技术 windows7下制作 ...

  9. Windows 下使用 grub2 制作美观的维护U盘

    本来是想用 grub4dos 的,但是那个的界面比较难看,于是就找到了 grub,就有了这篇文章 这篇文章主要针对 BIOS,UEFI 可能不适用 预览 这是最终效果: 实用工具子菜单: 工具提取自老 ...

  10. mac安装win10_2020年mac系统下制作win10引导安装盘,亲测可用

    [2020.11.16已更新]更新内容:Boot Camp ISO Converter下载地址 一.背景 最近组装了一台电脑,需要安装系统.由于家里只有一台Macbook pro.在网上找了很多关于m ...

最新文章

  1. EIGRP-2(EIGRP的路由认证)
  2. Frame Buster Buster ......需要buster代码
  3. other than ,more than,less than,rather than到底有什么区别
  4. 人刚毕业,在小米造狗没有KPI,雷军奖励100万美金
  5. Windows 安装 NoneBot2
  6. boost::movelib::unique_ptr相关用法的测试程序
  7. java list 转 map_Java8 快速实现List转map 、分组、过滤等操作
  8. nssl1156-今天你AK了吗?【康托展开,高精度,二分答案,树状数组】
  9. 深度linux更新卡,深度操作系统已发布更新 新增“ apt-get custom-update”命令行
  10. 在动态网络下实现分布式共享存储
  11. 特征工程之自动特征生成(自动特征衍生)工具Featuretools——深度特征合成
  12. 静态RAM(2K * 8位)6116介绍(抄自原理图)
  13. 做一个有批判性思维的程序员!
  14. Dell R910报错E1234的处理方法
  15. Sybil_attack (女巫攻击)
  16. 商场三十六计——第22计 “关门捉贼”
  17. 从网页到微信小程序开发:一:小程序与普通网页的区别
  18. 矩形内方形与长方形的个数
  19. 如何禁用计算机的网络适配器,怎么禁用网络适配器?禁用和卸载网络适配器的步骤...
  20. 项目预算包括管理储备__成本基准只包括应急储备

热门文章

  1. VNPY_IB API封装
  2. 如何解决终端(cmd或Terminal)的下载速度很慢
  3. 简单的安卓木马制作(实现外网控制)
  4. 云服务器上Mongodb被拖库,黑客向我勒索0.015 BTC
  5. 分享一个OFD批量打印工具
  6. 华为手机卡在升级界面_华为安装升级包卡在5 华为手机如何刷机?
  7. 数据抽取的常见理论方法
  8. 射雕英雄传ol显示服务器断开,射雕英雄传OL6月18日维护更新内容
  9. 火影忍者ol服务器维护中,火影忍者ol3月31日更新了什么?维护到几点?新增神无毗桥模拟战...
  10. 最常用的Windows快捷键大全【高手都是如何玩电脑的】(不断更新中……)