Bba88-BBAC612 主板安装 Proxmox 9

今天遇到一台非常神奇的设备, CPU 是两颗 E5-2682 v4, 256G DDR4 内存, 主版标识是 Bba88-BBAC612 3.2. 原机已安装 VMWare ESXi. 想着安装 PVE9 之后和已有的一台机器组个集群, 但是安装系统的过程中遇到了 Proxmox USB 安装盘无法被 BIOS 识别的问题.

安装盘使用 32G USB, 通过 Rufus DD模式烧录 Proxmox 9.2 ISO. 启动后 Boot Option 里找不到USB设备, 进入 UEFI Shell, 运行 map -r 命令能看到 Removable BlockDevice 显示为 blk8 但是没有 fs0 或 fs1 这样的 alias. 直接 blk8: 之后 ls 也是无法运行的, 提示找不到文件. 后来换了一块16G的U盘也不行.

尝试在 BIOS 设置中关闭 Secure Boot, 调整 CSM, XHCI Handoff, EHCI Handoff, 都没有效果. UEFI Hard Disk Drive BBS Priorities 中只能看到 UEFI OS 和 VMware ESXi. 尝试关闭 VMWare ESXi 之后也没有效果.

搜索了一下发现这台机器有 IMPI/BMC, 管理口插上网线之后能打开 web 页面, 但是没有登录密码. 尝试了很多热门的用户名密码组合均失败, 热门用户名尝试重置密码也没成功.

看资料显示如果能进入系统的话, 可以从系统中重置IMPI密码, 于是用U盘制作了一个 Debian Live USB, 启动后运行 modprobe ipmi_si, modprobe ipmi_devintf, 但是加载 ipmi_si 的时候报错: ipmi_si: Unable to find any System Interface(s), 并且 /dev 下没有 impi0 类似的设备. 推断可能是主板通过某种方式关闭了这种重置路径.

不过因为意外发现 Debian Live USB 可以被正常识别和启动, 尝试通过 Debian 启动 Proxmox.

首先启动Debian, 进系统之后 sudo -i 提权, apt update && apt install kexec-tools 安装 kexec (需要联网)

lsblk 后找到类似 sda, sdb 的设备, 通过 blkid /dev/sdb 确认是否包含 TYPE="iso9660" LABEL="PVE" 字样.

1
2
3
mkdir /mnt/pve
mount -t iso9660 -o ro /dev/sdb /mnt/pve
ls -al /mnt/pve/boot

此时能看到 linux26, initrd.img 文件

运行

1
2
3
4
5
kexec -l /mnt/pve/boot/linux26 \
--initrd=/mnt/pve/boot/initrd.img \
--command-line="ro ramdisk_size=16777216 rw splash=verbose proxdebug proxtui"
sync
kexec -e

屏幕黑了一下然后重新亮了, 但是没有任何内容显示. 等待了大约5分钟也没有反应, hard reset.

第二次尝试

1
2
3
4
5
kexec -l /mnt/pve/boot/linux26 \
--initrd=/mnt/pve/boot/initrd.img \
--command-line="ro ramdisk_size=16777216 rw splash=verbose nomodeset proxdebug proxtui console=tty0"
sync
kexec -e

屏幕黑了之后没有亮起来, 等待5分钟后也没有反应, hard reset.

然后尝试通过 Debian Live 的 Grub 启动 Proxmox, 首先启动到 Debian Live 的启动界面, 按 c 打开 grub> 引导界面.

在 grub 中输入

1
2
3
4
5
6
insmod part_gpt
insmod part_msdos
insmod iso9660

search --file --set=pve ./.pve-cd-id.txt
echo $pve

显示 hd0

1
2
ls ($pve)/
ls ($pve)/boot/

能看到 linux26, initrd.img 文件, 接下来在 grub 中继续输入

1
2
3
4
set root=$pve
linux /boot/linux26 ro ramdisk_size=16777216 rw splash=verbose proxdebug proxtui nomodeset
initrd /boot/initrd.img
boot

成功进入 Proxmox Terminal UI Installer. 不过在安装前, 安装刚开始和安装完成后会进入 Debug Shell, 此时只要输入 exit 即可继续流程.