gpt4 book ai didi

unix - 如何以编程方式确定哪个是 Solaris/illumos 上的引导磁盘?

转载 作者:行者123 更新时间:2023-12-02 00:33:24 25 4
gpt4 key购买 nike

在测试服务器上有两个三星 960 Pro SSD,完全相同的制造商、型号和大小。在两者上,我都安装了完全相同的操作系统 OmniOS r15026 的全新安装。

在 POST 时按 F8,我可以访问主板 BOOT 管理器,并选择两个引导驱动器之一。因此,我知道系统从哪个启动。

但是如何以编程方式知道启动后哪个是启动盘?

好像是:

Solaris/illumos 是否提供一些内省(introspection) Hook 来确定哪个是引导磁盘?

是否可以通过编程方式确定哪个是 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 考虑这一点并提供指导性帮助。

最佳答案

找到启动系统的设备的最佳方法是检查 prtconf -vp 输出:

# /usr/sbin/prtconf -vp | grep bootpath
bootpath: '/pci@0,600000/pci@0/scsi@1/disk@0,0:a'

关于unix - 如何以编程方式确定哪个是 Solaris/illumos 上的引导磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50853269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com