你真的会用这个地表最强启动盘制作工具么?一篇文章教你进阶ventoy,从小白变大佬!
本文全长3350字,预计阅读用时10分钟。创作不易,还请各位留下你的赞和小红心吧!
1.本地已经有镜像文件,不想再复制一遍? 试试vlnk吧!
试想一下:假如某天,我们需要测试一个20g乃至更大的windows魔改镜像,而我们手头却只有一个16g的u盘,没法把镜像整个塞到u盘里,我们能怎么做呢?
有的兄弟可能会说:可以用vhd进行部署。没错,使用vhd部署windows是比较快的,但假设我们不只需要测试windows,还需要测试各种linux镜像时,vhd就显得不那么方便了。这种时候,我们就可以使用ventoy提供的vlnk功能进行镜像的部署。
那么,vlnk是什么呢?可能有的观众玩过游戏王,正如游戏王中的link召唤卡组用一张牌去检索另一张在额外牌组中符合条件的牌一样,vlnk也是根据用户定义的路径检索给定的镜像文件。
其原理大体是:在u盘中创建一个符号链接文件,使ventoy在选定这个符号链接并检测到它是一个vlnk时,就去检索vlnk所指向位置的符号链接。正因有vlnk的存在,有些需要频繁测试不同镜像的场景就不再需要一遍又一遍地重复ctrl c——v——重启——c——v了,直接一个vlnk指向本地文件就能快速地让ventoy认到镜像。
说起来就一句话,怎么创建vlnk呢?我们本期教程以windows的操作为例,一者,目前windows绝大多数人都还在用,二者,会耍linux的大佬看完我的操作,在linux上也就融会贯通了——aur是有ventoy的命令行工具的,很好用。
首先,我们下载最新版的ventoy1.1.10,解压到本地,打开解压出的文件夹,就能看到这些文件:
我们选中VentoyVlnk.exe,双击启动,不出意外,立刻就会弹出这个弹窗:
这里我们点击创建,就会弹出弹窗,我们选择本地的iso镜像存放的位置。比如这里我想要为ml4w(一个archlinux的dotfile hyprland前端整合包)创建一个vlnk,我们就选中它,然后点击打开或者按下enter回车。
接下来不出意外就会出现一个弹窗,表示我们的vlnk创建操作没有问题,vlnk创建成功了。
默认情况下,vlnk文件都会存放在VentoyVlnk.exe同级的目录下,一般也就是ventoy创建工具的目录。
如果我们忘记了一个vlnk文件是指向哪个文件的,我们就一个点击右侧的“解析”按钮,然后选择一个vlnk文件,就会弹出一个弹窗,告诉你这个vlnk文件是指向什么镜像的。
确认无误后,我们就可以插入ventoy u盘,将vlnk文件放入ventoy分区了。
不出意外,ventoy的列表里就会出现我们刚刚创建的vlnk文件了。使用效果如下方gif所示,这里我就用ventoy官网的gif了,因为比较清楚。
2.害怕镜像出问题?在启动之前校验一遍!
有的时候比较急,在复制完文件后会直接拔下u盘,等到要用u盘的时候,才发现,数据损坏了!这时候就是天王老子也救不了你了,除非你向那个用磁铁复原火影忍者全集的金丹期仙人取个经,兴许能给你把数据复原出来。
但这可是固态啊!我觉得磁铁不行,得拆个打火机,把里边的放电器拆出来才行——但打火机拆了,怎么抽芙蓉王呢?
行了,别扯那没锐克儿的屁了,出现这种问题就一点:有的时候数据显示传输完成,但其实它并没有完成,它还存放在系统的缓冲区中。
就如同去超市买东西,你看到了1块钱一瓶的牢大,直接整了一卡车放在购物车里,然后你先在收银台结算了一箱牢大,寻思今天没开大运来,先拿一箱回家,把大运开来再把剩下的买走。于是你跑回家扛着大运去离家50米的加油站加油,然后第二天再把大运开着到了超市门口,这时候老板肯定回过味来了:这牢大怎么能卖一块钱一瓶呢?
牢大还是那个牢大,还在货架上,但1块钱一瓶的牢大再也没有了,永远地离开了我们。你把牢大放在购物车里,就相当于将硬盘中的数据先放进了缓冲区,系统在空闲时就会将这些数据慢慢地挪进u盘。但这个过程中,你把u盘拔了,那么u盘中的文件就成了一个不完整的文件,就不能被正常调用了。
正如你今天就算花100块,也买不到昨天1块钱一瓶的牢大了。
所以这个时候,我们就要对u盘中的数据进行校验,防止出现“幽灵牢大”——哦不,幽灵数据。
在ventoy中的操作非常简单,在启动时选中最下方的file checksum就可以对镜像文件的md5、sha1、sha256等常用校验码进行计算了,如gif所示。
但是,仅仅是把校验码计算出来肯定是不够的,我们还需要对原文件进行一次校验码计算。怎么做呢?在windows下非常简单,用我写的这一行命令就能解决:
(Get-FileHash "此处替换成你本地镜像文件的完整路径" -Algorithm SHA256).Hash.ToLower() > "此处替换成你镜像文件的全名,带后缀".sha256
我常用sha256校验码,所以命令也是写成sha256格式的。校验出的文件会输出到用户文件夹下:
接下来我们就可以将校验出的文件cv到ventoy u盘中,开始愉快地校验了。
3.提前写了脚本却嫌重新打包太麻烦?必须狠狠地注入文件了!
有时我们需要在一些镜像中注入一些特制的驱动或者脚本,以满足特殊的需要——比如windows的自动安装——这时我们可以对iso、img镜像文件进行注入文件、重新打包的操作来实现,但有时需要管理的镜像文件太多,或者需要在开机时自动执行某些脚本,那么重新打包的操作就会显得比较麻烦,有时候还不能快速地达到目的。
这时候我们就可以使用ventoy的文件注入功能来快速地实现文件注入。在新版的ventoy中,这个操作是比较简单的。
首先,我们还是来到ventoy工具目录,找到VentoyPlugson.exe:
接下来,我们切换到刚刚启动的网页,找到“文件注入插件”一栏,点击它,我们就来到了文件注入插件的界面:
我们点击右侧绿色的新增,就会弹出一个对话框,在其中输入参数就能创建一个新的注入文件了。
比如说我想往wepe.iso里注入一个VentoyAutoRun.bat(顺带一提,如果你向winpe中注入了这个名称的bat脚本,那么它会在顺利启动时自动执行这个脚本),我就需要先将这个bat脚本压缩成一个zip文件,然后将zip文件移动入ventoy u盘中,再在网页中填入对应的参数即可。
格式为zip,然后一切默认就行。将zip文件放入ventoy u盘中,随便放哪个文件夹都行,这里我直接放根目录了:
接下来我们复制对应文件的目录,粘贴到网页中对应的位置,点击确定,就大功告成了,以后每次启动wepe.iso时,都会自动在wepe环境的X盘下注入这个zip中的内容:
4.镜像启动有问题?试试这三个特殊模式!
相信有很多兄弟在使用ventoy时都观察到了,在选中某个镜像后,ventoy不会直接启动镜像,而是会弹出这么一个对话框:
最下面的file checksum我们刚刚看过了,normal boot也很好理解,就是常规模式,那么wimboot、memdisk,以及启动linux系统时出现的grub2又是怎么回事呢?
这就涉及到ventoy的一些底层原理了:ventoy本质上是将镜像文件模拟成了一张光盘,然后在电脑里创建一个虚拟光驱,用这个虚拟光驱去读取镜像文件实现的。
但是,一旦某些电脑的bios有问题,或者某些第三方封装镜像砍掉了某些在魔改者看来“没有必要”的引导方式,导致引导方式不够健壮,就会出现无法使用ventoy正常启动的问题。这时候就可以使用上述三种备用方案尝试启动。
本期文章不对它们的原理做剖析——一者我没看过ventoy源代码;二者这些玩意的原理不是一时半会就能讲明白;三者这种内容门槛比较高,对我自己以及对各位读者的水平也是个考验。
各位想看这种深度的原理解析内容么?如果想看的话,点个投票吧,如果想看的朋友足够多,我们就开写。
顾名思义,就是把整个镜像文件全部挂载到内存中,把内存作为X盘或者initramfs。这个模式很少用,只有在其他模式全部歇菜的时候再用,因为它对镜像的大小有要求——不能太大,只适合 WinPE(没有外置程序的)、各类Live CD、Vmware ESXi、Memtest86 以及其他比较小的系统。
wimboot就比memdisk温柔一些,它是把核心的boot.wim等核心组件放入内存,然后由这些小型的核心组件来拉起整个镜像。它适合也只能用来启动官方标准的 Windows ISO镜像以及一些WinPE镜像,不能用来启动Linux镜像。
grub2模式跟wimboot类似,它是挂载vminuz后进行initrd操作,由iso本身的vmlinuz进行后续的系统组件拉起。与wimboot类似,它也只能用来启动含有 grub2 配置文件的 Linux 系统 (参考下面的说明),不能启动 Windows/WinPE/Unix 等。
感兴趣的兄弟可以给我点点关注,不想错过的话,可以给我点亮星标,这样可以及时收到我的更新哦。
看得开心,那就给我点个赞作为鼓励吧!如果看得开心,或者觉得这篇文章对你有帮助,那么就快快点击⬇名片关注我啊!愣着干嘛呢!
“煮科技”主打科技产品的评测,这个新号“豪赫涅”则着重分享性价比设备情报,以后杂七杂八的内容也放到这个号里来↓