无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)最好用的系统一键装机工具广告联系 QQ:184822951 微信:wuyouceo
查看: 630|回复: 59

Veket_Porteus_Puppy安装器by双心

    [复制链接]
发表于 2020-5-22 10:18:05 | 显示全部楼层 |阅读模式
本帖最后由 liuzhaoyzz 于 2020-5-28 22:41 编辑

Veket_Porteus_Puppy安装器by双心
下载地址:
https://www.lanzoux.com/b00nlwy1c
基于CxDirX86方案的模板文件4.6MB(不含Veket/Porteus.ISO)
请以管理员身份运行!请以管理员身份运行!请以管理员身份运行!
一、背景
    Veket/Porteus作为轻量版linux系统,解压缩然后添加引导就可以启动,linux启动参数较复杂,为了方便在windows下快速写引导、写菜单,我写了个批处理,快速地在BIOS及UEFI启动的情况下添加Veket/Porteus到grub4dos/grub2x64.efi启动菜单,主要实现以下目的:
1、快速部署,支持快速安装Veket/Porteus到本地硬盘、优盘、移动硬盘。
★快速地安装Veket/Porteus到本地硬盘、普通优盘、固态优盘、移动硬盘的任何一个盘符,快速地在boot.ini或BCD中增加grub4dos的启动项。
★支持VHD、RAMOS启动的情况在原来的C盘添加grub4dos启动项,无论原来的C盘是否被分配了盘符,只要是活动分区的就可以。
★支持多硬盘的情况下修改主引导区的boot.ini或BCD。
★支持NT5.x下主引导是NTLDR单引导或者主引导是bootmgr转NTLDR的情况,BCD优先。
★无损写入硬盘或优盘、移动硬盘的方式(不改变硬盘或优盘分区结构,不损坏原有数据)。
2、全自动编写菜单。
★Veket/Porteus解压缩后,能够全自动编写grub4dos/grub2启动菜单,从而减少书写错误的几率。
★菜单项采用了sed进行离线行编辑,自动根据选中的镜像自动插入菜单项,如果你原来有菜单,也不会删除你原来的,只会增加非重复的启动项。
★插入菜单项时,如果grub4dos菜单已存在则删除里面已有的启动项后重建菜单,删除菜单启动项搜索的关键字是title+ISO镜像名称,一直删除到该行后的4行。UEFI如果采用grub2方案启动,\boot\grub2\grub.cfg菜单已存在则删除里面已有的启动项后重建菜单,删除菜单启动项搜索的关键字是menuentry+ISO镜像名称,一直删除到该行后的5行,一行可以用英文分号来顺序执行多条语句。
3、grub4dos的菜单文件menu.lst如果要支持中文字库,menu.lst编码必须为utf-8格式。
4、在BIOS下可以制作UEFI启动盘,在UEFI下也可以制作BIOS启动盘,适用于多硬盘、优盘各种复杂模式启动,支持一键安装Veket/Porteus到空白硬盘,没有引导的一键添加引导。
★需要说明的是,很多新主板UEFI启动不但支持从GPT硬盘启动,还支持从MBR硬盘启动,甚至不需要FAT32分区,可以从MBR硬盘的NTFS分区启动。所以UEFI启动列举出了所有的分区,包括ESP/FAT32/NTFS分区供用户依据自己的引导分区情况自己选择,如果选择了\EFI\Microsoft\Boot\BCD不存在的分区,会自动补充UEFI所需的bootx64.efi、BCD引导文件。
★批处理会自动关闭前端进程输入法,按ALT+SHIFT(有的是CTRL+SHIFT)可以打开输入法。

二、软硬件适用条件
    只支持BIOS/UEFI启动Veket/Porteus.ISO解开启动,支持在XP WIN7 8 10环境下写引导。对于bootmgr作为第一启动的方案,系统自带的bcdedit命令要求能够正常运行不出错,因为需要这个自带的命令修改BCD的启动项,而且要以管理员身份运行。

