Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3152580
  • 博文数量: 443
  • 博客积分: 11301
  • 博客等级: 上将
  • 技术积分: 5678
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-08 12:30
个人简介

欢迎加入IT云增值在线QQ交流群:342584734

文章分类

全部博文(443)

文章存档

2022年(1)

2021年(1)

2015年(2)

2014年(1)

2013年(1)

2012年(4)

2011年(19)

2010年(32)

2009年(2)

2008年(4)

2007年(31)

2006年(301)

2005年(42)

2004年(2)

分类:

2006-09-07 21:00:09

 
本文适用使用VxVM作为磁盘管理软件的Solaris操作系统,且根盘被VxVM封装,只仅学习与交流,转载请注明出处,谢谢.

对根盘(或操作系统引导盘)解封装是VxVM中常见的管理任务之一,其实也不是很难的事情,最关键的一点是要恢复根盘原有的系统分区,特别是当系统分区比较多时.因为在封装后,VxVM会按照自己的格式对分区进行更改.如果在封装之前对系统分区作了保存,那本文就没什么参考价值了.但是很少人有这个备份的习惯,时间一久,就不记得系统原有的分区了.

其实VxVM会保存一份根盘封装前的系统分区,通过其提供的命令,很容易恢复系统原有的分区,该文件被保存在以下位置(文件):

/etc/vx/reconfig.d/disk.d/c#t#d#/vtoc

通过如下命令恢复系统原有分区:

# vxedvtoc -f /etc/vx/reconfig.d/disk.d/c#t#d#/vtoc

该命令提供的功能类似于"fmthard".

但解封装操作一般需要从光盘引导系统,此时vxedvtoc命令就不可用了,而VxVM保存的vtoc文件又不能被用于"fmthard"命令,因为该文件的格式同"prtvtoc"所生成的格式并不一样,两者不能通用.

仔细分析VxVM保存的vtoc文件,我们可以通过如下方法将其转换成fmthard命令所能识别的文件:

vxvm保存的系统分区文件(例子):

# cat /etc/vx/reconfig.d/disk.d/c0t0d0/vtoc

#THE PARTITIONING OF /dev/rdsk/c0t0d0s2 IS AS FOLLOWS :
#SLICE TAG FLAGS START SIZE
0 0x2 0x200 0 31458321
1 0x3 0x200 31458321 16779312
2 0x5 0x200 0 71127180
3 0x0 0x000 0 0
4 0x0 0x000 0 0
5 0x0 0x200 48237633 16779312
6 0x0 0x000 0 0
7 0x0 0x200 65016945 1230714

转换成fmthard所能识别的格式:

(1) 将所有的注释行删除
(2) 将TAG列中的”0x”删除,只保留1位
(3) 将FLAGS列中的”0x2”或”0x0”删除,只保留2位

更改后的内容如下:
0 2 00 0 31458321
1 3 00 31458321 16779312
2 5 00 0 71127180
3 0 00 0 0
4 0 00 0 0
5 0 00 48237633 16779312
6 0 00 0 0
7 0 00 65016945 1230714

或者可直接通过以下命令更改此文件:
# cat vtoc | sed -e '/^#/ d' -e s/0x200/00/g \
-e s/0x201/01/g -e s/0x000/00/g -e s/0x//g > vtoc.new

更改后的文件可以直接应用于命令fmthard中:

# fmthard -s
阅读(3582) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~