Solaris10 x86镜像。 在发生故障时使第二张磁盘可以启动

在x86中安装了Solaris 10的镜像(RAID1)。 一切还好。 现在,我试图让第二个磁盘启动,这是:从grub或在disk1的故障的情况下。

我编辑了/boot/grub/menu.lst:

#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris 10 9/10 s10x_u9wos_14a X86 findroot (rootfs1,0,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive #---------------------END BOOTADM-------------------- #---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris failsafe findroot (rootfs1,0,a) kernel /boot/multiboot -s module /boot/amd64/x86.miniroot-safe #---------------------END BOOTADM-------------------- #---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris failsafe findroot (rootfs1,0,a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe #---------------------END BOOTADM-------------------- #Make second disk booteable!!!!!!! title alternate boot findroot (rootfs1,1,a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe 

但是不行。 在BIOS中,当我select“备用启动”时,我得到:

 Error 15: 15 file not found 

另外,如何configurationGRUB使disk2在disk1出错的情况下启动?

另外,我做了(但与GRUB无关):

 eeprom altbootpath=/devices/pci@0,0/pci108e,5352@1f,2/disk@1,0:a 

以下是可能帮助您的一些命令的输出:

 /sbin/biosdev 0x80 /pci@0,0/pci108e,5352@1f,2/disk@0,0 0x81 /pci@0,0/pci108e,5352@1f,2/disk@1,0 ls -l /dev/dsk/c1t?d0s0 lrwxrwxrwx 1 root root 50 Jul 7 12:01 /dev/dsk/c1t0d0s0 -> ../../devices/pci@0,0/pci108e,5352@1f,2/disk@0,0:a lrwxrwxrwx 1 root root 50 Jul 7 12:01 /dev/dsk/c1t1d0s0 -> ../../devices/pci@0,0/pci108e,5352@1f,2/disk@1,0:a more /boot/solaris/bootenv.rc setprop ata-dma-enabled '1' setprop atapi-cd-dma-enabled '0' setprop ttyb-rts-dtr-off 'false' setprop ttyb-ignore-cd 'true' setprop ttya-rts-dtr-off 'false' setprop ttya-ignore-cd 'true' setprop ttyb-mode '9600,8,n,1,-' setprop ttya-mode '9600,8,n,1,-' setprop lba-access-ok '1' setprop prealloc-chunk-size '0x2000' setprop bootpath '/pci@0,0/pci108e,5352@1f,2/disk@0,0:a' setprop keyboard-layout 'US-English' setprop console 'text' setprop altbootpath '/pci@0,0/pci108e,5352@1f,2/disk@1,0:a' cat /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - #/dev/dsk/c1t0d0s1 - - swap - no - /dev/md/dsk/d1 - - swap - no - /dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no - /devices - /devices devfs - no - sharefs - /etc/dfs/sharetab sharefs - no - ctfs - /system/contract ctfs - no - objfs - /system/object objfs - no - swap - /tmp tmpfs - yes - df -h Filesystem size used avail capacity Mounted on /dev/md/dsk/d0 909G 11G 889G 2% / /devices 0K 0K 0K 0% /devices ctfs 0K 0K 0K 0% /system/contract proc 0K 0K 0K 0% /proc mnttab 0K 0K 0K 0% /etc/mnttab swap 14G 972K 14G 1% /etc/svc/volatile objfs 0K 0K 0K 0% /system/object sharefs 0K 0K 0K 0% /etc/dfs/sharetab /usr/lib/libc/libc_hwcap1.so.1 909G 11G 889G 2% /lib/libc.so.1 fd 0K 0K 0K 0% /dev/fd swap 14G 40K 14G 1% /tmp swap 14G 28K 14G 1% /var/run 

在x86系统上,必须告诉BIOS在引导到grub之前使用第二个磁盘。 这可以在ILOM中根据http://docs.oracle.com/cd/E19860-01/E21549/z40015871020900.html完成,也可以按F2键(或者如果通过串行控制台执行此操作,则按CTRL-e)在启动时inputBIOS设置。

在Solaris的一面,你不需要menu.lst中的任何特殊条目来从备用磁盘引导。 你得到的错误意味着grub无法在分区2上find启动签名rootfs1 ,切片a (根分区),这可能是你不想做的事情。 findroot的第二个参数不是驱动器号,而是分区号(从0开始)。

现在,如果要从主磁盘启动grub,然后使用它从备用磁盘启动系统,则可以使用menu.lst中的root命令,该命令允许您设置一个驱动器(从http: //it.toolbox.com/wiki/index.php/Solaris_x86_root_filesystem_mirroring ):

 title alternate boot root (hd1, 0, a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe