Cannot boot ubuntu 22.10 VM created recently on Fusion Player (MacOS with Apple M1 Silicon)

huangapple go评论76阅读模式
英文:

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

huangapple
  • 本文由 发表于 2023年2月14日 06:23:00
  • 转载请务必保留本文链接:https://go.coder-hub.com/75441757.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定