确实如此,换了个老一点的solaris10,单用户能看到硬盘了。
原因难道是BIOS版本太老? #boot cdrom -s
....
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c1t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w500000e010952ff1,0
1. c1t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w21000000871a3623,0
2. c1t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w500000e010951af1,0
3. c1t3d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w2100000c50f75f09,0
4. c1t4d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w500000e01097e481,0
5. c1t5d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w500000e010953fa1,0
Specify disk (enter its number): ^C
#
# mount /dev/dsk/c1t0d0s0 /a
NOTICE: alloc: /a: file system full
/a: No space left on device
Could not enable logging for /a on /dev/dsk/c1t0d0s0.
# df -h
Filesystem size usedavail capacityMounted on
/pci@8,700000/scsi@1/disk@6,0:b
140M 127M 0K 100% /
/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 7.7G 344K 7.7G 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
swap 7.7G 768K 7.7G 1% /tmp
/tmp/dev 7.7G 768K 7.7G 1% /dev
fd 0K 0K 0K 0% /dev/fd
/devices/pci@8,700000/scsi@1/sd@6,0:a
4.0G 4.0G 0K 100% /cdrom
/cdrom/Solaris_10/Tools/Boot/usr
4.0G 4.0G 0K 100% /usr
/platform/sun4v/lib/libc_psr/libc_psr_hwcap1.so.1
140M 127M 0K 100% /platform/sun4v/lib/libc_psr.so.1
/platform/sun4v/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1
140M 127M 0K 100% /platform/sun4v/lib/sparcv9/libc_psr.so.1
swap 7.7G 0K 7.7G 0% /tmp/root/var/run
/dev/dsk/c1t0d0s0 7.9G 541G 0K 100% /a# cd /a
# # fsck -y /dev/rdsk/c1t0d0s0
FILE SYSTEM IS CURRENTLY MOUNTED.CONTINUE?yes
** /dev/rdsk/c1t0d0s0
BAD SUPER BLOCK: NUMBER OF DIRECTORIES OUT OF RANGE
USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;
eg. fsck [-F ufs] -o b=#
where # is the alternate super block. SEE fsck_ufs(1M).
# newfs -N /dev/rdsk/c1t0d0s0
/dev/rdsk/c1t0d0s0: 30721344 sectors in 3019 cylinders of 24 tracks, 424 sectors
15000.7MB in 302 cyl groups (10 c/g, 49.69MB/g, 6016 i/g)
Warning: 4800 sector(s) in last cylinder unallocated
/dev/rdsk/c1t0d0s0: 30721344 sectors in 5001 cylinders of 48 tracks, 128 sectors
15000.7MB in 313 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,
Initializing cylinder groups:
......
super-block backups for last 10 cylinder groups at:
29792160, 29890592, 29989024, 30087456, 30185888, 30284320, 30382752,
30481184, 30579616, 30678048
# # fsck -y -o b=30185888 /dev/rdsk/c1t0d0s0
Alternate super block location: 30185888.
FILE SYSTEM IS CURRENTLY MOUNTED.CONTINUE?yes
** /dev/dsk/c1t0d0s0
BAD SUPER BLOCK: NUMBER OF DIRECTORIES OUT OF RANGE
USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;
eg. fsck [-F ufs] -o b=#
where # is the alternate super block. SEE fsck_ufs(1M).
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0
反正能想到的操作都做了,超级块坏了?还是硬盘坏了? 我估计操作系统没坏,只是引导分区坏了。可以用# cd /usr/platform/`uname -m`/lib/fs/ufs# installboot bootblk /dev/rdsk/c0t0d0s0来修复引导分区。
如果系统无法识别硬件了,可以在ok下输入boot -r, 刷新硬件树,或者在#下面reboot -- -r。
而且你还有个什么问题,fsck一定不能在设备mount的时候进行,会造成数据丢失,切记。 回复 11# zhouwei4479
solaris 好像叫 PROM或者OBP。管他呢。 回复 12# zhouwei4479
光盘单用户之后,直接iostat-En 看系统盘是否又硬错误,很多的话,肯定就不能用了。看是否有镜像盘,有的话,先用镜像盘启动系统,然后再处理故障。 杯具了
页:
1
[2]