leitbogioro / Tools

Something about tools
3.1k stars 480 forks source link

甲骨文dd ubuntu 22.04失败(含错误截图) #82

Closed 12189108 closed 8 months ago

12189108 commented 11 months ago

捕获

到这部就进行不下去了,后面会跳回选择系统的界面,但不会自动选择系统,这就是为什么会失联,手动进入系统后还是未dd状态

捕获

3377 commented 9 months ago

兄弟,跟你一样,如何解决的

12189108 commented 9 months ago

兄弟,跟你一样,如何解决的

解决不了一点,解决了这个issue就不是open了

leitbogioro commented 8 months ago

从CentOS 7启动Alpine edge(3.20): errors invalid magic number,必须要先安装Alpine 3.18,才能安装更高版本Alpine或从Alpine引导dd安装其他系统

3377 commented 8 months ago

photo_2024-03-07_14-40-20 问题他不是centos7启动啊,当前系统是ubuntu20.04,打算DD成干净的20.04,然后D了6次,开机就出现上图这样,如果不手动选择的话机器就启动不了。

12189108 commented 8 months ago

从CentOS 7启动Alpine edge(3.20): errors invalid magic number,必须要先安装Alpine 3.18,才能安装更高版本Alpine或从Alpine引导dd安装其他系统

我是从22.04用你的脚本的,一样这个问题

leitbogioro commented 8 months ago

此问题是alpinelinux 3.19及以后版本的系统,默认采用grub 2.12,其中的fwsetup --is-supported语法旧版本grub 2.06不兼容导致的,已测试的原系统Ubuntu 22.04及之前、红帽全系,通过引导AlpineLinux netboot文件安装AlpineLinux 3.19+, edge,或以AlpineLinux为媒介,实行dd安装的任何系统,都会出问题。

Debian 12经测试未发现此问题,可正常启动。

该情况仅在arm64机型上出现,amd64并未受到影响。

解决方法是使用OpenSUSE的tumbleweed分支的grub.efi植入并替换掉原系统中/boot/efi/EFI/系统名/grubaa64.efi文件即可解决,在原系统为CentOS 7,RockyLinux 9上测试过重装为Ubuntu 22.04,Ubuntu 24.04,并且从Ubuntu重装至AlpineLinux都已经成功了,代码稍后更新。

leitbogioro commented 8 months ago

以下案例均测试成功,请下载新版本脚本自行验证:

从Ubuntu 22.04(grub 2.06) 引导AlpineLinux edge(3.20, grub 2.12)启动:

6411b266f01f04e806be58901e925b3

1709823278458

从RockyLinux(grub 2.06) 引导到AlpineLinux edge并安装:

ccdd5f754947cdd0f46320d14a1e3ab

1709823512576

从CentOS 7引导到AlpineLinux edge并安装Ubuntu 24.04:

bae653f283db5fcbeb11e2a49029922

3e23ab0af575daa30dd66a3e70fee2d

1709824000662

de751deb94eb012ca3a027454aeb16c

从Ubuntu 22.04(grub 2.06)安装到Ubuntu 24.04(grub 2.12):

a45716542059bfada68cafdbb8c32e0

98d0fa6aa0fd37d770b798f6dca981b

图片

3377 commented 8 months ago

能指导一下那些错误的引导项怎么删除吗、现在重启机器必须进控制台选择一下才能进去

leitbogioro commented 8 months ago

能指导一下那些错误的引导项怎么删除吗、现在重启机器必须进控制台选择一下才能进去

Debian/Ubuntu/AlpineLinux在/boot/grub/grub.cfg里:把menuentry {*} 部分删除即可,不需要刷新grub:

图片

CentOS 7在/boot/efi/EFI/centos/grub.cfg里,

CentOS 8,9, RockyLinux AlmaLinux在/boot/grub2/grub.cfg里,

但增加、删除、修改新启动项要在/etc/grub.d/40_custom里改。

红帽系改完了需要刷新grub引导:

grub2-mkconfig -o 'grub.cfg文件所在位置'