BigAdmin System Administration Portal
在同一个硬盘上安装多个版本的Solaris OS (适用平台:X86 / SPARC )
Print-friendly VersionPrint-friendly Version

William Xue, October 2007

对于Solaris上工作的开发者和测试者来说,经常需要在不同的Solaris OS版本上工作。但是,并非每个人都能那么幸运的拥有很多台机器,满足你在每个机器上分别装一个版本的Solaris的愿望,尤其是SPARC的机器,更是属于稀少资源。然而,你却可以将多个版本的Solaris都装在同一台机器的同一个或多个硬盘上。

本文将讲述如何在同一个硬盘上安装多个版本的 Solaris OS。在这个例子中,笔者详细讲述了如何安装三个不同版本的Solaris: Solaris 9, Solaris 10, 以及Solaris Nevada (即Solaris Developer Express Edition/SXDE)

实际上,使用本文讲述的方法,你也可以安装同一个版本Solaris的不同build,例如: Nevada Builds 55, 66, and 73。或者你也可以干脆安装同版本的Solaris三个拷贝。又或者安装2个到5个Solaris。当然这需要你灵活运用本文描述的方法。

分区Slices和安装Solaris 9 OS

1. 使用安装光盘启动机器开始安装Solaris 9 :

  • SPARC 平台, 按下 Stop-A, 进入OK 模式,然后键入 boot cdrom.
  • x86平台,直接进入 GRUB 界面进行交互安装。(注意:如果你第一次安装分区的是 Soalris Nevada build 70 之后的版本,必须选择 Soalris Express installstion 。)

2. 选择交互安装:Interactive Installation.

3. 在安装过程中,当到达提问是手动分区布局还是自动分区布局时,选择手动,并选择编辑

4. 划分slices, 例如对于一个80G的硬盘,可以进行如下的布局:(这里的Slice名以SPARC 平台为例):

  • c0t0d0s0 -- 25-Gbyte / (We will use this for the Solaris 9 OS.)
  • c0t0d0s1 -- 2-Gbyte swap
  • c0t0d0s2
  • c0t0d0s3 -- 20 Gbytes for the Solaris 10 OS
  • c0t0d0s4 -- 20 Gbytes for Nevada
  • c0t0d0s5
  • c0t0d0s6
  • c0t0d0s7 -- 10-Gbyte /sharedspace

注意:对于SPARC 平台, slice 名字形式为 cXtXdXsX. 而对于x86平台, slice名字的形式为cXdXsX。注意没有“t0”,所以在本文中“t0”都用斜体字表示。

5. 为了在后面的安装中节省时间,也可以将分区名字起为将要安装在其上的OS的名字。 (例如, 如果你想在某分区安装Solaris 10 OS , 你可以将分区名起为"/S10"。)

安装Solaris 10 OS

1. 利用光盘启动Solaris Express 安装程序。

2. 选择交互安装:Interactive Installation.

3. 当到达提示选择安装硬盘时,选择之前已经安装Solaris OS 9的那块硬盘。

4. 到达保留数据屏(Preserve Data)时,选择保留(Preserve)。

5. 重命名根slice c0t0d0s0,由 (/) 改为 to /S9 ,并选择保留slice c0t0d0s0 的数据。这样在slice0安装的Solaris 9 就不会被覆盖。

注意: 也可以选择保留swap slice(见第7步注解)。但是,如果你想要装三个以上的Solaris时,不能选择保留swap slice,这样是为了多个SolarisOS 可以共享一个swap slice的空间而节省出slice来安装Solairs OS的数据。本文示例不保留swap slice。

6. 继续向前,选择手动硬盘布局(Manual Layout), 然后进行定制(customize)。

7. 在Solaris 9 OS 安装过程中,为Solaris 10 OS分配了slice3 (c0t0d0s3)。指定swap空间的大小与Solaris 9 OS同样大小(2 Gbytes)。

注意: 如果在第4步你选择了保留swap slice,那么不必一定指定同Solaris OS 9同样大小的swap空间。但是使用同样大小的swap可以使多个Solaris OS之间共享一个swap slice。

