英文:
Cannot boot ubuntu 22.10 VM created recently on Fusion Player (MacOS with Apple M1 Silicon)
问题
对不起,我无法提供代码翻译。以下是您提供的文本的中文翻译部分:
Context:
我刚刚在Fusion Player上使用ubuntu-22.10-live-server-arm64.iso创建了一个新的虚拟机,安装成功后无法启动,并出现以下错误:
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services...
我注意到加载的内核版本是Linux 5.19.0-31-generic。
在我之前的一台机器上,我在一月份使用相同的iso创建了一个虚拟机,它在运行了几周后正常工作...但现在在那台虚拟机上,今天在各种关机/重启过程后也出现了相同的问题...我发现在这台较旧的虚拟机上,我有几个内核版本:
Linux 5.19.0-28-generic(来自2023年1月8日)
Linux 5.19.0-29-generic(来自2023年2月13日)
Linux 5.19.0-31-generic(来自2023年2月13日)
我注意到在GNU GRUB版本2.06的引导配置面板中选择从1月份的最旧内核“Ubuntu, with Linux 5.19.0-28-generic”后,这台虚拟机可以再次启动并正常工作。
所以,我的问题是:
- Q1)在较旧的虚拟机上,是否有办法“固定”内核版本为特定版本,如“Ubuntu, with Linux 5.19.0-28-generic”,以防止操作系统使用最新的内核版本?
- Q2)同样,在较新的虚拟机上,我只有最新的内核版本,如何在安装时选择较旧的内核版本?目前我只有最新的:
Ubuntu, with Linux 5.19.0-31-generic
Ubuntu, with Linux 5.19.0-31-generic(恢复模式)
所以我想添加
Ubuntu, with Linux 5.19.0-28-generic
然后也固定它,以避免升级?
但至少我需要在安装时添加它,因为目前我根本无法使用现有的内核启动...在重启之前,我尝试使用安装结束前的“帮助”选项,但它说:
“激活了安装程序shell会话
此shell版本在安装程序环境内运行。当退出此shell,例如通过键入Control-D或'exit'时,您将返回到安装程序。
请注意,这是一个瞬时环境。对此环境的更改将不会在重新启动时保留。如果已启动安装,已安装的系统将挂载到/target。”
所以我不确定是否有办法在此阶段下载较旧版本的内核,并配置grub以在可用内核的选择中提供它...
提前感谢。
英文:
Context:
I just created a new VM on Fusion Player using ubuntu-22.10-live-server-arm64.iso and it fails to boot after the installation completed successfully with the following error:
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services...
I noticed that the kernel loaded is Linux 5.19.0-31-generic.
On a previous machine that I had created back in January with the same iso, it worked fine for a couple of weeks ...but now I'm also having the same problem after various shutdown/restart sequences today on that VM... I found that on this older VM I had several kernel versions:
Linux 5.19.0-28-generic (from Jan 8th, 2023)
Linux 5.19.0-29-generic (from Feb 13th, 2023)
Linux 5.19.0-31-generic (from Feb 13th, 2023)
I noticed this VM would boot & work again after selecting in the boot configuration panel of GNU GRUB version 2.06 the oldest kernel from January 'Ubuntu, with Linux 5.19.0-28-generic'
Ubuntu, with Linux 5.19.0-31-generic
Ubuntu, with Linux 5.19.0-31-generic (recovery mode)
*Ubuntu, with Linux 5.19.0-28-generic
Ubuntu, with Linux 5.19.0-28-generic (recovery mode)
So, my questions are:
- Q1) on the older VM, is there a way to "pin" the kernel version to a particular version like: 'Ubuntu, with Linux 5.19.0-28-generic' & thus prevent the OS from using the latest/greatest kernel version ?
- Q2) likewise on the newer VM, I only have the last version of the kernel, how could I select at installation time an older version of the kernel ? As of now I've got only the latest:
Ubuntu, with Linux 5.19.0-31-generic
Ubuntu, with Linux 5.19.0-31-generic (recovery mode)
so I'd like to add
Ubuntu, with Linux 5.19.0-28-generic
and then pin it as well to avoid upgrades ?
But I need to be able to, at least, add it at installation time because as of now I'm not able to boot at all with the existing kernel... I tried using the 'Help' option at the end of the installation before rebooting but it says:
"Installer shell session activated
This shell version is running inside the installer environment. You will be returned to the installer when this shell is exited, for example by typing Control-D or 'exit'.
Be aware that this is an ephemeral environment. Changes to this environment will not survive a reboot. If the install has started, the installed system will be mounted at /target."
So I'm not sure if there is a way to download an older version of the kernel at this stage & configure grub to propose it in the selection of available kernels to boot on...
Thx in advance.
答案1
得分: 2
Q1) 如上述评论中已经提到,要固定使用的内核版本,我做了以下更改:
- 我在 /etc/default/grub 中修改了变量
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.19.0-28-generic"
- 然后运行了 'sudo update-grub'。
Q2) 我重新安装了虚拟机,但在开始安装过程之前,我将我的 Mac 与本地网络断开连接。安装程序没有下载我 VMware Fusion 环境中似乎有问题的最新内核版本,而是使用了随 ISO 镜像一起提供的内核,它是 5.19.0-21-generic,并且正常工作。
此外,我还从这里 https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19.17/ 下载了我能找到的最新编译版本,并通过下载 .deb 文件并使用 'sudo dpkg -i *.deb' 命令进行了安装,以确保我可以在需要时更改内核版本。
如果有人有更好的答案,请告诉我,因为我在这方面是个完全的新手。
谢谢
英文:
actually spending some time to investigate more, I found answers for both questions above.
Q1) How to pin the kernel version to be used, as mentioned above already in the comment I did the following:
- I did change in /etc/default/grub , the variable
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.19.0-28-generic"
- and then ran 'sudo update-grub'.
Q2) I did re-install the VM but before starting the installation process, I did disconnect my Mac from my local area network. The installer did not download the last version of the kernel that seem to be buggy in my VMware fusion environment & instead got the kernel shipped with the iso image, which happen to be 5.19.0-21-generic, installed... and it works fine.
In addition, what I did was to download the last compiled version I could find here https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19.17/ and install it by downloading the .deb files & using 'sudo dpkg -I *.deb' command just to make sure that I could change the kernel versions if needed.
Anybody having a better answer, please let me know as I'm a total newbie on that matter.
Thx
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论