【发布时间】:2023-03-14 08:42:02
【问题描述】:
在测试服务器上有两个三星 960 Pro SSD,制造商、型号和尺寸完全相同。在两者上,我都安装了完全相同的操作系统 OmniOS r15026 的全新安装。
通过在 POST 时按 F8,我可以访问主板 BOOT 管理器,并选择两个引导驱动器之一。因此,我知道系统是从哪一个启动的。
但是如何在启动后以编程方式知道哪个是启动盘?
好像是:
Solaris/illumos 是否提供了一些内省挂钩来确定哪个是引导盘?
是否可以通过编程方式确定哪个是 Solaris/illumos 上的引导盘?
命令行工具也可以。
编辑1:感谢@andrew-henle,我知道了命令eeprom。
正如预期的那样,它是available on illumos,但不幸的是,在带有 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.
OmniOS r15026 上的解决方案
感谢@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 考虑这一点并提供指导性帮助。
【问题讨论】:
标签: unix command-line-interface solaris boot