veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 8246|回复: 116

[分享] SX_Veket_Puppy_Installer_for_linux(2024-06-27更新)

[复制链接]
发表于 2024-6-13 12:18 | 显示全部楼层 |阅读模式
SX_Veket_Puppy_Installer_for_linux说明
下载地址:https://www.123pan.cn/s/lE5A-qz9yv.html
https://liuzhaoyzz.lanzouq.com/b0fojh61i,密码:604v,由于蓝奏网盘不能分享pet文件,所以只有压缩为zip上传。

SX_Veket工具在veket系统上安装过程总结分享 -有视频操作教程,http://www.lucky8k.com/thread-135024-1-1.html
绝大部分人不需要看说明,直接运行即可:
①确保有FAT32/ESP启动分区。
②根据需要不解压veket.iso或者解压到含有veket关键字的英文路径。
③运行SX_veket安装器根据提示拖入veket.iso/vmlinuz,单击终端,回车×3。
④进入BIOS设置硬盘启动优先级、efi引导项优先级,重启进入veket。
--------------------------------------------------------------------------------------------


一、背景
veket作为轻量版linux发行版,解压缩然后添加引导就可以启动,为了方便在linux下快速写引导、写菜单,我写了个linux脚本,快速地在BIOS及UEFI启动的情况下添加veket到grub4dos/grub2x64.efi启动菜单(有些镜像只支持BIOS启动),主要实现以下目的:
1、快速部署,支持快速安装veket到本地硬盘、优盘、移动硬盘。
★快速地安装veket到本地硬盘、普通优盘、固态优盘、移动硬盘的任何一个盘符,快速地在本地磁盘中增加grub4dos/grub2bios的启动项。
★无损写入硬盘或优盘、移动硬盘的方式(不改变硬盘或优盘分区结构,不损坏原有数据)。
2、全自动编写菜单。
★veket.iso解压缩或者不解压缩,都可以全自动编写grub4dos/grub2启动菜单,从而减少书写错误的几率。
★支持大部分PE.ISO、PE.WIM写引导,支持在veket环境下写引导,重启即可选择并启动(只要你内存足够)。
★菜单项采用了sed进行离线行编辑,自动根据选中的镜像自动插入菜单项,如果你原来有菜单,也不会删除你原来的,只会增加非重复的启动项。
★插入菜单项时,如果grub4dos菜单已存在则删除里面已有的启动项后重建菜单,删除菜单启动项搜索的关键字是title+ISO镜像名称,删除到下一个title之间的所有行。UEFI如果采用grub2方案启动,\boot\grub2\grub.cfg菜单已存在则删除里面已有的启动项后重建菜单,删除菜单启动项搜索的关键字是menuentry+linux/linux.iso/PE.iso/PE.wim名称,删除到下一个menuentry之间的所有行,一行可以用英文分号来顺序执行多条语句。
3、grub4dos/grub2的菜单文件menu.lst/grub.cfg建议用utf-8编码,以便支持中文字库加载。
4、在BIOS下可以制作UEFI启动盘,在UEFI下也可以制作BIOS启动盘,适用于多硬盘、优盘各种复杂模式启动,支持一键安装veket到空白硬盘,没有引导的一键添加引导。
★需要说明的是,很多新主板UEFI启动不但支持从GPT硬盘启动,还支持从MBR硬盘启动,甚至不需要FAT32分区,可以从MBR硬盘的NTFS分区启动。所以UEFI启动列举出了所有的分区,包括ESP/FAT32/NTFS分区供用户依据自己的引导分区情况自己选择。
5、可以清理grub4dos/grub2启动菜单中,linux/linux.iso/PE.iso/PE.WIM不存在的启动项。

