m1 处理器使用 vmware fusion 安装 ubuntu 问题解决(新内核无法启动 kernel image not aligned on 64k boundary) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
emUi998
V2EX    Apple

m1 处理器使用 vmware fusion 安装 ubuntu 问题解决(新内核无法启动 kernel image not aligned on 64k boundary)

  •  1
     
  •   emUi998 2022-04-04 23:52:51 +08:00 5185 次点击
    这是一个创建于 1317 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    这几天在做的一个项目中需要依赖 ubuntu 20.04.4 LTS 版本。本人的开发机器是 MacBook Pro M1 Pro 处理器版本的,使用 vmware fusion 技术预览版 (可以点击下载最新版本,可能需要注册账号) 安装虚拟机安装过程中,一直遇到无法启动的问题,一般是如下提示:

    EFI stub: ERROR: FIRMWARE BUG: kernel image not aligned on 64k boundary EFI stub: ERROR: FIRMWARE BUG: Image BSS overlaps adjacent EFI memory region 

    经过查找资料,发现可能是新版本内核与 M1 处理器的内存存在兼容性问题,目前暂无官方解决方案。只能退而求其次使用旧版本内核安装,然后再逐步更新至可用的最新内核版本,来避免安全问题、性能问题。

    最终通过好几天的摸索,终于曲线救国可正常使用,特记录下来,帮兄弟们节省时间。

    解决方案如下

    1. 断开虚拟机网络的情况下安装旧版本 ubuntu

      1. 目前可使用的版本为 ubuntu-20.04-live-server-arm64.iso 点击应该就可以下载这个官方镜像,后面带小版本的均无法正常启动。
      2. 注意:联网状态下安装系统会自动更新,导致安装成功后直接无法启动。务必在虚拟机设置中断开网络链接
      3. 安装完成后,确认可以进入系统时,建议关机&进行快照,方便回滚,防止后续操作失败导致前功尽弃。
    2. 更新内核以及其他组件,并锁定内核版本至 5.14.21 。

      1. 更新内核至 5.14.21 (或更低版本),并更新其他组件
        1. 更新组件

          sudo apt-get update sudo apt-get upgrade 
        2. 安装新内核

          1. 下载内核更新工具

            wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh 

            此操作可能会由于国内特殊的网络环境而失败,自行解决。能看到这个文章的人应该不成问题。

          2. 将脚本安装只可执行目录:

            sudo install ubuntu-mainline-kernel.sh /usr/local/bin/ 
          3. 安装指定内核

            sudo ubuntu-mainline-kernel.sh -i 5.14.21 

            经过多轮尝试,发现 5.14.21 目前可用的最新版本内核,从 5.15.0 开始就无法启动了。兄弟们有时间的话可以去看看 5.15.0 这个版本到底更新了啥 feature 。

            漫长的下载安装之后,还需要执行以下操作,解决依赖缺失的问题。

            sudo apt --fix-broken install 

            此时,新内核已经安装成功,可以重启系统了,不出意外的话就会出意外:启动失败

          4. 启动失败,启动时手动选择指定内核

            此时不要慌,在 grub 启动器页面按方向按键,选择带有 advanced 的条目, 此时可以看到有好多内核可以选择,选择 5.14.21 版本内核(非 64K 的那个),进入系统。

        3. 删除无用内核,并锁定内核版本至 5.14.21 。

          1. 列举所有已经安装的内核

            dpkg --get-selections | grep linux 
          2. 删除低版本内核+带 64K 的所有内核

            sudo apt-get remove {把上个页面中列出来的旧版本内核+带 5.14.21- generic-64k 的内核全部填入,使用空格分开} 
          3. 删除内核配置项目,防止干扰试听

            sudo apt-get purge {此处跟上一个命令的一模一样,复制进来即可} 
          4. 更新 grub

            sudo update-grub 
          5. 锁定内核版本,防止后续更新炸了。

            sudo apt-mark hold 5.14.21-generic 
    3. 安装 vmtools

      sudo apt install open-vm-tools 
    4. 关机,进行快照。此时你将获得一个可以启动的ubuntu 20.04.4 LTS版本虚拟机

    桌面需求以及遇到的坑

    通过以上方式安装的系统时不带桌面的,可以额外安装桌面。

    此时又遇到了一堆坑。梳理后,把完整流程记录下来:

    1. 安装 ubuntu 桌面,建议选精简版本。此处需要下载大量包,耐心等候。

      sudo apt install ubuntu-desktop-minimal 
    2. 将 gdm3 替换为 lightdm ,解决启动后黑窗口&不跳出登陆界面问题。猜测是内核不兼容导致的。

      删除 gdm3 以及其他依赖

      sudo apt-get remove gdm3 sudo apt autoremove 

      安装 lightdm

      sudo apt-get install lightdm 
    3. 修改 netplan 配置,解决 NetworkManager 识别不到网卡导致的执行卡顿问题&无法界面配置网络问题

      1. 修改 /etc/netplan/00-installer-config.yaml 文件,如果没有这个文件,则在该目录下寻找是否有其他 yaml 。

        sudo vi /etc/netplan/00-installer-config.yaml 
        network: renderer: NetworkManager (在这个位置添加此行) ethernets: 

        只需添加一行即可,其他不要修改。

      2. 应用配置

        sudo netplan apply 

      PS:这个问题很妖,如果不进行以上操作,进入桌面后进行任何操作都会延迟一会(可能是在检测网络)才执行。不理解这样设计的逻辑。

    4. 安装桌面的 vmtools ,与上文中安装的不冲突,直接安装。

      sudo apt install open-vm-tools-desktop 
    5. 然后重启系统即可,建议再打个快照,方便后续克隆。

    14 条回复    2022-07-01 23:40:48 +08:00
    CivAx
        1
    CivAx  
       2022-04-05 01:27:43 +08:00
    虽然不用 VMWare ,但这种质量的帖子值得点个感谢
    stimw
        2
    stimw  
       2022-04-05 01:35:51 +08:00 via iPhone
    不知道是不是 tech preview 的 bug ,我遇到了掉 ip 的问题
    t/844266
    Weny
        3
    Weny  
       2022-04-05 01:37:20 +08:00 via iPhone
    PD 也是一样的问题
    forgetlight
        4
    forgetlight  
       2022-04-05 01:46:05 +08:00
    感谢分享! 之前也有尝试过几次 Tech preview 的, 包括最新 3 月刚刚更新版本均无法完全安装. 都是会出现无法加载光驱 iso 的问题. 不过之前都是尝试 desktop 版本, 看来只能用 server 的. 这次开的课 30%学生都是 m1 mac, 非常头疼, 最后只能给学生弄了一堆卡到爆炸的远程桌面.

    @Weny
    个人一直在使用 pd17 最新版的倒是没有一点问题, 连 3d 加速都有了, 还是很丝滑的.最新一个版本还把部分软件开启 3d 加速后会黑屏的问题也修复了.
    dingwen07
        5
    dingwen07  
       2022-04-05 03:13:01 +08:00
    UTM 开 GPU 加速之后整个 Ubuntu 直接卡死用不了
    还是用 WSL 去了,稳定
    andrewpsy
        6
    andrewpsy  
       2022-04-05 04:13:46 +08:00
    跟楼上一样也暂时没这个需求,但这么认真的分享和整洁的排版看了就舒服,必须要感谢制造正反馈。
    DonaidTrump
        7
    DonaidTrump  
       2022-04-05 06:46:58 +08:00 via iPhone
    我用 tech preview 版的 VMware fusion 装 Debian arm 的没有遇到过问题,从安装到使用都十分流畅
    miyunda
        8
    miyunda  
       2022-04-05 08:47:48 +08:00
    感谢,已经一键三连
    ilovekobe1314
        9
    ilovekobe1314  
       2022-04-05 11:18:17 +08:00
    感谢大佬!上次折腾 centos 安装 vm-tools 一直失败,放弃了
    jdjingdian
        10
    jdjingdian  
       2022-04-05 11:28:43 +08:00
    前段时间也遇到过,百思不得其解,老哥牛逼
    yinglongnvba
        11
    yinglongnvba  
       2022-04-06 16:15:52 +08:00
    tech preview 版可以装 Windows 吗
    Kobayashi
        12
    Kobayashi  
       2022-04-24 10:36:07 +08:00
    我一直网络报错,根本启动不了安装镜像。尝试了 NAT 和 Host.

    Could not connect 'Ethernet1' to virtual network '/dev/vmnet1'.
    Kobayashi
        13
    Kobayashi  
       2022-05-02 13:40:54 +08:00
    好像我只能使用桥接网络,NAT 和 Host Only 都不行,你们怎么弄得。 @tulongtou @stimw
    akaHenry
        14
    akaHenry  
       2022-07-01 23:40:48 +08:00
    @tulongtou 你安装的 Debian arm 版本是多少?

    我现在 m1 + vmware 装最新的版本(debian-11.3.0-arm64-netinst.iso), 是无法识别的.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     946 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:21 PVG 06:21 LAX 14:21 JFK 17:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86