三、不同引导方式下的具体用法
简单点来说,内存满足、电脑位数X86、X64对应的前提下,把你喜欢的Veket/Porteus.ISO解压缩到非中文目录
Veket/Porteus下(我只测试了FAT32/NTFS分区下),Veket/Porteus是菜单的关键字,然后复制vmlinuz所在的文件夹,或者提示输入vmlinuz路径的时候直接拖拽到批处理上,根据提示操作即可。一般地增加的第二个启动项是刚才安装的Veket/Porteus(第一个是windows)。  

【01-Veket/Porteus安装器by双心】批处理(请以管理员身份运行):
1、BIOS启动菜单:
(1)ntldr/bootmgr==>grldr==>Veket/Porteus,本地MBR硬盘和USB设备均可用(支持XP、WIN7/8/10,需要二次选择菜单)。
该方案能够在XP或者win7 8 10的引导菜单中增加grub4dos引导项目,电脑启动后按上下键就能选择grub4dos从而启动Veket/Porteus。多次运行不会增加重复启动项。
★当引导盘MBR为ntldr的时候,批处理会自动修改MBR/PBR为ntldr,引导流程为MBR→ntldr→boot.ini→grldr→Veket/Porteus。
★当引导盘MBR不是ntldr的时候,批处理会自动修改MBR为bootmgr,此时批处理会检测PBR是否为ntldr,如果是ntldr会提示修改为bootmgr(适用于MBR是bootmgr引导分区上的xp系统场景),引导Veket/Porteus流程为MBR→bootmgr→\boot\bcd→grldr→Veket/Porteus。
(2)grldr==>Veket/Porteus,本地硬盘和USB设备均可用,USB设备推荐用该方式(一次选择菜单),会修改启动盘MBR为grub4dos。
★该方案把grub4dos写入硬盘MBR,写入参数可以根据需要进行修改,当然也可以直接用Bootice的GUI。
★该方案同时在引导盘和目标盘根目录menu.lst中以非重复方式离线插入启动项,避免启动时优先找到的是启动盘的menu.lst导致无法看到目标盘里的启动项。
(3)修改启动盘MBR为windows ntldr/bootmgr
★如果引导盘存在bootmgr,就把MBR/PBR均修改为bootmgr,并自动修复引导所需的bootmgr、BCD引导文件;如果不存在bootmgr,但存在ntldr,就把MBR/PBR均修改为ntldr。
(4)一键添加grub4dos/grub2x64.efi引导的BIOS/UEFI双启动Veket/Porteus(一般需要MBR硬盘上有一个FAT32激活分区,需要关闭安全启动)
★注意:BIOS/UEFI双启动一般需要MBR分区表,一般要有个激活的FAT/ESP分区,但有的电脑不需要任何FAT/ESP分区也可以,不一而论。
(5)切换到UEFI制作模式,用于制作UEFI启动盘。

2、UEFI启动菜单:
(1)grub2x64.efi==>Veket/Porteus.ISO/Veket/Porteus,本地硬盘和USB设备均可用,USB设备推荐用该方式(一次选择菜单)。
(2)一键添加grub4dos/grub2x64.efi引导的BIOS/UEFI双启动Veket/Porteus(一般需要MBR硬盘上有一个FAT32激活分区,需要关闭安全启动)
★注意:BIOS/UEFI双启动一般需要MBR分区表,一般要有个激活的FAT/ESP分区,但有的电脑不需要任何FAT/ESP分区也可以,不一而论。
(3)切换到BIOS制作模式,用于制作BIOS启动盘

温馨提示:
★BIOS启动菜单,按1 run mem automenu by sratlf-20141206可以遍历任意一个PE.ISO并启动。
★UEFI启动菜单,按1.grubfm_iso_wim_img,可以遍历任意一个PE.ISO并启动。