8. 在定制屏,指定slice3为根(/),大小设置同之前分配给slice 3的大小(20 Gbytes)。

9. 在slice 7 (c0t0d0s7)定义 /sharedspace ,大小与先前安装Solaris OS 9时分配给slice7 的大小一样(10 Gbytes)。通过这一步,可以使得在Solaris 10 OS 中向/sharedspace中写入的数据,在重启动进入Solaris 9 OS后,仍然存在并且可以自由访问反之亦然。

10. 继续其他的步骤,完成Solaris 10 OS的安装。

安装Solaris Nevada

1. 使用与安装Solaris 10 OS 时同样的方法定制硬盘的布局。不同之处在于:这次需要同时选择保留(preserve)slice 0 (Solaris 9 OS) 和 slice 3 (Solaris 10 OS),因而,需要重命名slice0 code class="small">c0t0d0s3,名字由根(/) 变为/S9;需要重命名 slice3 code class="small">c0t0d0s3 ,名字由根(/) 变为/S10

2. 指定swap空间的大小与先前两个OS的大小一样都为(2 Gbytes)。

3. 定制slice4(c0t0d0s4)作为根的大小,与前面分配指定的大小一致。(20 Gbytes)

4. 在slice 7 (c0t0d0s7)定义 /sharedspace ,大小与先前安装Solaris OS 9时分配给slice7 的大小一样(10 Gbytes)。

为各个Solaris OS创建Boot别名

1. 为各个版本的Solaris OS创建启动时使用的别名。对于x86平台,使用的是GRUB,,而对于SPARC平台,则使用的是OpenBoot PROM (OBP) 。具体的方法如下描述:

x86 平台:

a. 使用最后安装的Solaris OS启动机器,在本文中是Solaris Nevada。

b. 使用root登录进入系统。

c. 然后修改/boot/grub/menu.lst,在文件末尾加入如下的内容:

title Solaris 9
	root (hd0,0,a)
	kernel$ /platform/i86pc/kernel/$ISADIR/unix
	module$ /platform/i86pc/$ISADIR/boot_archive
title Solaris 10
	root (hd0,0,d)
	kernel$ /platform/i86pc/kernel/$ISADIR/unix
	module$ /platform/i86pc/$ISADIR/boot_archive

d. 重新启动,然后可以在GRUB的菜单里选择你想要启动的Solaris 版本。

SPARC 平台:

a. 启动机器,按Stop-A进入OBP模式。

b. 列出所有的设备:

OK>show-disks

c. 选择你的启动设备。

d. 为各个启动slice设定别名:

OK>nvalias  s9  ^ydevicepath/disk@0,0,a
OK>nvalias  s10  ^ydevicepath/disk@0,0,d
OK>nvalias  Nevada  ^ydevicepath/disk@0,0,e

注意^y 含义为按下 Ctrl-Y,这样可自动显示出硬盘设备的路径。当然你也可以自己手工输入。

例如,在我的机器上是按如下命令建立启动别名的:

OK>nvalias  s9  /pci@1e,600000/ide@d/disk@0,0,a
OK>nvalias  s10  /pci@1e,600000/ide@d/disk@0,0,d
OK>nvalias  Nevada  /pci@1e,600000/ide@d/disk@0,0,e

e. 设置启动环境变量:

OK>setenv boot-device  s9  s10  Nevada  net
OK>setenv diag-device  s9  s10  Nevada  net

f. 重新启动系统。

g. 现在在OK模式中,通过键入以下命令可以选择你想要启动的:

OK>boot s9

or

OK>boot s10

or

OK>boot nevada

注意: 启动设备别名是大小写不敏感的,它将所有的大写字母都看作是小写。所以在 boot 命令后的别名都必须是小写的形式。例如,如果你创建了以下的别名:

OK>nvalias  S10_U4  /pci@1e,600000/ide@d/disk@0,0,d

那么必须键入下面的命令才能启动:

OK>boot  s10_u4

Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub