|
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时代菜鸟...等等等等。
|
|