分享
 
 
 

Unix编程/应用问答中文版---5.块设备相关问题

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

作者:不祥 [文章出自: www.fanqiang.com]

5. 块设备相关问题

5.1 CDROM设备究竟在哪里

5.2 如何弹出光驱

5.3 如何利用超级块进行恢复工作

5.4 Solaris Root口令忘记了

5.5 如何使用fmthard

5.6 如何从光盘恢复Solaris 7的引导扇区

5.7 Solaris支持类似微软autorun.inf文件的功能吗

5.8 如何修改/dev/null的属性

5.9

5.10 如何自己制作Solaris启动软盘

5.11 x86/Solaris如何访问FAT32分区

--------------------------------------------------------------------------

5. 块设备相关问题

5.1 CDROM设备究竟在哪里

Q: 为了mount光驱,需要哪些包

A: SUNWvolr SUNWcstl SUNWcstlx

D: Dennis Clarke <dclarke@blastwave.com>

1) su - root

2) /etc/init.d/volmgt stop

3) ls -1 /dev/dsk/c*s2

4) mount -F hsfs -o ro /dev/dsk/c0t6d0s2 /cdrom

或者

1) /etc/init.d/volmgt stop

2) /etc/init.d/volmgt start

3) volcheck

4) eject

观察/etc/vold.conf

Q: 如何才能知道哪个设备文件对应CDROM(c0t2d0s0?)。如果有一张光盘在CDROM里,

可以用df命令看到对应的设备文件,但是没有光盘在光驱里的时候呢?

A: /dev/sr0 是一个指向最终设备文件的符号链接,仅对SPARC有效,不包括x86

A: Logan Shaw <logan@cs.utexas.edu>

$ uname -sri

SunOS 5.8 i86pc

$ ls -l /dev/sr*

lrwxrwxrwx /dev/sr0 -> dsk/c1t0d0s2

$

我想x86下是一样的

Q: E420R,Solaris 7 11/99,我从http://sunsolve.sun.com获得一些补丁并安装了,

结果现在我的光驱出问题了。似乎mount成功了,但是找不到文件,/etc/mnttab

中没有任何有关光驱的信息,插入一张光盘会弹出一个文件管理器窗口,但是没

有文件。

A: Danny Mann <dma@wwa.com>

检查是否打了如下Solaris 7内核补丁106541-13和 -14。这两个补丁有问题。解

决办法是禁止vold,手工mount光驱。

A: rschicht@my-deja.com <rschicht@my-deja.com>

试试volrmmount -d命令。用patchadd -p检查是否安装了补丁106541-14,访问如

下链接

http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access

获取补丁106541-14的说明,阅读NOTE 15。

A: 补丁106541-14的说明,NOTE 15

1. 首先禁止掉vold守护进程

# /etc/init.d/volmgt stop

2. 手工mount光驱(设备文件名可能不同)

# /etc/mount -F hsfs -o ro /dev/dsk/c0t2d0s0 /cdrom

查看/etc/vfstab、/dev/dsk确认光驱所在设备文件名。

5.2 如何弹出光驱

Q: 在安装Oracle 8i时,系统提示插入第二张光盘,但是此时无法成功eject第一张

光盘,终端挂起,杀掉Oracle 8i的安装进程也无济于事。唯一的办法是reset。

A: Sergey Kurganov <mmerfi@home.com>

下面的操作或许有所帮助

1) 终止卷管理器

# /etc/init.d/volmgt stop

2) unmount光驱,手动eject

3) 重启卷管理器

# /etc/init.d/volmgt start

D: plane@smth.org 2002-02-26 01:03

装Oracle 9的时候,安装文档特意提醒要用绝对路径才能换盘。

5.3 如何利用超级块进行恢复工作

Q: Sun工作站在reboot时掉电了,用安装光盘启动进入单用户模式,执行fsck命令时

报错

Stop-A

ok boot cdrom -s

INIT: SINGLE USER MODE

# fsck -o b=32 /dev/rdsk/c0t5d0s*

Alternate super block location: 32.

** /dev/rdsk/c0t5d0s0

BAD SUPER BLOCK: MAGIC NUMBER WRONG

USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;

eg. fsck [-F ufs] -o b=# [special ...]

where # is the alternate super block. SEE fsck_ufs(1M).

Alternate super block location: 32.

** /dev/rdsk/c0t5d0s1

BAD SUPER BLOCK: MAGIC NUMBER WRONG

USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;

eg. fsck [-F ufs] -o b=# [special ...]

