HP ProLiant MicroServer Gen8使用Super GRUB2 Disk从TF卡启动光驱位安装的Debian 8.3
source link: https://vps.la/2023/10/06/hp-proliant-microserver-gen8%e4%bd%bf%e7%94%a8super-grub2-disk%e4%bb%8etf%e5%8d%a1%e5%90%af%e5%8a%a8%e5%85%89%e9%a9%b1%e4%bd%8d%e5%ae%89%e8%a3%85%e7%9a%84debian-8-3/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
简介
MicroServer Gen8属于HPE(Hewlett Packard Enterprise,惠普企业级产品)而不是HP,MicroServer Gen8的支持页面(如驱动下载)在HPE,官网首页是http://www.hpe.com,不是http://www.hp.com。
HPE大约从2015年起变更了服务支持策略,普通驱动可以无限制下载,但是BIOS、SPP更新等可能需要用主机序列号注册、且在主机质保期内方能下载,超期就只能等待别人搬运分享了。
MicroServer Gen8在AHCI模式时,五个SATA和普通主板的功能一样,唯一不同的是MS G8的BIOS不能选择用哪个硬盘启动。
它会尝试从SATA1引导,如果SATA1没有连接硬盘,则尝试从SATA2引导,以此类推。
可是SATA1~4是硬盘笼子;通常人们都是将4个3.5寸仓库盘放到笼子里面;然后通过SATA5连接一个2.5寸硬盘(放置在9.5mm光驱位置)做系统盘。当五个硬盘都连接时,BIOS仅尝试从SATA1引导,结果出现引导失败。
解决方法就是通过安装一个U盘或MicroSD卡,从而间接引导SATA5接口上的系统盘。
网上给出的方法都是引导Windows系统的,而我们安装的如果是Linux系统的话,则无法简单的使用这些方法来引导系统的。
自己探索了一下,通过使用Rufus来使用并且修改Super GRUB2 Disk的方式来启动Debian的方法。
解决方法
1.安装Debian Linux系统
只插上光驱位置上的硬盘,然后安装Debian Linux系统,只有这样,才能正常安装系统,否则会出现无法安装到正确的磁盘上面。
2.开启SATA AHCI模式
通过 Intelligent Provisioning安装根本就找不到 tf卡(在 bios中可以把默认的 Dynamic HP Smart Array改成 SATA AHCI模式后就可以顺利安装了,但这样 raid功能也没了)
3.下载必须的软件
下载Super GRUB2 Disk最新的镜像文件,官网为http://www.supergrubdisk.org/,一定要下载hybrid
版本。
下载Rufus最新的版本,官网地址为https://rufus.akeo.ie/
也可以在本网站下载我使用的版本Super GRUB2 Disk,rufus-3.10
4.安装Super GRUB2 Disk到SD卡
按照下图的步骤处理:
如果使用2.8.x版本,参考下图(注意,如果使用最新的2.0.4版本的Super GRUB2 Disk,只能使用3.11.x版本的Rufus)
Rufus 2.8.886
只有如下选项才能保证可以在Windows中可以正常访问修改Super GRUB2 Disk已经安装到SD卡上的内容。
如果使用3.10.x版本(已知Rufus 3.11.1678
写入的数据无法引导系统,只能使用3.10.x
版本),参考下图
Rufus 3.10.1647
只有如下选项才能保证可以在Windows
中可以正常访问修改Super GRUB2 Disk
已经安装到SD
卡上的内容。
5.增加Gen8的启动配置文件
在刻录好的SD卡的\boot\grub
(Super GRUB2 Disk 2.02)或者\boot\grub\sgd
(Super GRUB2 Disk 2.04)目录下创建一个名为Gen8.cfg
的配置文件,内容如下:
# Super Grub Disk - Gen8.cfgset option_title=$"Gen8"function run_option {echo "Starting Gen8 ..."#for uuid#search --set=root --fs-uuid 763A-9CB6#for filesearch --set=root --file /boot/grub/grubenvset prefix=(${root})/boot/grubnormal
一般建议是通过指定磁盘的uuid
的方法来启动系统,如果能够确定系统磁盘上存在一个唯一的文件,也可以通过简单的指定文件的方法来让GRUB2
来搜索的方式找到启动磁盘。
对于 Super GRUB2 Disk 2.02
修改\boot\grub\main.cfg
,在process_main_option "${prefix}/language_select.cfg"
这行代码下面增加process_enable "${prefix}/Gen8.cfg" rootmenu
对于 Super GRUB2 Disk 2.04
修改\boot\grub\sgd\main.cfg
,在process_main_option "${sg2d_directory}/language_select.cfg"
这行代码下面增加process_enable "${sg2d_directory}/Gen8.cfg" rootmenu
并且打开被注释掉的set timeout=10
项目,让系统自动启动,否则需要手工点击一下回车。
修改后的内容如下:
Super GRUB2 Disk 2.02 main.cfg
6.插上SD卡,断电,然后冷重启
7.常见问题
注意:如果安装升级的是ubuntu 20.04.1
,系统启动的时候,会出现error: symbol 'grub_calloc' not found
。
如下图:
但是奇怪的是,如果在系统启动的时候选择Detect and show boot methods
,显示出的任何菜单,都可以正常启动系统,如下:
这个问题是因为ubuntu 20.04.1
系统使用的是新版本的grub2
引导系统,启动配置信息需要进行调整,修改我们创建的\boot\grub\Gen8.cfg
(Super GRUB2 Disk 2.02)或者\boot\grub\sgd\Gen8.cfg
(Super GRUB2 Disk 2.04),内容调整为如下:
# Super Grub Disk - Gen8.cfgset option_title=$"Gen8"function run_option {echo "Starting Gen8 ..."#for uuid#search --set=root --fs-uuid 763A-9CB6#for fileinsmod xfssearch --set=root --file /boot/grub/grubenvconfigfile /boot/grub/grub.cfg
参考链接
原文链接:https://www.mobibrw.com/2016/4172
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK