VirtualBox 安装 Ubuntu Server 时卡在 install kernel

820 阅读3分钟

问题背景:一直使用的 VMware 安装虚拟机,但是 VMware 功能过于齐全,很多都用不上,于是转战 VirtualBox 。既然想尽可能简洁,那就选择了 Ubuntu 的 server 版本。因为对 VirtualBox 和 Ubuntu server 版都不熟悉,就遇到了安装卡在 install kernel 的问题

最终结论:我使用的是 VirtualBox 目前(2024年9月25日)最新版 VirtualBox-7.1.0-164728-Win.exe 下载地址,这个版本在我的系统上会遇到各种各样的问题,使用上一个大版本的最后一个小版本 VirtualBox-6.1.50-161033-Win.exe 下载地址,只需要正常操作,就可以解决问题

后面不用看,但是不删除,因为折腾太久了,纪念一下

各种尝试

  • 网上查到的方法有禁用 Hyper-V ,然而我根本没开启

  • 还有是修改镜像源地址,比如 mirrors.aliyun.com/ubuntu/ ,然而我默认的也是可以正常连接,修改后也没有效果。

最后!!!

  • 尝试使用断网安装大法,直接在配置中取消勾选网络,断网安装,居然成功了,泪奔~~~

结论:VirtualBox 安装 Ubuntu Server 时卡在 install kernel,可以尝试断网,重新安装。安装其他可能会下载依赖包之类的程序时,如果安装过程中遇到什么问题,也可以尝试断网安装

其他

  • VirtualBox 安装 Ubuntu Server 时选择跳过自动安装,除了命名、选择镜像和安装位置,其他先用默认,安装成功之后可以修改。

最后的最后填断网大法的坑!!!!

  • 断网安装系统成功了,而且安装速度很快,但是又埋下了坑。后面就算启用网络硬件,但是始终无法联网...猜测是因为禁用,网络模块可能未配置

解决办法:手动配置 /etc/netplan/50-cloud-init.yaml

  • 也可能不是这个文件,也有可能是 01-netcfg.yaml

  • 设置虚拟机,桥接网络,勾选下面的 接入网线,那个网线就是网络的意思,翻译成网线不如翻译成连接外部网络

  • 启动虚拟机,输入 ip addr show 查看虚拟机网络接口名称,可能会输出一下信息

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
    inet 127.0.0.1/8 scope host lo 
        valid_lft forever preferred_lft forever 
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 
    link/ether 08:00:27:5c:a6:54 brd ff:ff:ff:ff:ff:ff 
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic enp0s3 
        valid_lft 86319sec preferred_lft 86319sec
  • 其中的 enp0s3 就是要找的网络接口名称

  • 备份上面提到的 yaml 文件,sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak

  • 编辑上面提到的 yaml 文件,sudo nano /etc/netplan/50-cloud-init.yaml,输入以下内容

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:  # 替换为您的网络接口名称
      dhcp4: no
      addresses:
        - 192.168.1.100/24  # 替换为您希望分配的静态 IP 地址
      gateway4: 192.168.1.1  # 替换为您的网关地址
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
  • 应用更改 sudo netplan apply

  • 重启网络服务 sudo systemctl restart systemd-networkd

  • 验证网络状态 ip addr show

  • 测试网络连接 ping baidu.com


最后的最后的最后继续填坑!!!!!

  • 上面操作后,可以 ping 通了,但是重启后,又不可以了,查看修改的文件,也重置了

解决办法

  • 安装前,设置连接方式为 桥接网络不要取消勾选启动网络连接 ,否则网络设置时空白,取消勾选下面的接入网线

  • 安装到设置网络的步骤时,手动配置 ipv4

subnet:192.168.4.0/24
Address:192.168.4.100
Gateway:192.168.4.1
Name Servers:114.114.114.114
Search domain:
  • 这样勾选下面的 接入网线,重启后就可以访问了