Solaris 常见问题( 三 )


第1步 插入一个启动光盘(SOLARIS 安装盘)STOP A,然后 boot cdrom –s 。如果用外置光驱,就需要probe-scsi-all列出光驱位置,然后boot <光驱路径> -s 。系统起来之后,就有了一个不需要口令的超级用户窗口 。
第2步 开始mount硬盘 。首先用devfsadm重新建立设备,在/dev/dsk下面会有8个新文件 。接下来使用format-print-partition确认盘已经装好,并找出来哪个分区是root分区,通常都是0区。假设盘插到2槽,format会识别到c1t2d0(SCSI ID是2,第1个控制器),c1t2d0s0就是root分区,因此应该ount这个盘,fsck –Y /dev/rdsk/c1t2d0s0;mldir /tmp/disk;mount /dev/dsk/c1t2d0s0 /tmp/disk
第3步 首先清楚/tmp/etc/shadow里面的root后面的加密内容清空,然后查看/tmp/etc/vfstab里面看看该盘是不是第2槽的,如果是,/应该mount在/dev/dsk/c1t2d0s0,如果不是,就把硬盘插到相应的槽里面 。
第4步 假设在/tmp/etc/vfstab里面看到的是/dev/dsk/c1t2d0s0,这说明在原来的系统里面启动盘就是第2槽,一般,E450会从第1槽启动(c1t0d0s0) 。在/dev/dsk里面找到并记下来c1t0d0s0指向的物理设备文件名 。
第5步 reboot,STOP A,输入:boot <物理设备文件名> 。
第6步 定义别名,nvalias my disk <物理设备文件名>,这样就可以输入boot mydisk就可以启动了 。定义setenv boot-device mydisk,系统就会自动从mydisk启动了 。
2.5 Removable Devices
2.5.1 Volume Management(卷管理)
可移动设备由卷管理器来负责,卷管理器检测CD-ROM并自动挂接到/cdrom/cdrom0下面 。一些手工操作会造成卷管理器错误,比如使用曲别针打开光驱,而不是使用eject cdrom命令 。只这时候需要手工重起卷管理器.
/etc/init.d/volmgt stop
/etc/init.d/volmgt start
2.5.2 软驱
插入软盘(Unix或Dos格式)必须使用volcheck才能使用卷管理器管理软驱 。如果volcheck成功,软驱会出现在/floppy/floppy0下面,使用eject floppy而不手工取出软盘 。
2.5.3 CD-ROM
CDROM不需要volcheck,开机就会被检测到,并挂接在/cdrom/cdrom0下面,没有shell或命令使用/cdrom路径时可以使用eject cdrom弹出光驱,fuser –c /cdrom/cdrom列出所有和光驱有关的进程ID或命令,fuser –k可以快速杀掉相关进程 。
如果没有卷管理器,使用下面的方法管理CDROM(假设SCSI地址是6):
- mkdir /tmp/cdrom
- mount -F hsfs /dev/dsk/c0t6d0s0 /tmp/cdrom
- (Work with CD mounted on /tmp/cdrom)
- umount /tmp/cdrom
- eject /dev/dsk/c0t6d0s0
2.5.4 CD-R 和 CD-RW
CDRW,是一个与solaris 8 捆绑的工具,用来烧制CD-R或者CD-RW介质 。这个工具也可以烧制用命令mkisofs从solaris文件系统和目录中创建的ISO镜象文件 。
看下面带精确参数的例子:

#! /bin/sh
# ./nfscd
# PARAMETER1 = Application ID
# PARAMETER2 = from where
#
# ./nfscd SunNetManager /net/center2000/export/pkg/SUNWsnm
# set Umask
umask 022
# Remove old image
rm /data/disk.img
# Create image
mkisofs -A $1 -d -l -L -o /data/disk.img -P "Sun Microsystems" -p
"Solaris SPARC" -r -R -J -V "$1" -v $2
# Burn
cdrw -i /data/disk.img

2.5.5 磁带
磁带设备不是用卷管理器来控制的,它们必须用命令tar来处理 。典型的磁带设备被作为一个外部SCSI设备连接到系统 。当solaris OE 运行时它们的连接和配置就已经被完成了,在运行以前版本的solaris命令devfsadm(solaris 8 OE) 或者drvconfig; tapes;devlinks,你能找到一些逻辑的连接在/dev/rmt 目录 。0描述的是第一个磁带设备,1是第二个磁带设备 。
通过以上,你就可以访问这个磁带,用命令 tar tvf /dev/rmt/0.
注意:SGI系统写入的磁带通常只能用特定的块因子(blocksize)来读
tar tvfb 512 /dev/rmt/0
在某些情况下,需要进行字节交换操作,才能正确读取
dd if=/dev/rmt/0 conv=swab | tar tvfb 512 -

推荐阅读