where # is the alternate super block. SEE fsck_ufs(1M).

Alternate super block location: 32.

** /dev/rdsk/c0t5d0s2

BAD SUPER BLOCK: MAGIC NUMBER WRONG

USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;

eg. fsck [-F ufs] -o b=# [special ...]

where # is the alternate super block. SEE fsck_ufs(1M).

Alternate super block location: 32.

A: Sree Mokkapati <sree@broadcom.com>

正确的用法就在错误提示信息里,你应该使用另外的超级块进行恢复工作,32仅

仅是常用备份超级块之一。

fsck -F ufs -o b=32 device_name

此外如果想知道还有哪些备份超级块可用,执行

newfs -Nv device_name

先用df等命令确认原始device_name。

D: scz <scz@nsfocus.com> 2001-10-12 17:01 修订

SPARC/Solaris的硬盘损坏多半是文件系统根区被破坏,并不需要拆卸硬盘到其他

机器上mount后fsck,找一张Solaris安装光盘

Stop-A进入OBP状态,在ok提示符下输入

ok> boot cdrom -s

进入单用户模式。此时原有根文件系统并未mount上来,也不需要mount原有根文

件系统,直接

newfs -Nv /dev/rdsk/c0t0d0s0

找出原根文件系统所有备份超级块号

fsck -y -F ufs -o b=<任一备份超级块号> /dev/rdsk/c0t0d0s0

这里假设原根文件系统的原始设备名是/dev/rdsk/c0t0d0s0。其他文件系统的原

始设备名可以在系统完好时 df -k 获取,或者从/etc/vfstab中获取信息。比如

/dev/rdsk/c0t0d0s0 /

/dev/rdsk/c0t0d0s6 /usr

/dev/rdsk/c0t0d0s7 /export/home

vfstab(4)解释得很模糊,回头我上www.google.com去找找其他资料。

The fsck pass value of 2 means that the file system will be checked,

but not sequentially

5.4 Solaris Root口令忘记了

Q: 忘记了root口令,怎么办

A: Steve Menard <opsmaster@yahoo.com>

启动时按Stop-A进入ok提示符

ok boot cdrom -s (放入启动安装光盘)

mount /dev/dsk/c0t0d0s0 /mnt (这里指定原根区对应的原始设备名)

TERM=vt100;export TERM

vi /mnt/etc/shadow

删除root口令加密串,比如

root:WxzL460hohWsU:10724::::::

删除WxzL460hohWsU,确认你还有8个冒号,重启动

或者 /usr/sbin/reboot -- "cdrom -s"

A: Philip Brown <phil+s3@bolthole.no-bots.com>

使用vi有很多麻烦的地方,可以考虑sed

mount /dev/dsk/c0t0d0s0 /mnt

sed 's/:WxzL460hohWsU:/::/' /mnt/etc/shadow > s

mv s /mnt/etc/shadow

或者使用ed

mount /dev/dsk/c0t0d0s0 /mnt

ed /mnt/etc/shadow

1s/root:[^:]*:/root::/ (注意,前面是1,不是l)

w

q

5.5 如何使用fmthard

A: Seán Boran <sean@boran.com>

如果希望对第二块物理硬盘的分区与第一块物理硬盘一样,考虑fmthard和prtvtoc的

结合使用,要比手工format快得多。比如,第一块物理硬盘是target 3,第二块物理

硬盘是target 1,我们希望第二块物理硬盘磁盘卷标是"mirror",做如下操作:

/usr/sbin/prtvtoc /dev/rdsk/c0t3d0s2 | /usr/sbin/fmthard -n mirror -s - /dev/rds

k/c0t1d0s2

man -s 1M fmthard了解更多细节。

5.6 如何从光盘恢复Solaris 7的引导扇区

A: paranoid@bbs.tsinghua.edu.cn

在安装盘里有一个tools目录,进去后有一个命令叫做installboot

A: melonm@bbs.tsinghua.edu.cn

比如

installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s0

5.7 Solaris支持类似微软autorun.inf文件的功能吗

Q: 我自己制作了一张光盘,同时用于Solaris和Windows。在Windows环境下,可以利

用autorun功能,当插入光盘的时候自动调用喜爱的浏览器打开一个文件。不知道

Solaris 7/8下是否存在类似功能。

A: hakteng

是的,从Solaris 8(CDE version 1.4)开始支持类似功能了

o 创建一个名为"volstart"的脚本文件,比如

--------------------------------------------------------------------------

#! /bin/ksh

#

# This is a CD volume start script. This start script is designed

# to be automatically run when the CD is inserted into a Solaris

# system's CDrom drive.

#

# Note: not all Solaris systems have an auto volstart ability. If this

# CD is inserted into a CDrom drive of a Solaris system without the

# volstart ability, volstart can also be run manually by executing it

# from either the desktop's file manager or from a Unix command line.

full_name=$0

dir_name=`/usr/bin/dirname $full_name`

if [[ -x /usr/dt/bin/dtaction ]]; then

# Run the CDrom's installer program

/usr/dt/bin/dtaction Run $dir_name/installer

fi

--------------------------------------------------------------------------

o 将"volstart"文件放在光盘根目录下

o /usr/dt/bin/sdtvolcheck脚本中存在如下语句

if [[ -x $mountPt/volstart ]];then exec $mountPt/volstart;

于是,当插入光盘的时候volstart脚本被执行,对于上例,最终导致installer被

执行

5.8 如何修改/dev/null的属性

Q: /devices/pseudo/mm@0:null的属性是0620 root tty,我想

chmod 666 /devices/pseudo/mm@0:null ,但是几分钟后,属性被修改回

0620 root tty,怎么办

A: Markus Mayer <mmayer@iname.com>

查看/etc/minor_perm文件,

# grep -s null /etc/minor_perm

mm:null 0620 root tty

修改该文件中的这一行成"mm:null 0666 root sys"即可。

5.10 如何自己制作Solaris启动软盘

Q: 我知道可以去

http://soldc.sun.com/support/drivers/dca_diskettes/

下载启动软盘的映象文件,可我还想知道它最初是如何制作出来的

A: 小四 <cloudsky@263.net>

1) 用fdformt格式化软盘

2) 用newfs在软盘上创建新的文件系统

3) 将软盘mount上来

4) 用cp命令复制the second-level disk booter(boot或者ufsboot)到软盘,比如

/platform/sun4u/ufsboot。参看installboot(1M)、boot(1M)手册页

5) 用installboot命令安装boot block到软盘,比如

installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0

6) 用cp命令复制必要的工具文件到软盘

7) unmount软盘

8) 用eject命令弹出软盘

5.11 x86/Solaris如何访问FAT32分区

A: Dan Anderson <dan@drydog.com>

mount -F pcfs /dev/dsk/c0t0d0p0:1 /mnt/<...> # SCSI

mount -F pcfs /dev/dsk/c0d0p0:1 /mnt/<...> # ATAPI

c0 控制器ID

t0 SCSI ID (对于ATAPI省略)

d0 对于SCSI总是0,对于ATAPI是硬盘号

p0 p0对应第一个主分区表项

:1 对应逻辑驱动器(c - z 或 1 - 24)

有些报告说如果FAT32分区不对应第一个主分区表项,mount失败,感觉x86/Solaris

对pcfs支持混乱。

A: spp(低音炮)

在SPARC/Solaris 7上df -k

# df -k

/dev/dsk/c0t0d0s0 /

/dev/dsk/c0t0d0s6 /usr

/dev/dsk/c0t0d0s7 /export/home

在x86/Solaris 8上df -k

# df -k

/dev/dsk/c0d0s0 /

/dev/dsk/c0d0s7 /export/home

c 硬盘控制器的位置,比如主板第二个IDE接口上的第一个硬盘(主盘)对应c1d0

t 只SPARC有,SCSI ID

d 某一确定硬盘控制器(c参数决定)上硬盘位置

p 只x86有,对应MS系统的Partition概念

s slice号,Solaris系统的概念,不太好解释,如果和p一起出现,可以理解成类似

MS逻辑驱动器的概念

假设x86架构上某硬盘在主引导扇区有两个主分区表项,第一个为FAT32分区,第二个

为Solaris分区,Solaris分区上划分了两个slice,一个为根文件系统/、一个为swap

区,则分别表示为/dev/dsk/c1d0p0:1(FAT32)、/dev/dsk/c1d0p1s0(/)、

/dev/dsk/c1d0p1s1(swap)

在mount FAT32分区时应该用

mount -F pcfs /dev/dsk/c1d0p0:1 /mnt/<mount_point>

D: 小四 <scz@nsfocus.com>

注意,Solaris的slice概念和FreeBSD的slice概念不同,FreeBSD的slice概念就是MS

的partition概念,而Solaris的slice概念类似于MS扩展分区上的逻辑驱动器概念。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有