二、安装之前需要具备的BIOS、UEFI启动常识性知识和条件
1、BIOS启动,需要硬盘分区格式是MBR分区,FAT32/NTFS分区都可以作为启动分区。
2、UEFI启动,推荐使用GPT分区,当然也可以用MBR分区。
(1)使用GPT分区的时候,一般要有一个FAT32分区格式,用作启动分区,这个FAT32格式可以是普通的FAT32分区,也可以是ESP分区。
其实ESP分区就是一个有特殊GUID(全局唯一标识符)的FAT32分区。
ESP分区使用特定的分区类型GUID(GUID Partition Table,GPT),这个值是固定的,ESP分区的GUID通常是:C12A7328-F81F-11D2-BA4B-00A0C93EC93B。
(2)使用MBR分区的时候,一般要有一个FAT32/ESP分区格式,用作启动分区。
当然有的电脑也不一定需要ESP/FAT32分区,NTFS分区也可以直接作为启动分区,因为自带NTFS驱动,以后这样子的电脑可能会越来越多。
当你不清楚是否需要ESP分区的时候,在windows下的diskgenius或者linux下的gparted中分区的时候,如果选择GPT分区,那就创建一个ESP分区最好。
3、veket.iso解压缩或者不解压缩都可以启动,SX_Veket_Puppy_Installer_for_linux不会替你去解压缩,因为不同的人喜欢把veket放到不同的盘符、不同的目录,SX_Veket_Puppy_Installer_for_linux只干写引导、写菜单的功能。
4、UEFI启动,需要在BIOS设置中关闭安全启动(绕过安全启动的方案,不在本文讨论范围之内),启动出现电脑品牌logo的时候按F12/F11/F8/ESC这样子的快捷键可以临时选择从grub2x64.efi启动(不同的电脑启动快捷键不同),然后选择veket启动,当然你也可以在BIOS设置中把grub2x64.efi/g4ebootx64.efi设置为默认启动项启动veket,grub2x64.efi/g4ebootx64.efi也可以用来启动windows。
   
三、不同引导方式下的具体用法
SX_Veket_Puppy_Installer.pet安装后会在“附件应用”程序组创建快捷方式,单击即可启动主程序,根据提示一步步操作即可。
1、简单点来说,内存满足、电脑位数X86、X64对应的前提下,把你喜欢的veket.ISO解压缩到非中文包含veket关键字但不含特殊字符的目录,然后在文件管理器中复制vmlinuz所在的文件夹长路径(例如/mnt/sda2/linux/veket/v20-v20210120/vmlinuz),或者提示输入vmlinuz路径的时候直接拖拽到linux脚本上,根据提示操作即可。在文件管理器中右击→复制,然后在terminal终端窗口右击→粘贴也可以。
※注意:在文件管理中中拖放某个文件到terminal终端窗口,系统的焦点仍然在文件管理器,必须单击下当前的terminal终端窗口,再回车,才可以继续后续的流程,直接按回车会把veket.iso挂载上去,导致写引导无法继续。
2、大部分linux.iso和PE.iso也支持不解开ISO启动,提示输入iso路径的时候直接拖拽到linux脚本上也可以。PE.ISO操作类似,比如/mnt/sda2/boot/imgs/WePE_64_V2.1.iso也可以。
3、一般地增加的第二个启动项是刚才安装的veket(第一个是windows)。对于支持loopback.cfg方案的linux版本,比如lucky8k-veket20等,linux.iso镜像里面存在/boot/grub/loopback.cfg文件,一般可用loopback.cfg方案整体启动linux.iso。

SX_Veket_Puppy_Installer_for_linux(请以root身份运行):
※BIOS启动菜单:
(1)从grub4dos启动到Veket/Puppy.iso/PE.iso/PE.wim,本地MBR硬盘和USB设备均可用(会修改启动盘MBR为grub4dos)。
★该方案能够在MBR引导菜单中增加grub4dos引导项目,电脑启动后按上下键就能选择grub4dos/grub2-BIOS从而启动linux/PE。多次运行不会增加重复启动项。这种需要调用/boot/grub2/i386-pc下面的那些模块,同时在引导盘和目标盘根目录menu.lst/grubbios.cfg中以非重复方式离线插入启动项,避免启动时优先找到的是启动盘的menu.lst/grubbios.cfg导致无法看到目标盘里的启动项。
(2)一键添加grub4dos/grub2x64.efi引导的BIOS/UEFI双启动linux/linux.iso/PE.iso(一般需要MBR硬盘上有一个FAT32激活分区,需要关闭安全启动)
★注意:BIOS/UEFI双启动一般需要MBR分区表,一般要有个激活的FAT/ESP分区,但有的电脑不需要任何FAT/ESP分区也可以,不一而论。
(3)清理菜单中镜像文件linux/linux.iso/PE.iso不存在的启动项。
(4)切换到UEFI制作模式,用于制作UEFI启动盘

※UEFI启动菜单:
(1)grub2x64.efi==>veket,本地硬盘和USB设备均可用,USB设备推荐用该方式(一次选择菜单)。
(2)g4ebootx64.efi==>linux/PE.iso/PE.wim。
(3)一键添加grub4dos/grub2x64.efi引导的BIOS/UEFI双启动linux/linux.iso/PE.iso(一般需要MBR硬盘上有一个FAT32激活分区,需要关闭安全启动)
★注意:BIOS/UEFI双启动一般需要MBR分区表,一般要有个激活的FAT/ESP分区,但有的电脑不需要任何FAT/ESP分区也可以,不一而论。
(4)清理菜单中镜像文件linux/linux.iso/PE.iso不存在的启动项。
(5)切换到BIOS制作模式,用于制作BIOS启动盘

