跳至主要内容

老旧HP 服务器安装linux注意事项

 这两天有一台HP Gen8的机器系统重做。

这台机器之前使用windows的系统,有安装过2012和2019,都是一路next,没有什么问题。


因为微软的hyperv实在是太久没有更新,可能微软都忘记了这个平台,似乎是不会再有新的版本迭代了。剩下的选择只有vmware和各类kvm。


vmware群集的价格实在是太贵,每年的授权费比硬件都要贵了。

kvm有好多家都在做,因为自己家里的网络环境里pve用了两年了。稳定性和易用性映像都蛮深刻的。

刚好proxmox最近发布了backup server,并在最新版pve6.3里整合了backup server的服务,因此选择安装proxmox。


下载官方镜像就不说了,用rufus将镜像写入U盘,记得用DD模式单次写入U盘,不然在安装时引导程序无法找到pve的镜像。

将U盘插入机器,选择U盘引导并运行安装程序,立马报错[firmware bug the bios has corrupted hw-pmu resources vmware]。

经过各种爬文,这个错误出现在各类使用grub引导的系统,windows就没有这个错误。

影响范围包括部分Gen7的服务器和全部Gen8服务器。

处理方式:重启按F9进入bios设定,进去以后按下键盘的 Ctrl+A组合键,会显示隐藏菜单Services Options,进去以后找到Processor Power and Utilization Monitoring选项,将该功能Disable。

该BUG会影响Grub引导程序。


把这个处理掉后,重启,再次安装PVE,一路无报错。但是重启后找不到引导磁盘。

进BIOS各种翻,到处找设置,所有的启动设置和启动顺序都试过了,不起作用。

之前安装windows完全就没这些破事,hp对于linux的支持实在是太糟糕了。


最后在reddit上找到解决办法。

如果有多个阵列控制器和多个分区,引导程序无法自动识别出引导分区。

BIOS里的设置只能设定U盘、光盘和网络启动,这部分的设定要在阵列控制器里去设定。

也就是每次boot自检快结束之前,当安装有系统分区的那个阵列器在初始化时,按F5+F8进入这个阵列控制器的设定。将该阵列卡设定为引导阵列卡,并将装有系统的分区指定引导启动。才能正常引导grub启动。

而这个动作要快,因为阵列控制器都是最后初始化,完了就启动系统了。


而今年新买的Gen10的机器在安装linux就没有这个问题,HP之前的机器在linux上的支持和windows上的支持,差得不是一星半点。


就这两BUG,搞了好久,要不是有google,还真不知道折腾到啥时候。

如果用baidu的话,这活就没法干了。

评论

此博客中的热门博文

PVE安装Windows 11虚拟机 step by step

Win 11已经发布有两周多了,因为引进了tpm机制,只支持较新的设备安装,对于虚拟机的支持不高。 目前各个虚拟化平台针对win 11已经有对应的方案,今天来介绍一下PVE 7.0安装win 11虚拟机。 提前下载win11和virtio win 11的镜像。 win 11镜像下载这里就不说了,很多途径。 virtio的镜像在这里下载https://github.com/virtio-win/virtio-win-pkg-scripts,下载最新的virtio win iso。 新建和配置虚拟机 点击新建虚拟机 给虚拟机起名,然后下一步。 选择加载win 11镜像文件,系统类型选择windows。 系统配置这里: bios选择OVMF(UEFI);机器选择q35;勾选TPM,并选择TPM版本为v2.0;然后存储的位置选择同一个存储。 硬盘设备选择VirtIO,磁盘大小选择64G,32G其实也可以,但是微软要求最低64G。 设置CPU和内存,微软要求最低2核8G,这里我们给4核8G,因为是单节点,所以CPU类型勾选host。 配置网卡信息后继续。 这里不要勾选自动创建后启动,确认配置信息后点击完成。 到新建的虚拟机这里,新建光驱。 选择下载的驱动镜像,点击创建。 完成后点击启动。 启动后进入windows安装界面,这里照一般操作进行。 到安装类型这里选择 自定义安装。 到选择安装位置这里会无法显示硬盘信息,因为缺少驱动,点击加载驱动程序。 然后点击浏览。 选择驱动镜像下的amd64下的w10文件夹,点击确定。 加载驱动后磁盘控制器能够显示,点击下一页。 选中显示的磁盘后点击下一步进行安装。 文件复制完后会重启几次。 安装完成后会启动第一次配置界面。 输入账户信息后进行系统配置。 配置完成后进入桌面。 在设备管理器中有一些设备未能正确识别。 进入驱动镜像,运行virtio-win-ge-x64安装文件安装驱动。 安装完成后,所有设备都能正确识别。 至此win11虚拟机安装完成。

安装部署JumpServer

 最近遭遇一起云主机因安全防护措施不到位被安装挖矿程序的情况。 为提高云主机的安全性和考虑搭建一台跳板机来访问云主机以提高安全性。 目前主流且还在维护的JumpServer是比较好的解决方案,搭建一台JumpServer做测试。 这里使用ubuntu 20.04 lts作为OS。 安装操作系统后先修改软件仓库为国内163源。 sudo cp /etc/apt/sources.list    /etc/apt/sources.list.bak sudo nano /etc/apt/sources.list 注释掉原来的内容 添加网易源 #网易源 deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse 执行更新 sudo apt-g...

搭建Heimdall主页,方便管理内网服务器

现在越来越多的服务器都有web界面管理或是提供相关服务,为提高管理便利性,搭建Heimdall标签页来提高效率。 Heimdall是一个轻量化的标签服务,https://github.com/linuxserver/Heimdall,官方推荐使用docker-compose运行。 在pve上新建一个ubuntu的容器,然后安装docker-compose,容器安装这里不做描述,直接到环境部署。 先卸载旧版本docker apt-get remove docker docker-engine docker.io containerd runc 添加相关源 apt-get update 安装依赖件 apt-get install ca-certificates curl gnupg lsb-release 添加key curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null 安装docker apt-get update apt-get install docker-ce docker-ce-cli containerd.io 安装完成验证一下,pull一个hello-world的镜像 docker run hello-world 下载Docker Compose文件 curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /us...