在测试服务器上有两个三星960 Pro SSD,完全相同的制造商,型号和尺寸。我已经安装了完全相同操作系统OmniOS r15026的全新安装。
在POST时按F8,我可以访问主板BOOT管理器,并选择两个启动驱动器中的一个。因此,我知道系统启动了哪一个。
但是如何在启动后以编程方式知道启动盘?
似乎是:
Solaris / illumos是否提供了一些内省的钩子来确定哪个是启动盘?
是否可以通过编程方式确定哪个是Solaris / illumos上的启动盘?
命令行工具也可以。
编辑1:感谢@ andrew-henle,我来了解命令eeprom
。
正如预期的那样,它是Possible on macOS,但是在测试服务器上使用OmniOS不幸的是它并没有多少回报:
root@omnios:~# eeprom
keyboard-layout=US-English
ata-dma-enabled=1
atapi-cd-dma-enabled=1
ttyd-rts-dtr-off=false
ttyd-ignore-cd=true
ttyc-rts-dtr-off=false
ttyc-ignore-cd=true
ttyb-rts-dtr-off=false
ttyb-ignore-cd=true
ttya-rts-dtr-off=false
ttya-ignore-cd=true
ttyd-mode=9600,8,n,1,-
ttyc-mode=9600,8,n,1,-
ttyb-mode=9600,8,n,1,-
ttya-mode=9600,8,n,1,-
lba-access-ok=1
root@omnios:~# eeprom boot-device
boot-device: data not available.
感谢@abarczyk,我能够确定正确的启动盘。
我必须使用稍微不同的语法:
root@omnios:~# /usr/sbin/prtconf -v | ggrep -1 bootpath
value='unix'
name='bootpath' type=string items=1
value='/pci@38,0/pci1022,1453@1,1/pci144d,a801@0/blkdev@w0025385971B16535,0:b
使用/usr/sbin/format
,我能够看到条目对应
16. c1t0025385971B16535d0 <Samsung-SSD 960 PRO 512GB-2B6QCXP7-476.94GB>
/pci@38,0/pci1022,1453@1,1/pci144d,a801@0/blkdev@w0025385971B16535,0
这是正确的,因为那是我在BIOS中手动选择的磁盘。
非常感谢@abarczyk和@ andrew-henle考虑这一点并提供有益的帮助。
答案 0 :(得分:2)
查找从中引导系统的设备的最佳方法是检查prtconf -vp输出:
# /usr/sbin/prtconf -vp | grep bootpath
bootpath: '/pci@0,600000/pci@0/scsi@1/disk@0,0:a'
答案 1 :(得分:1)
使用eeprom
命令。
<强>描述强>
eeprom
显示或更改EEPROM中参数的值。 它按给定的顺序处理参数。处理时 带有值的参数,eeprom
表示 改变EEPROM;否则,它显示参数&#39; s 值。如果没有给出参数说明符,eeprom将显示这些值 所有EEPROM参数。 A&#39; - &#39; (连字符)标志指定 参数和值将从标准输入读取(一个 参数或参数=每行的值。)只有超级用户才能改变EEPROM内容。
eeprom
验证EEPROM校验和,如果存在则进行投诉 不正确。
platform-name
是平台实现的名称,可以 使用–i
的{{1}}选项找到。<强> SPARC 强>
基于SPARC的系统实现固件密码保护 eeprom,使用
uname(1)
,security-mode
和security-password
属性。<强> 86 强>
使用驻留在中的文件模拟EEPROM存储 特定于平台的引导区域。
security-#badlogins
文件 模拟EEPROM存储。因为基于x86的系统通常在其中实现密码保护 系统BIOS,不支持密码保护
/boot/solaris/bootenv.rc
计划。虽然可以设置eeprom
, 基于x86的security-mode
和security-password
属性 系统,这些属性在x86上没有特殊含义或行为 基于系统。
答案 2 :(得分:1)
在我的Solaris 11.4 Beta
系统上,有一个非常有用的命令叫做devprop
,它可以帮助回答您的问题:
$ devprop -s bootpath
/pci@0,0/pci1849,8c02@1f,2/disk@1,0:b
然后,您只需要查看format
的输出以查看其含义。在我的系统上,即
9. c2t1d0 <ATA-ST1000DM003-1CH1-CC47-931.51GB>
/pci@0,0/pci1849,8c02@1f,2/disk@1,0