无忧启动论坛

标题: 求教开机按F3一键备份、按F4一键还原是怎样实现的? [打印本页]

作者: ssttee    时间: 2025-4-2 17:34
标题: 求教开机按F3一键备份、按F4一键还原是怎样实现的?
本帖最后由 ssttee 于 2025-4-2 17:36 编辑

我公司采购了几百台海康威视的国产电脑,开机按F2进入BIOS设置、F12进入启动菜单、F3启动再生龙clonezilla备份系统、F4启动再生龙clonezilla还原系统。
他最后一个备份区是再生龙文件,里面有如下文件夹:
.disk
boot
EFI
home
live
OS
syslinux
utils

其中EFI文件夹里有boot文件夹,里面有如下文件:
x86_64-efi文件夹
backup.cfg
bootia32.efi
Clonezilla.efi
grub.cfg
grubx64.efi
restore.cfg
unicode.pf2

我把Clonezilla.efi这个文件删了,F3和F4就不起作用了。所以应该是主板代码引导Clonezilla.efi,这个文件是不是定制的efi文件所以可以自定义名字?但是他是怎么区分按F3时加载backup.cfg文件、按F4加载restore.cfg文件的呢?

我公司现在的想法是整个盘格式化自己重新做个系统然后重新做一键备份和一键还原。

可能表达的不是很清晰,恳请各位大神谅解,并教教小弟,我是GRUB新手,对这些挺感兴趣。

作者: ssttee    时间: 2025-4-2 17:36
我自己能做成开机进入GRUB然后选择备份或者还原,但是就是想利用他原厂的F3和F4功能。
作者: 邪恶海盗    时间: 2025-4-2 18:02
查一下CloneZilla的命令行参数,用其它备份还原时文件名和参数要一致,毕竟BIOS写死了...


二○二五年四月二日
作者: l3429900    时间: 2025-4-2 18:07
本帖最后由 l3429900 于 2025-4-2 18:08 编辑

clonezilla.efi应该是启动菜单文件,grubx64.efi启动再生龙,home目录下是备份的文件,配置文件是grub。cfg,一般在\boot\grub里
作者: l3429900    时间: 2025-4-2 18:39
live目录是主程序,syslinux是legacy下的启动文件,grubx64.efi是uefi下的启动文件
作者: 小灰兔    时间: 2025-4-2 18:55
易数一键还原
作者: yyz2191958    时间: 2025-4-2 19:20
小灰兔 发表于 2025-4-2 18:55
易数一键还原

一直使用,感觉很好
作者: dayeye    时间: 2025-4-2 19:26
F3F4一键备份还原其实是很危险的。应该有多键组合才好。研究学习可以。最好不要用它。
作者: wintoflash    时间: 2025-4-2 20:13
UEFI固件启动项支持设置热键。具体方法请见UEFI Spec第三章BOOT MANAGER部分。
GRUB2 也是UEFI程序,可以写个模块,通过UEFI环境变量获取选择的启动项。
https://uefi.org/sites/default/f ... Spec_Final_2.11.pdf

作者: 1G空间100元    时间: 2025-4-2 21:52
再生龙clonezilla蛮好用的 还原linux系统不错
作者: zhanghao0242    时间: 2025-4-2 22:16
出厂的备份还原其实毫无意义,大屏或者黑板的ops 基本全是这种。
为什么没意义,是因为备份分区大小是固定的,软件安装多了,根本无法备份。
你们要重做系统,应该是做windows吧。 我不理解为什么非要弄个一键还原。
使用者误操作,资料没了,怎么办
你们这些运维手里 有备份行了, 浪费硬盘资源干什么呢。
作者: szwp    时间: 2025-4-2 22:27
看下序列,支持参数和热键
作者: 俪尚皇    时间: 7 天前
学习了
作者: ssttee    时间: 7 天前
邪恶海盗 发表于 2025-4-2 18:02
查一下CloneZilla的命令行参数,用其它备份还原时文件名和参数要一致,毕竟BIOS写死了...

这个我知道,我自己在普通电脑上写GRUB参数也可以实现,我不是问再生龙的还原命令,我是想知道按F3和F4怎样引导到最后一个分区的EFI文件去的,而且同一个文件,根据按F3和F4的不同,调用的cfg文件也不同。
作者: ssttee    时间: 7 天前
l3429900 发表于 2025-4-2 18:07
clonezilla.efi应该是启动菜单文件,grubx64.efi启动再生龙,home目录下是备份的文件,配置文件是grub。cfg ...

对的,就是你说的这样,我把clonezilla.efi删掉按F3和F4完全没反应,应该是主板写死指向这个文件。然后我把grubx64.efi删了,按F3和F4时就会报错,找不到引导文件。至于其他只是再生龙的文件,就不是那么重要了。我想知道按F3和F4怎样引导到clonezilla.efi这个文件的,又是怎样通过按F3和F4不同的文件调用的配置文件cfg不同。
作者: ssttee    时间: 7 天前
dayeye 发表于 2025-4-2 19:26
F3F4一键备份还原其实是很危险的。应该有多键组合才好。研究学习可以。最好不要用它。

其实是有组合键的,要ALT加F3和F4,我怕说的太啰嗦大家烦我,所以简化了,感谢
作者: ssttee    时间: 7 天前
zhanghao0242 发表于 2025-4-2 22:16
出厂的备份还原其实毫无意义,大屏或者黑板的ops 基本全是这种。
为什么没意义,是因为备份分区大小是固定 ...

大神,我说的海康威视的其实不是电脑,只是为了简化说了电脑。其实就是学校用的教学平板,里面的就是OPS。跟你说的完全一样。
他出厂是WIN10+国产麒麟双系统。我要做单WIN10系统,然后一键还原。所以才要重做系统的。
作者: ssttee    时间: 7 天前
wintoflash 发表于 2025-4-2 20:13
UEFI固件启动项支持设置热键。具体方法请见UEFI Spec第三章BOOT MANAGER部分。
GRUB2 也是UEFI程序,可以 ...

谢谢大神,我英文不好,看不懂
大神的意思是不是说,主板可以刷进某些模块,来实现开机在启动界面按不同的快捷键调用GRUB不同的配置文件?是这个意思吗?
我通过删除的方法,发现F3备份和F4还原都调用clonezilla.efi启动的,但是备份调用的backup.cfg这个配置文件,还原调用的是restore.cfg这个配置文件,就很迷茫不知道怎样实现的。
作者: wintoflash    时间: 7 天前
ssttee 发表于 2025-4-3 17:22
谢谢大神,我英文不好,看不懂
大神的意思是不是说,主板可以刷进某些模块,来实现开机在启动 ...

我说的是GRUB2的模块。
你要想知道具体实现方法就要看UEFI Spec。
作者: l3429900    时间: 7 天前
ssttee 发表于 2025-4-3 17:22
谢谢大神,我英文不好,看不懂
大神的意思是不是说,主板可以刷进某些模块,来实现开机在启动 ...

再生龙可以一键还原或保存的,看带$linux_cmd /live/vmlinuz boot=live 这一行就是了,意思是运行vmlinuz,用/live/initrd.img启动
作者: l3429900    时间: 7 天前
https://clonezilla.nchc.org.tw/clonezilla-live/download/ 再生龙官网 下载地址,台湾的,用高速下载网络就好,官网里面有说明文档
作者: 邪恶海盗    时间: 7 天前
ssttee 发表于 2025-4-3 17:12
这个我知道,我自己在普通电脑上写GRUB参数也可以实现,我不是问再生龙的还原命令,我是想知道按F3和F4怎 ...

既然你知道,它用什么命令能达到这个效果就说明它执行了什么命令,这还用问?


二○二五年四月三日
作者: ssttee    时间: 7 天前
wintoflash 发表于 2025-4-3 17:40
我说的是GRUB2的模块。
你要想知道具体实现方法就要看UEFI Spec。

这太超出我的能力范围了,我刚才把原厂最后一个区的所有再生龙文件复制到我全盘格式化后的最后一个区也能一键备份还原,另外我发现他Clonezilla.efi文件就是bootx64.efi改名的,我用文件对比后发现的,MD5都一样。
作者: ssttee    时间: 7 天前
l3429900 发表于 2025-4-3 17:58
再生龙可以一键还原或保存的,看带$linux_cmd /live/vmlinuz boot=live 这一行就是了,意思是运行vmlinuz ...

这个我知道,我自己会用再生龙配合GRUB一键备份和还原,不过我的是启动菜单实现的,我只是不知道他的主板怎么通过按F3和F4实现的。
作者: ssttee    时间: 7 天前
邪恶海盗 发表于 2025-4-3 18:28
既然你知道,它用什么命令能达到这个效果就说明它执行了什么命令,这还用问?

这个我知道,我自己会用再生龙配合GRUB一键备份和还原,不过我的是启动菜单实现的,我只是不知道他的主板怎么通过按F3和F4实现的。
作者: 邪恶海盗    时间: 7 天前
ssttee 发表于 2025-4-3 18:44
这个我知道,我自己会用再生龙配合GRUB一键备份和还原,不过我的是启动菜单实现的,我只是不知道他的主板 ...

BIOS里写入了相关指令...


二○二五年四月三日
作者: zhanghao0242    时间: 7 天前
ssttee 发表于 2025-4-3 17:17
大神,我说的海康威视的其实不是电脑,只是为了简化说了电脑。其实就是学校用的教学平板,里面的就是OPS ...

几百台的数量,应该是高校 不是普教。
还是老老实实安装冰点还原。比啥都强。
普教使用人员固定,也没什么好办法,只能靠杀毒软件。
这都是我自己实践多年的经验。
作者: win98se    时间: 7 天前
zhanghao0242 发表于 2025-4-3 20:58
几百台的数量,应该是高校 不是普教。
还是老老实实安装冰点还原。比啥都强。
普教使用人员固定,也没 ...


谢谢分享
作者: ssttee    时间: 6 天前
邪恶海盗 发表于 2025-4-3 20:06
BIOS里写入了相关指令...



确实是主板里写入相关代码,我问过厂家人员了,不过其他他就不愿意透露了,说是机密。
我尝试只删除clonezilla.efi,然后F3备份和F4还原都不起作用了,应该是这两个按键都通过这个启动的,只是两个按键分别调用两个cfg配置文件我没搞懂。
另外,我今天发现clonezilla.efi就是bootx64.efi改名来的,对比md5后发现的。
我猜是主板代码指定启动clonezilla.efi这个文件的,但是后面调用的cfg是哪个怎么查?因为文件夹里好多个cfg。
作者: ssttee    时间: 6 天前
zhanghao0242 发表于 2025-4-3 20:58
几百台的数量,应该是高校 不是普教。
还是老老实实安装冰点还原。比啥都强。
普教使用人员固定,也没 ...

几个校区,冰点不行,我们试过了,第一老师要在桌面放东西和装软件,第二有些软件也要更新,每次启动如果不是最新版都自动更新的。
作者: 邪恶海盗    时间: 6 天前
ssttee 发表于 2025-4-4 00:16
确实是主板里写入相关代码,我问过厂家人员了,不过其他他就不愿意透露了,说是机密。
我尝试只删除clon ...

你不是知道GRUB菜单是怎么调用Clonezila的么,不都是一样的?


二○二五年四月四日
作者: ssttee    时间: 6 天前
邪恶海盗 发表于 2025-4-4 00:18
你不是知道GRUB菜单是怎么调用Clonezila的么,不都是一样的?



我知道的方法是grub是在efi分区,再生龙在最后一个分区,然后编写grub.cfg启动最后一个分区的clonezilla内核流行了,我就知道这个。

但这个是grub和再生龙内核都在最后一个分区,而且grub启动文件还被改名了,而且grub文件夹里好几个cfg文件,不知道怎么调用的,请大神指教,感谢感谢
作者: ssttee    时间: 6 天前
邪恶海盗 发表于 2025-4-4 00:18
你不是知道GRUB菜单是怎么调用Clonezila的么,不都是一样的?



说到底还是我不懂grub,也不懂uefi,只会依样画葫芦,不过确实想搞清楚原理
作者: szwp    时间: 6 天前
可以将cfg改名玩
作者: ssttee    时间: 6 天前
szwp 发表于 2025-4-4 07:51
可以将cfg改名玩

怎么改名?里面有几个cfg,怎么确保按F3调用a.cfg,按F4调用b.cfg?
作者: wintoflash    时间: 6 天前
ssttee 发表于 2025-4-4 11:00
怎么改名?里面有几个cfg,怎么确保按F3调用a.cfg,按F4调用b.cfg?

这年头ai都能读pdf了。你把uefi spec喂给ai,让它解释下固件如何实现快捷键启动项的,还有efi程序如何得知自己是从哪个启动项启动的,不就行了吗。

作者: ssttee    时间: 6 天前
wintoflash 发表于 2025-4-4 11:04
这年头ai都能读pdf了。你把uefi spec喂给ai,让它解释下固件如何实现快捷键启动项的,还有efi程序如何得 ...

好的,谢谢大佬
作者: szwp    时间: 6 天前
ssttee 发表于 2025-4-4 11:00
怎么改名?里面有几个cfg,怎么确保按F3调用a.cfg,按F4调用b.cfg?

清全盘后,不要将文件全部放入,放一个启动一次,作记录
作者: my9823    时间: 6 天前
有没有可能启动的bootx64.efi里面制定了快捷键的grub2,只是体积很小而已?先启动它,不知道strings命令能不能看到这个clonezilla.efi总的部分字符串?或者用binwalk看看这个clonezilla的结构?
作者: ssttee    时间: 4 天前
szwp 发表于 2025-4-4 11:51
清全盘后,不要将文件全部放入,放一个启动一次,作记录

谢谢,我就是这样一个一个删除测试的。
作者: ssttee    时间: 4 天前
my9823 发表于 2025-4-4 17:50
有没有可能启动的bootx64.efi里面制定了快捷键的grub2,只是体积很小而已?先启动它,不知道strings命令能 ...

他这个clonezilla.efi就是官方的bootx64.efi改名来的,MD5都一样,不是定制的。
作者: szwp    时间: 4 天前
ssttee 发表于 2025-4-6 08:06
谢谢,我就是这样一个一个删除测试的。

不是删除,是加入,从空文件开始,加一个重启一下,结合cfg改名
作者: ssttee    时间: 4 天前
本帖最后由 ssttee 于 2025-4-6 14:49 编辑
szwp 发表于 2025-4-6 08:28
不是删除,是加入,从空文件开始,加一个重启一下,结合cfg改名


我是一个一个测试删除看会不会报错,然后看里面的文件内容的。

经过一上午测试,我发现他的原理很简单,以下是我试验的结果和猜测:
他其实就是把EFI/BOOT/bootx64.efi改名成clonezilla.efi,MD5码都一样的。猜测是主板EFI固件设定了找这个启动文件名,避免硬盘还有其他同名的导致错误。然后是cfg改名,grub官方的grub.cfg这个配置文件整个删除都没事,他是按F3导入backup.cfg这个配置文件,按F4导入restore.cfg这个配置文件,这个功能估计也要主板里面写入固件才行的。

其他文件我对比了官网,基本没多大差别。

就还有一个问题我百思不得其解:在boot/grub文件夹下也有一个grub.cfg。这个文件里面就一行代码:


configfile EFI/boot/backup.cfg
而且里面的代码会变,有时候会变成
configfile EFI/boot/restore.cfg
你把他删了那按F3和F4都会报错说找不到配置文件。




作者: szwp    时间: 4 天前
放进去的文件太多了,找到需要最少几个文件
作者: ssttee    时间: 4 天前
szwp 发表于 2025-4-6 15:05
放进去的文件太多了,找到需要最少几个文件

是的,我的方法差不多是这样,重要的文件就3个,其中一个是启动改名,另外两个是cfg,一个对应备份,一个对应还原。
就还有一个cfg不知道干嘛的。
作者: szwp    时间: 4 天前
ssttee 发表于 2025-4-6 16:12
是的,我的方法差不多是这样,重要的文件就3个,其中一个是启动改名,另外两个是cfg,一个对应备份,一个 ...

两个cfg互换名字,功能就反了么
作者: l3429900    时间: 4 天前
ssttee 发表于 2025-4-4 07:24
我知道的方法是grub是在efi分区,再生龙在最后一个分区,然后编写grub.cfg启动最后一个分区的clonezilla ...

这个简单啊,用命令找寻特定的文件,定位到相应的分区执行不就可以了
作者: ssttee    时间: 4 天前
szwp 发表于 2025-4-6 16:28
两个cfg互换名字,功能就反了么