四、用到的命令或工具
1、DetectEFI32,50KB,adef提供,我重新编译,检测当前系统是BIOS启动还是UEFI启动。
http://bbs.wuyou.net/forum.php?m ... 2649&fromuid=298214
判断当前系统是BIOS启动还是UEFI启动,分区表是MBR还是GPT(by双心)V1.3 http://wuyou.net/forum.php?mod=viewthread&tid=412368 (文件稍大已放弃)
2、grub4dos-0.4.6a-2016-12-23,310KB,该版本与sratlf版主的RUN20141206版本兼容性较好,较新版本的grub4dos可能与sratlf的RUN模块不兼容,因此不推荐更换为最新版本的grub4dos,除非你不用RUN模块,或者当前版本的grub4dos在你的电脑上根本无法启动。
3、sratlf的RUN20141206模块,746KB,RUN 1206 更新 支持磁盘交换,文件检索,自动菜单,自动列表,全自动安装nt5x系统
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=191301
4、booticeX861.3.4,451KB,pauly的写引导工具。http://wuyou.net/forum.php?mod=v ... 7675&extra=page%3D1
   XorbootUEFI0.2.5,3.88MB,pauly的UEFI引导工具(暂不支持命令行,改用grub2)。http://wuyou.net/forum.php?mod=v ... 7812&extra=page%3D1
5、grubinst1.4,151kb,freesoft00分享,用于写入grub4dos引导,bootice命令行写入MBR有bug,会导致“优先尝试引导原来的MBR”选项被选中,对于一个空白的新硬盘或者优盘,当PBR是ntldr/bootmgr,而盘上不存在ntldr/bootmgr这一套引导文件的时候,“优先尝试引导原来的MBR”这个选项会导致空白的新硬盘或者优盘无法引导。因此放弃bootice写入方案,改用grubinst1.4命令行写入方案。http://bbs.wuyou.net/forum.php?mod=viewthread&tid=355942
6、CxDirX86,23.5KB,2012jiashanni分享,用于显示磁盘分区相关信息,例如磁盘大小、卷标、MBR/GPT、文件分区、活动分区,可能是某网友基于drvtype思想写的,来源不明,总之是大神写的。当初也曾考虑过采用diskpart方案,diskpart限制太多,涉及到windows不同版本需要做很多测试,而且需要用到很多批处理技巧,因此放弃diskpart,直接采用现成的CxDirX86。
http://bbs.wuyou.net/forum.php?m ... 9135&fromuid=298214
7、sed for windows,233KB,为批处理插上了飞翔的翅膀,是批处理的灵魂。https://github.com/mbuilov/sed-windows
8、encodeconv.exe,162KB,游蓝海原创,liuzhaoyzz改进后可自动识别原文件编码,静态编译不需要运行库支持。https://www.cnblogs.com/liuzhaoyzz/p/11392294.html
concmd,261KB,tmplinshi版主提供,用于gbk,utf8编码转换。http://www.bathome.net/thread-12595-1-1.html(已放弃,因为需要语言包支撑)
9、find,15.5KB,windows系统自带的。不同系统命令不一定通用,因为windows的小程序都有文件签名,所以未放到文件包里。
10、mountvol,14.5KB,windows系统自带的。不同系统命令不一定通用,因为windows的小程序都有文件签名,所以未放到文件包里。
11、bcdeditX86,320KB,提取自win8X86,可以解决部分WIN7系统bcdedit无法运行的问题,要求当前系统盘必须激活。
12、bootsect.exe,108KB,提取自微软光盘,用于修改MBR/pbr为ntldr/bootmgr。
13、[测试]GRUB2 UEFI 下的磁盘仿真 20191105更新 - GRUB2 - 无忧启动论坛 - http://wuyou.net/forum.php?mod=v ... 7233&extra=page%3D1
https://github.com/a1ive/grub
采用wintoflash大神修改的grub2,支持UEFI下map --mem PE.ISO,为了保持目录结构清晰,因此69楼用grub-mkimage -c bootconfig.cfg命令进行了定制修改,默认查找\boot\grub2\grub.cfg。
还采用了wintoflash的grub2-filemanager模块用于遍历pe.wim文件并启动,参考了hilsonma给出的菜单。https://github.com/a1ive/grub2-filemanager
14、采用我编写的40KB的closeinput来关闭输入法,防止盘符输入干扰。
15、感谢5大提供的ChkMbrPbr检测MBR/PBR是NT5/NT6:http://wuyou.net/forum.php?mod=viewthread&tid=420355&extra=
16、采用zhs509分享的grub4dos精简中文字体(6500个汉字),注意需要menu.lst为utf-8编码。--感谢zhs509!精简后字库文件(600KB)! http://wuyou.net/forum.php?mod=viewthread&tid=210325
17、感谢plusv大神修改的dsptw:http://wuyou.net/forum.php?mod=r ... 1911&fromuid=298214
感谢原作者19951001:http://bbs.wuyou.net/forum.php?m ... 09935&extra=&page=1


