如何将ARM Mac上Parallels虚拟机中支持Rosetta的多架构Ubuntu Jammy升级至Noble?
如何将ARM Mac上Parallels虚拟机中支持Rosetta的多架构Ubuntu Jammy升级至Noble?
老兄,我刚好碰到过几乎一模一样的情况,咱们先搞清楚问题出在哪,再一步步解决!
首先,这不是升级工具的bug,是你的源配置有个小问题:你用的us.ports.ubuntu.com是专门给ARM、PowerPC这类非x86架构准备的源,里面根本没有amd64的包!所以当apt升级时,会错误地跑到这个ports源去找amd64的软件包,自然就报错找不到了。
解决步骤
先备份源配置文件(怕改坏了能恢复)
打开终端输入:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak修正sources.list的架构-源对应关系
用编辑器打开/etc/apt/sources.list(比如sudo nano /etc/apt/sources.list),把里面的内容改成下面这样——确保arm64架构只指向ports源,amd64架构只指向普通的archive源:# ARM64 架构专用源(ports源) deb [arch=arm64] http://us.ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe multiverse deb [arch=arm64] http://us.ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe multiverse deb [arch=arm64] http://us.ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted universe multiverse deb [arch=arm64] http://us.ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse # AMD64 架构专用源(普通archive源) deb [arch=amd64] http://us.archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse deb [arch=amd64] http://us.archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse deb [arch=amd64] http://us.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse deb [arch=amd64] http://us.archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse改完按
Ctrl+O保存,Ctrl+X退出编辑器。更新apt缓存,确认没有报错
输入:sudo apt update这一步如果没有出现“找不到amd64包”的错误,就说明源配置对了。
正式升级到Noble
用官方的升级工具来做,它会自动处理版本切换和源的更新:sudo do-release-upgrade- 升级过程中如果弹出源配置确认的提示,一定要检查新的Noble源是否也保持了「arm64对应ports源,amd64对应archive源」的规则,要是工具自动改歪了,记得手动修正回来。
升级后验证
升级完成重启后,可以输入下面的命令确认兼容架构正常:dpkg --print-foreign-architectures应该会输出
amd64,说明Rosetta的x86支持还在。
你提到的问题截图
- 升级错误提示1:

- 升级错误提示2:

- 源配置截图:

备注:内容来源于stack exchange,提问作者nsayer
相关产品推荐
相关产品推荐