对呀
作者: ssttee    时间: 4 天前
l3429900 发表于 2025-4-6 16:34
这个简单啊,用命令找寻特定的文件,定位到相应的分区执行不就可以了

我搞了一上午,大概应该是这样:他主板写死按F3和F4就启动最后一个分区的clonezilla.efi文件,按F3调用a.cfg,F4调用b.cfg,应该是这样子。
作者: szwp    时间: 4 天前
ssttee 发表于 2025-4-6 16:58
对呀

你要实现的功能,改这2个文件行不?
作者: ssttee    时间: 4 天前
本帖最后由 ssttee 于 2025-4-6 17:22 编辑
szwp 发表于 2025-4-6 17:08
你要实现的功能,改这2个文件行不?

可以了,我下载了最新的再生龙,然后照着原厂的这样:把EFI/boot里的bootx64.efi改名字,新建两个cfg写命令分别对应备份和还原,然后就实现了我要的功能。

但是上面说的这个这个没明白:

在boot/grub文件夹下也有一个grub.cfg。这个文件里面就一行代码:
configfile EFI/boot/backup.cfg
而且里面的代码会变,有时候会变成
configfile EFI/boot/restore.cfg
把文件删了或者改了俩面的代码,那按F3和F4都会报错说找不到配置文件。

按道理按F3和F4对应我新增两个cfg代码的啊,怎么跟这个配置文件有关系?
作者: szwp    时间: 4 天前
ssttee 发表于 2025-4-6 16:12
是的,我的方法差不多是这样,重要的文件就3个,其中一个是启动改名,另外两个是cfg,一个对应备份,一个 ...

有没搞清楚需要3个文件还是4个文件?
作者: hainawp    时间: 4 天前
学习一下
作者: ssttee    时间: 3 天前
szwp 发表于 2025-4-6 18:11
有没搞清楚需要3个文件还是4个文件?

应该是4个文件,一个改名后的efi文件,两个cfg分别对应备份和还原,这三个文件都是在同一个EFI/BOOT文件夹下。

最后一个grub.cfg是在boot/grub文件夹下,删了或者改了里面的代码备份和还原都失效,不知道什么情况。
作者: chen463    时间: 3 天前
grub.cfg是GRUB2引导配置文件
作者: ssttee    时间: 3 天前
chen463 发表于 2025-4-7 09:30
grub.cfg是GRUB2引导配置文件

是的我知道。不过估计固件改了配置文件了,所以这个应该失效才对。不知道为什么不可以删也不可以改代码。
作者: my9823    时间: 3 天前
uefi默认启动esp分区的/efi/boot/bootx64.efi对吧,你替换掉这个bootx64.efi试试,
作者: ssttee    时间: 前天 11:51
my9823 发表于 2025-4-7 18:17
uefi默认启动esp分区的/efi/boot/bootx64.efi对吧,你替换掉这个bootx64.efi试试,

是的,我估计他主板修改了代码,默认启动efi/boot/clonezilla.efi,现在是启动这个。然后按F3调用a.cfg配置,按F4调用b.cfg配置,这个不知道怎么实现的,也是写入主板代码?
作者: my9823    时间: 前天 15:43
你得确定是uefi启动,最后一个分区不是esp分区,厂家是不是误导你了,让你误认为有efi目录就是esp分区,如果是legacy启动,mbr有没有程序?换个grub4dos的efi进去看看能不能F3F4?主要是换论坛里的别的efi都有快捷键,不好测试!
作者: ssttee    时间: 前天 23:10
my9823 发表于 2025-4-8 15:43
你得确定是uefi启动,最后一个分区不是esp分区,厂家是不是误导你了,让你误认为有efi目录就是esp分区,如 ...

我是这样测试的:把整盘重新格式化分区,分区数量跟原厂的数量一样只不过分区大小变了,然后我把官网下载的最新版再生龙解压到最后一个分区,再照着原厂那样把再生龙里自带的启动文件bootx64.efi改名成clonezilla.efi,然后增加两个cfg配置文件,名字跟原厂一样的,结果就是能启动了。其他啥都没干。
作者: ssttee    时间: 前天 23:11
my9823 发表于 2025-4-8 15:43
你得确定是uefi启动,最后一个分区不是esp分区,厂家是不是误导你了,让你误认为有efi目录就是esp分区,如 ...

另外,他的硬盘是gpt分区格式,主板bios也设置uefi启动,应该不是mbr那种。
作者: 加加减减    时间: 昨天 00:34
谢谢分享,很实用
作者: my9823    时间: 昨天 08:23
理论上说,legacy启动重新分区只会改动mbr的dpt部分,不会对主引导代码修改。gpt就不知道了。
作者: szwp    时间: 昨天 08:40
ssttee 发表于 2025-4-8 23:10
我是这样测试的:把整盘重新格式化分区,分区数量跟原厂的数量一样只不过分区大小变了,然后我把官网下载 ...

分区数量不一样试试,一共放了3个文件进去?
作者: my9823    时间: 昨天 09:31
esp分区的bootx64.efi是clonezilla官方自带的的吗?如果替换成grub4dos的efi默认会启动grub4dos的命令行吧,你先尝试替换esp分区的bootx64.efi做一次测试。然后替换回原来的bootx64.efi,用其他的efi替换clonezilla.efi测试下
作者: my9823    时间: 昨天 09:52
刚才用通义千问查了查,给出答案。如果不重要,清空硬盘,只保留esp分区,替换同一个其他用途的的efi为clonezilla.efih和那个bootx64.efi看看f3f4有没有提示,就知道是不是写入主板了?

IMG_6728.png (64.26 KB, 下载次数: 0)

IMG_6728.png

作者: 窄口牛    时间: 昨天 10:02
本帖最后由 窄口牛 于 2025-4-9 10:04 编辑

efi文件内置一个cfg,cfg里面设置快捷键,真正启动选项菜单在外面的cfg不就行了?
作者: chen463    时间: 昨天 12:21
这F3F4是设定热键操作,多年前大都是设定其他F8 F 9 F11 F12…还原键
作者: 加加减减    时间: 昨天 12:23
易数一键还原
作者: chen463    时间: 昨天 12:26
my9823 发表于 2025-4-9 09:52
刚才用通义千问查了查,给出答案。如果不重要,清空硬盘,只保留esp分区,替换同一个其他用途的的efi为clon ...

clonezilla.efi这是订制的,VENTOY的bootx64.efi和GRUB2的bootx64.efi有还原和备份热键吗?

别折腾了…
作者: my9823    时间: 昨天 17:16
我只是想确认主板厂商到底是不是f3f4写入主板了
作者: ssttee    时间: 昨天 17:38
my9823 发表于 2025-4-9 09:31
esp分区的bootx64.efi是clonezilla官方自带的的吗?如果替换成grub4dos的efi默认会启动grub4dos的命令行吧 ...

好的,明天试试。
作者: ssttee    时间: 昨天 17:39
窄口牛 发表于 2025-4-9 10:02
efi文件内置一个cfg,cfg里面设置快捷键,真正启动选项菜单在外面的cfg不就行了?

他启动的efi不是定制的,就是官方改名的。应该不会内置cfg。
作者: ssttee    时间: 昨天 17:40
chen463 发表于 2025-4-9 12:26
clonezilla.efi这是订制的,VENTOY的bootx64.efi和GRUB2的bootx64.efi有还原和备份热键吗?

别折腾了 ...

clonezilla.efi就是官方bootx64.efi改名的,连MD5都一样。
作者: chen463    时间: 昨天 18:05
本帖最后由 chen463 于 2025-4-9 18:15 编辑

如果是使用标准键盘就不用去更改他,选不要修改硬件架构。Etc\console

这软件都十几年历史了,骨董级

49.png (53.16 KB, 下载次数: 0)

49.png

作者: ssttee    时间: 15 小时前
chen463 发表于 2025-4-9 18:05
如果是使用标准键盘就不用去更改他,选不要修改硬件架构。Etc\console
这软件都十几年历史了,骨董级

不是的,引导是在主板BIOS层,还没到这个软件,就是开机主板按F2进BIOS,F12启动菜单这个界面的时候起作用的。
作者: chen463    时间: 9 小时前
最新版测试,有需要自己搜寻下载,

十多年前接触过,现在没兴趣玩

您可以尝试建立光盘或U盘玩玩

2025-04-10_410.png (44.48 KB, 下载次数: 0)

2025-04-10_410.png





欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3