4、温馨提示:
★terminal终端窗口可以右击其空白处→首选项→外观→透明度设置为100%,字体可以调整到15,行数可以调整到120*40,这样子看起来更清楚。
★BIOS启动菜单,按1 run mem automenu by sratlf-20141206可以遍历任意一个PE.ISO并启动。(只要你内存足够大)
★BIOS启动菜单,grub2-BIOS引导,按1.grubfm_iso_wim_img可以遍历任意一个PE.ISO并启动。(只要你内存足够大)
★UEFI启动菜单,grub2-UEFI引导,按1.grubfm_iso_wim_img,可以遍历任意一个PE.ISO并启动。
★清理菜单中镜像文件linux/linux.iso/PE.iso文件不存在的启动项,对于\menu.lst和\EFI\grub\menu.lst,要求title的下一行是find语句,而且--set-root后面必须跟linux/linux.iso/PE.iso;对于\boot\grub2\grubbios.cfg和\boot\grub2\grub.cfg要求文件路径和文件名中不能有空格,而且要求要有menuentry+标题+文件长路径及大括号+{组成,例如:
menuentry "/linux/veket/v20-v20210917/veket_20.iso-loopback.cfg" "/linux/veket/v20-v20210917/veket_20.iso" {
运行前会提示备份,备份的名字是原文件名后面加个“_bak”,扩展名不变。

四、菜单自定义及修改:
1、grub4dos/grub2默认启动项:
(1)\menu.lst里面,default 0默认启动项是第1项,default 1默认启动项是第2项,...以此类推,你喜欢哪个可以把哪个设置为默认启动项,推荐值:default 1
(2)\boot\grub2\grubbios.cfg里面,set default=0默认启动项是第1项,set default=1默认启动项是第2项,...以此类推,你喜欢哪个可以把哪个设置为默认启动项,推荐值:set default=1
(3)\boot\grub2\grub.cfg里面,set default=0默认启动项是第1项,set default=1默认启动项是第2项,...以此类推,你喜欢哪个可以把哪个设置为默认启动项,推荐值:set default=1
以上几项改过了之后,linux脚本不会再动上面的设置。
上面几项改动之后,默认就是启动veket。
2、背景图设置:
(1)\menu.lst里面,#splashimage /boot/grub/xxx.bmp前面的#字符去掉,然后补充个xxx.bmp图像放到/boot/grub/目录即可。grub4dos 0.4.6a以上的版本支持24位的bmp或xmp图像。
(2)\boot\grub2\grubbios.cfg、\boot\grub2\grub.cfg里面,前面的#字符去掉,然后补充个xxx.jpg图像放到/boot/grub2/目录即可。grub2启动背景图片要求是8位,8位=2^8=256色的图片才行。
#insmod gfxterm_background
#insmod jpeg
#background_image /boot/grub2/xxx.jpg
3、★linux.iso整体启动测试:
(1)veketv20.iso,lucky8k-veket20,支持grub2+loopback.cfg方案iso整体启动。支持“find_iso”参数方案iso整体启动,veket18以下的版本都是32位的,似乎都不支持“find_iso”参数iso整体启动。
(2)一般不推荐采用partnew方案,能采用loopback.cfg方案的尽可能采用loopback.cfg方案启动iso。partnew方案生成的菜单不要乱改(除非你真正懂得这个方案),否则可能导致分区丢失!partnew方案,要求iso所在的MBR硬盘主分区必须小于等于3个!暂不支持iso放在GPT硬盘!而且iso必须连续存放!对于veket20及以上版本如果整体启动veket.iso,建议用“find_iso”参数方案,要比partnew方案更加稳定可靠,而且可以保存设置。
(3)如果启动时出现refuse to hook int13或者too many fragments的提示,复制veket.iso→粘贴→删除原来的veket.iso→把新的veket.iso副本改名为原名字即可。前提是硬盘有足够的连续磁盘空间存档iso文件。
4、解开启动要比整体启动兼容性更好,优先推荐用7z解开启动。
对于ISO镜像,grub4dos启动ISO的时候要求iso储存在磁盘上连续的扇区,grub2无此要求,可以采用复制-粘贴-重命名的办法消除碎片。

五、用到的命令或工具
1、grub4dos/grub4dos_UEFI,http://grub4dos.chenall.net/,不点、chenall、yaya2007777、wintoflash等
2、采用zhs509分享的grub4dos精简中文字体(6500个汉字),注意需要menu.lst为utf-8编码。--感谢zhs509!精简后字库文件(600KB)! http://wuyou.net/forum.php?mod=viewthread&tid=210325
3、[测试]GRUB2 UEFI 下的磁盘仿真 20191105更新 - GRUB2 - 无忧启动论坛 - http://wuyou.net/forum.php?mod=v ... &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
整合wintoflash大神grub2文件管理器,用于BIOS/UEFI遍历启动ISO/WIM/VHD...) - GRUB2 - 无忧启动论坛 - Powered by Discuz! http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
4、sratlf的RUN20141206模块,746KB,RUN 1206 更新 支持磁盘交换,文件检索,自动菜单,自动列表,全自动安装nt5x系统
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=191301
5、感谢月之暗面Kimi.ai-帮你看更大的世界 https://kimi.moonshot.cn/
6、parted、fdisk、lsblk遍历分区信息。
7、grep、sed、awk等文本、字符串处理工具。
8、感谢veket的作者以及参与系统定制的大神们:Linus Torvalds,感谢Barry Kauler,感谢qiqiga,感谢luckyjames,感谢 josejp2424,感谢pemasu ,感谢文泉驿字体,感谢fcitx中文输入法,感谢perryfa,感谢Ttuuxxx,Verdegal37,感谢puppy linux,感谢debian linux,ubuntu linux,感谢ZaZoOo,WhoDo,veket,自由飞翔,冷月嫣然,乐清,风清扬,msn,唐拍虎,小李,sogou,木蚂蚁,fedora,2929,ygwu,linux,gaosenguo,西门吹雪,dabibi,付强,wellh,xunxun,156,阿库,luckyjames,qx0007,玄天斩灵剑,感谢pushu-zl,感谢okeyear,感谢独秀天柱,感谢okeyear,感谢yumenpad,感谢bg9cou,感谢wzwwzw0001,感谢小5,感谢小糊涂仙!感谢一颗耗子屎,感谢shopinglee,还有感谢文泉驿字体,感谢fcitx中文输入法及参考了论坛内众多的帖子.......

六、待完善的地方:
1、grub4dos启动画面没有用图片,不够精美,没有用采用中文菜单,因为一闪而过。注意如果采用中文,menu.lst必须采用utf-8编码。
2、用的linux脚本编写,不如直接用GUI工具写出来的高大上,界面不够美观。有利有弊吧,linux脚本的好处是开源、接地气,大家都可以根据自己的情况更改代码,以适应自己的需求。
3、没有考虑绕过安全启动的问题,UEFI启动必须要关闭安全启动。

七、特别鸣谢
不点、bean、chenall、2011yaya2007777(grub4dos开发者们)、wintoflash(UEFI-grub2_map、ntboot)、sratlf(RUN模块作者)、hilsonma、极限驱动、2011hiboy(Grub2定制UEFI模板)、江南一根葱、jie_china(grub2-pxe文章推送)、zhs509(grub4dos精简字库文件)、xbmc、2011whp、红毛樱木、nttwqz、CodeHz、dos时代菜鸟...等等等等。
附件应用-SX_Veket_Puppy_Installer.png
BIOS启动模式安装.png
UEFI启动模式安装.png
字体大小、透明度、几何属性设置.png
 楼主| 发表于 2024-6-13 12:18 | 显示全部楼层
占楼待编辑。

安装之后在附件应用程序组有快捷方式。

请不要发毫无意义的水贴回复。
有问题,反馈bug直接反馈。


暂时不能在puppy中使用,因为提示字符没有修改为英文,晚点看看,如果有需要就修改吧。
也就是说,目前:
可以在veket系统中,给puppy添加引导和菜单。
不能反过来在puppy系统中,给veket添加引导和菜单。

1、veket/puppy中已经有了FrugalPup、Yapi、grub4dosconfig 、grub2config等pet程序,我为什么要重新造轮子?
答:他们都不符合我的要求,大部分都会重置原来的启动菜单,我是多系统,重置了启动菜单的话,原来的系统启动不了。Yapi安装的时候搜索iso的时间太长了。所以要重新造轮子。

想把veket放在ext4独立分区的,可以用这个SX_Veket_Puppy_Installer_for_linux.pet工具,几十秒钟就好了。一次拖放,3次回车即可。

2、怎样卸载重装?
答:打开软件包管理器,或者运行ppm→点卸载,可以卸载。然后就可以安装新版本了。

3、有问题怎样反馈?
答:把问题做个简单说明,附上一张出错图片,外加运行lsblk -p的图片发上来。
 楼主| 发表于 2024-6-13 12:18 | 显示全部楼层
占楼待编辑。

FAQ问题及回复待整理。
1、我的电脑是windows+linux双系统,BIOS启动的,能否用windows的boot mgr作为第一引导引导grub/grub2-BIOS,进而引导Veket?
答:做不到。这种需求应该用windows版本的SX_Veket安装器。SX_veket安装器by双心(2024-7-2更新) - 新veket系统安装 - veket - veket!
http://www.lucky8k.com/thread-133372-1-1.html
BIOS启动的话,在linux下面,对于双系统,没法用代码修改windows的BCD。
UEFI启动不存在此问题,因为UEFI下面windows的bootmg fw.efi和grub4dos/grub2的启动项是平等的,只要关闭安全启动即可。
就是说linux下面,BIOS启动模式下安装器只能做到用grub4dos/grub2作为第一引导,去引导windows或者veket。
在linux下面不能用代码去实现windows的主引导(即boot mgr)作为第一引导去引导grub4dos/grub2,进而引导linux,这在linux下面是做不到的,因为linux没有挂载并读写windows的BCD菜单的工具,windows的BCD不是明文的,只能通过windows的bcdedit命令或者windows的API去访问并修改。
FrugalPup和yapi也是一样,直接修改硬盘的MBR为grub2,进而引导linux/windows。

2、会做GUI图形界面吗?
答:不会做,linux shell下做界面要用gtkdialog,太费事,我没兴趣做,CUI界面方便交互,一次拖放+3次回车,几十秒钟的操作而已。
http://www.lucky8k.com/forum.php ... 5013&pid=669984
http://www.lucky8k.com/forum.php ... 5013&pid=670076
http://www.lucky8k.com/forum.php ... 5013&pid=670188
http://www.lucky8k.com/forum.php ... 5013&pid=670359
http://www.lucky8k.com/forum.php ... 5013&pid=670436
http://www.lucky8k.com/forum.php ... 5013&pid=670578
http://www.lucky8k.com/forum.php ... 5013&pid=670588


3、关于适配veket24版本的说明。
(1)veket24版本对于某些磁盘,挂载点是/media/root/label或者是/media/root/uuid形式,这跟绝大多数linux系统下面挂载点/mnt/sda2这样子的挂载点不同,veket用户名字是变化的,挂载点会变,卷标也会变,甚至会起冲突,而且挂载点还有可能是中文!uuid又太长,这种挂载点不好处理。因此我用mount -B命令绑定已有的挂载点,对于没有挂载的分区直接挂载到/mnt/sda2这样子的挂载点上面,但是有个问题,thunar文件管理器默认只能显示/media/下面的挂载点,挂载到/mnt/sda2这样子的挂载点需要在左侧的/mnt目录下寻找。
因此,推荐先在thunar文件管理器中单击分区挂载之后,再运行SX_Veket_Puppy_Installer_for_linux,就不会出现必须要去/mnt目录下找文件的问题。(当然不单击左侧哪些分区挂载,脚本也可以正常运行,就是文件需要去/mnt下面复制路径)
(2)由于veket24的efibootmgr命令版本太旧,无法支持--full-dev-path全路径参数,因此改用旧版本的参数,但是旧版本的efibootmgr命令不能删除重复的启动项,似乎有bug,这个efibootmgr可以更新下了。特此说明。

发表于 2024-6-13 15:29 | 显示全部楼层
强烈支持!

bootlace.com是什么文件?安装的时候提示覆盖有没问题?veket24上原本的是2009年的?新的是2024年的?
直接覆盖有没影响?
发表于 2024-6-13 15:47 | 显示全部楼层
终端透明度好像没有影响?我的是v24,默认的壁纸下:
第一个问题是:
从grub4dos启动到Veket/Puppy.iso/PE.iso/PE.wim
——
这个pet是在veket下安装,在veket下安装pe?这个感觉有点怪。
个人提个建议:
好吧,我又爱提建议,只是说出个人看法,若不认同不用理会:
就是第一个问题不如问:
你是从BIOS启动或者是UEFI启动?
这两种启动模式的区别是硬盘分区模式有关?或者是和主板引导程序有关?是不是新电脑大部分默认用的是UEFI?
如果是这样,默认应该是UEFI才更合理一些?

由于硬盘是生产环境,怕弄坏引导不敢测试。
但很支持版主的努力!期待越来越好!
终于有了原生的安装工具真是好呀
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2025-5-1 21:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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