五、待完善的地方:
1、grub4dos启动画面没有用图片,不够精美,没有用采用中文菜单,因为一闪而过。注意如果采用中文,menu.lst必须采用utf-8编码。
2、用的批处理连接各个exe小程序,不如直接用au3、VBVC、delphi这样的工具写出来的高大上,界面不够美观。有利有弊吧,批处理的好处是开源、接地气,大家都可以根据自己的情况更改代码,以适应自己的需求。

六、特别鸣谢
不点、bean、chenall、2011yaya2007777(grub4dos开发者们)、pauly(bootice、XorbootUEFI作者)、jianliulin(FbinstTool)、adef(DetectEFI)、CxDir(2012jiashanni)、sratlf(RUN模块作者)、歌理(PXE免配菜单)、ljycslg(tinypxeserver汉化分享)、芈员外(一键RAMOS框架)、tmplinshi(concmd作者)、freesoft00(grubist1.4分享)、wintoflash(UEFI-grub2_map、ntboot)、hilsonma、极限驱动、2011hiboy(Grub2定制UEFI模板)、captain_g(IPXE-UEFI网启小工具)、yigeren(TinyPXEServer自动识别BIOS/UEFI的配置文件)、江南一根葱、jie_china(grub2-pxe文章推送)、527104427(5大提供了ChkMbrPbr检测MBR/PBR)、2011泥土清香(问题反馈)、zhs509(grub4dos精简字库文件)、plusv、19951001(dsptw扇区读写工具)...等等等等。

我写的还有个双心PE安装器:http://wuyou.net/forum.php?mod=v ... 9019&extra=page%3D2





QQ截图20200522102210.jpg
Windows 10-2020-05-22-10-10-39.png
测试GPT-2020-05-22-10-11-16.png
让cmd支持右击粘贴.png
veket.png
veket.png
porteus-1.png
porteus-2.png
puppy.png

评分

参与人数 2无忧币 +10 收起 理由
剑客行 + 5 感谢你的分享!
linuxdisk + 5 赞一个!

查看全部评分

 楼主| 发表于 2020-5-22 10:18:18 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-5-22 11:36 编辑

2楼备用


你们都是linux高手,都是linux-er,我是windows-er,写几个批处理为windows用户写引导。linux大小写敏感,错个字都不行。


看了veket安装包里面的安装说明,有个批处理不太适合我的场景(似乎不能用于优盘、移动硬盘),另外作者没有写UEFI下的引导,感觉不太满意,所以重新编写。

点评

用rufus安装veket的ISO就会自动创建UEFI的启动文件。  详情 回复 发表于 2020-5-22 21:58
回复

使用道具 举报

 楼主| 发表于 2020-5-22 10:18:37 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-5-22 10:46 编辑

3楼备用
BIOS下的菜单(批处理生成的):grub4dos-menu.lst
title /linux/veket/wps-veket20200513/veket_20
find --ignore-floppies --ignore-cd --set-root /linux/veket/wps-veket20200513/veket_20/vmlinuz
kernel /linux/veket/wps-veket20200513/veket_20/vmlinuz pfix=fsck pmedia=cd PSUBDIR=/linux/veket/wps-veket20200513/veket_20
initrd /linux/veket/wps-veket20200513/veket_20/initrd.gz

title /linux/Porteus-4.0-x86_64-20170917/porteus[normal]
find --ignore-floppies --ignore-cd --set-root /linux/Porteus-4.0-x86_64-20170917/porteus/vmlinuz
kernel /linux/Porteus-4.0-x86_64-20170917/porteus/vmlinuz from=/linux/Porteus-4.0-x86_64-20170917 norootcopy nomagic
boot

title /linux/Porteus-4.0-x86_64-20170917/porteus[copy2ram]
find --ignore-floppies --ignore-cd --set-root /linux/Porteus-4.0-x86_64-20170917/porteus/vmlinuz
kernel /linux/Porteus-4.0-x86_64-20170917/porteus/vmlinuz from=/linux/Porteus-4.0-x86_64-20170917 copy2ram norootcopy nomagic
boot

回复

使用道具 举报

发表于 2020-5-22 10:25:48 | 显示全部楼层
快速地在BIOS及UEFI启动的情况下添加Veket引导?
实在太感谢了!
正需要!
回复

使用道具 举报

 楼主| 发表于 2020-5-22 10:27:12 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-5-22 10:47 编辑

UEFI下的引导菜单示例(批处理生成的):
menuentry "/linux/veket/wps-veket20200513/veket_20" "/linux/veket/wps-veket20200513/veket_20" {
search --no-floppy --set --file /linux/veket/wps-veket20200513/veket_20/vmlinuz
linux /linux/veket/wps-veket20200513/veket_20/vmlinuz PMEDIA=hd PSUBDIR=/linux/veket/wps-veket20200513/veket_20
initrd /linux/veket/wps-veket20200513/veket_20/initrd.gz
}

menuentry "/linux/Porteus-4.0-x86_64-20170917/porteus[normal]" "/linux/Porteus-4.0-x86_64-20170917/porteus" {
search --no-floppy --set --file /linux/Porteus-4.0-x86_64-20170917/porteus/vmlinuz
linux /linux/Porteus-4.0-x86_64-20170917/porteus/vmlinuz from=/linux/Porteus-4.0-x86_64-20170917
#boot
}

menuentry "/linux/Porteus-4.0-x86_64-20170917/porteus[copy2ram]" "/linux/Porteus-4.0-x86_64-20170917/porteus" {
search --no-floppy --set --file /linux/Porteus-4.0-x86_64-20170917/porteus/vmlinuz
linux /linux/Porteus-4.0-x86_64-20170917/porteus/vmlinuz from=/linux/Porteus-4.0-x86_64-20170917 copy2ram
#boot
}

感谢verycd8提供的veket:
veket发布的集成wps的版本870M(0513更新了) - Linux系统区 - 无忧启动论坛 - Powered by Discuz! http://wuyou.net/forum.php?mod=v ... 8848&extra=page%3D1
回复

使用道具 举报

发表于 2020-5-22 10:28:00 | 显示全部楼层
看来楼主是个PE高手啊?内容太多,准备收藏起来慢慢看。
就想问问怎样将pe和veket整合安装到一个U盘上去?
若有成品就最好了,非常感谢!

点评

把veket解压缩到任何一个你喜欢的分区,然后运行我的批处理就可以达到你的目的。至于PE,我的PE安装器可以安装随便一个PE。 不要问那么多为什么,直接干就行了! 临渊羡鱼,不如退而结网!  详情 回复 发表于 2020-5-22 13:48
回复

使用道具 举报

 楼主| 发表于 2020-5-22 10:29:59 | 显示全部楼层
caocaofff 发表于 2020-5-22 10:27
看这个情况,貌似能支持Any Linux?

被你占楼了

启动菜单是什么样子的?有个范本,改起来很简单。

点评

我让楼了  详情 回复 发表于 2020-5-22 11:34
貌似每个小型发行版都有差别  详情 回复 发表于 2020-5-22 11:25
回复

使用道具 举报

发表于 2020-5-22 11:25:32 | 显示全部楼层
liuzhaoyzz 发表于 2020-5-22 10:29
被你占楼了

启动菜单是什么样子的?有个范本,改起来很简单。

貌似每个小型发行版都有差别

点评

是的,大型的发行版,本身有自己的写引导+安装工具,没必要。  详情 回复 发表于 2020-5-22 11:30
回复

使用道具 举报

 楼主| 发表于 2020-5-22 11:30:08 | 显示全部楼层
caocaofff 发表于 2020-5-22 11:25
貌似每个小型发行版都有差别

是的,大型的发行版,本身有自己的写引导+安装工具,没必要。
回复

使用道具 举报

发表于 2020-5-22 11:34:46 | 显示全部楼层
liuzhaoyzz 发表于 2020-5-22 10:29
被你占楼了

启动菜单是什么样子的?有个范本,改起来很简单。

我让楼了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2020-6-2 19:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表