Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1761802
  • 博文数量: 234
  • 博客积分: 4966
  • 博客等级: 上校
  • 技术积分: 3322
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-13 01:03
文章分类

全部博文(234)

文章存档

2017年(2)

2016年(1)

2015年(8)

2014年(11)

2013年(44)

2012年(27)

2011年(22)

2010年(30)

2009年(37)

2008年(6)

2007年(45)

2006年(1)

分类: LINUX

2010-07-28 14:32:33

声明,原文章内容源自fedora官方论坛
感谢论坛 的文章解决了我5天的困扰。
 
由于LVM逻辑卷名嵌入在initrd文件,所以一旦更改vgname,那么会影响到系统的启动。这里采取进入linux rescue模式下手动修改initrd
 
1.用第一张安装盘启动,输入linux rescue
 
2.启动后在网络处选择no,在mount系统时候选择skip
 
3.创建/tmp/boot,/tmp/initrd两个目录
 
4.挂载你的boot目录,可以用fdisk -l来找到boot分区,如下
 
 

Disk /dev/sda: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 38913 312464250 8e Linux LVM

mount /dev/sda1 /tmp/boot

5.切换当前目录至/tmp/initrd下,执行如下命令解压initrd文件到/tmp/initrd目录

gzip -cd /tmp/boot/initrd-xxxxxxxxx.img | cpio -imd --quiet

这时,你的/tmp/initrd目录下应该多了几个文件了。

说明:红色字体处替换为你要修改的initrd具体文件名,例如:initrd- 2.6.18-8.el5.img

6.修改/tmp/initrd/init文件,找到你要修改的原vgname。例如,我要修改VolGroup00为VGRHEL,则可以在vi 下,先打冒号,输入1,$ s/VolGroup00/VGRHEL/g 这样文件里的所有VolGroup00都修改好了。wq保存退出。

7.打成initrd包:

find . | cpio -co | gzip -9 > /tmp/boot/initrd-xxxxxxxxx.img

将原来的initrd文件覆盖掉。

8.最后umount /tmp/boot 重启系统

其他:gzip c 参数:写入到标准输出保持原文件不改动

          d 参数:解压

     cpio 即拷贝io。 i 参数:进入copy-in模式

                    o 参数:copy-out模式(之后打包用到该参数)

                    m 参数:当创建文件时, 保留以前的文件修改时间

                    d 参数:在需要的地方创建目录

                    c 参数:使用老式的跨平台 (ASCII) 归档格式


阅读(1762) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~