用Ventoy打造万能的U盘

对于长期从事运维工作的老工程师们来说,日常要用到不同的PE去维护,不同的U盘去安装操作系统,还有像windows to go之类的,日积月累各种各样的盘越来越多,今天就聊一下vertoy,一个可以把不同PE,Windows,linux操作系统放在一个U盘中,就可以实现不PE启动,windows系统启动以及实现安装windows,linux操作系统,很是方便!

准备工作:

Ventoy官网下载:https://www.ventoy.net/cn/index.html

网盘下载:

https://file.abc0564.com/d/%E8%BD%AF%E4%BB%B6/%E7%A3%81%E7%9B%98%E5%B7%A5%E5%85%B7/Ventoy_v1_0_44_0.exe

用Ventoy打造万能的U盘
下载合适版本
开始安装
  • 打开软件,选择合适的分区类型,然后点击安装就可以了,今天如下图:

Ventoy
Ventoy安装
  • 安装完后,格式化NTFS,如下图:
格式化NTFS
格式化NTFS
  • 在根目录新建“ventoy”文件夹,下载好的Windows VHD 文件启动插件复制到“ventoy”文件夹里
Windows VHD 文件启动插件
Windows VHD 文件启动插件
Windows VHD 文件启动插件相关补充

Ventoy 使用此插件来支持直接启动 VHD(x) 文件 (Win7以上)。
支持 Legacy BIOS 和 UEFI 模式。支持固定大小以及动态扩展类型的 VHD/VHDX 格式。

  • 使用说明

从下面任意一个链接中下载 ventoy_vhdboot.img 文件即可(几个链接中的文件都是一样的)。
https://github.com/ventoy/vhdiso/releases
https://ventoy.lanzoub.com/b01dlxuaj (蓝奏云,密码: 7my4)

把下载后的文件放在U盘第1个分区(就是放ISO文件的分区)的 ventoy 目录下(默认没有这个目录,需手动创建,注意大小写),即 /ventoy/ventoy_vhdboot.img 就可以了。
注意是放在容量大的、存放ISO文件的那个分区中,不要放到那个 32MB 的 VTOYEFI 分区里面。

  • 注意
  1. Windows 中的 bootmgr 有一些版本兼容性问题,因此下载链接中提供了几种不同的 img 文件,可以分别测试一下。
  2. 对于 Windows 10 v1803 及以前版本的系统,存放 VHD(X) 文件的分区必须要格式化为 NTFS 文件系统
  3. 对于 Windows 10 v1809 及以后版本的系统,除了 NTFS 之外,VHD(X) 文件也可以存放在 exFAT 分区中。但是需要做一些特殊设置, 请参考:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=414354&mobile=no 喜欢折腾的可以尝试,一般推荐硬盘使用 NTFS 格式,U盘使用 exFAT 格式。
  4. 最好先使用传统方式确认VHD(x)文件在对应电脑上启动OK之后,再使用Ventoy启动
  5. UEFI模式下只支持64位系统,不支持32位系统
  • 为什么不集成到Ventoy内部

启动VHD(x)文件的功能之所以没有集成到Ventoy内部而是做成插件的形式,主要是以下几方面的考虑:
1. bootmgr、bcd、etfsboot.com … 这些文件都是不开源的,是直接从Window的ISO文件中提取出来的。
2. 方便 ventoy_vhdboot.img 单独升级
3. 方便定制 ventoy_vhdboot.img

  • 使用Ventoy启动本地硬盘上的 Windows VHD(x)

上面的使用说明是针对把 VHD(x) 文件拷贝到 Ventoy U盘中启动的场景。也可以把 VHD(x) 文件放在本地硬盘中,使用 Ventoy 来启动。

方法1
请参考 Ventoy启动本地硬盘中的镜像文件

方法2
通过自定义菜单功能来启动。关于自定义启动菜单 ventoy_grub.cfg 的说明,请参考 Ventoy 自定义菜单插件
在上述 ventoy_grub.cfg 中增加如下一个菜单用于启动 VHD(x) 文件,你只需要修改 my_vhd_path 所在的这一行,设置为实际文件的绝对路径即可(从所在分区的根目录开始)。

menuentry "Boot My Windows VHD" {    
    set my_vhd_path="/VhdDir/Win10.vhd"
    
    if search -n -s vdiskhd -f "$my_vhd_path"; then
        vhdboot_common_func "($vdiskhd)$my_vhd_path"
    else
        echo "$my_vhd_path not found"
    fi
}

在这个例子中,my_vhd_path 被设置为 /VhdDir/Win10.vhd 你可以按照你实际的路径修改,(比如 set my_vhd_path="/images/Win10H2.vhdx")。
注意你不需要像 hd0/hd1 这样指定到具体哪个硬盘,因为脚本里会使用 search 命令去遍历所有磁盘搜索这个文件。
你只需要确保这个路径是唯一的即可。比如,你有一个 C:\VhdDir\Win10.vhd 同时还有一个 D:\VhdDir\Win10.vhd 这种情况可能会找错文件。
注意以下格式都是错误的:
set my_vhd_path="(hd1,1)/VhdDir/Win10.vhd"
set my_vhd_path="E:\VhdDir\Win10.vhd"
set my_vhd_path="\VhdDir\Win10.vhd"

Windows VHD 文件启动插件下载地址:

https://www.ventoy.net/cn/plugin_entry.html

网盘下载:

https://file.abc0564.com/d/%E8%BD%AF%E4%BB%B6/%E7%A3%81%E7%9B%98%E5%B7%A5%E5%85%B7/ventoy_vhdboot.zip

最后总结

最后我们把U盘插在电脑,从U盘启动,就会看到如下界面:

用Ventoy打造万能的U盘
用Ventoy打造万能的U盘

选择合适镜像,就可启动PE,windows操作系统以及安装windows,linux操作系统

VHD方式安装系统:https://www.hao0564.com/2506.html

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注