`
Michaelmatrix
  • 浏览: 208941 次
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Linux在安全模式下修改initrd文件

 
阅读更多

我在Redhat Enterprise 5里安装了Java环境,设置了环境变量,结果环境变量设置出错了,重启Linux后无法登录,安全模式下提示如下信息:

  1. bash:dircolors:commandnotfound
  2. bash:/software/jdk1. 6 .0_14/lib.tools.jar:没 有那个文件或目录
  3. bash:/software/jdk1. 6 .0_14/bin:isadirectory

我那个郁闷啊,刚学Linux就碰到系统初始化失败,咋整呢?网上搜!搜了一圈总算是找到一篇文章,在这里记录一下。

在安全模式下修改initrd文件:

由于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

<!-- Easy AdSense V2.91 --> <!-- Post[count: 2] -->
<!-- Easy AdSense V2.91 -->

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) 归档格式

分享到:
评论

相关推荐

    linux图形系统开发基础,转帖自linux时代

    图形输出在嵌入式开发中,多数是向FrameBuffer中写数据,然后会显示在LCD中,在Linux下做图形开发的时候,需要模拟各种环境,比如16位色的环境,32位色的环境等,这个时候需要在Linux中做一个配置的修改: ...

    《精通Linux 设备驱动程序开发》.(Sreekrishnan).pdf

    2.1.7 freeing initrd memory: 387k freed17 2.1.8 io scheduler anticipatory registered (default)18 2.1.9 setting up standard pci resources18 2.1.10 ext3-fs: mounted filesystem19 2.1.11 init: ...

    Linux从入门到精通

    E.6.14 我不能在系统的1023柱面下安装Linux, 我该怎么办? E.6.15 我想把LILO从我的机器的MBR中移去, 如何做? E.6.16 我想把Linux从我的硬盘中删除. 我使用DOS的fdisk, 它显示出非DOS分区, 但不能删除. 怎么办? E....

    《Linux从入门到精通》

    E.6.14 我不能在系统的1023柱面下安装Linux, 我该怎么办? E.6.15 我想把LILO从我的机器的MBR中移去, 如何做? E.6.16 我想把Linux从我的硬盘中删除. 我使用DOS的fdisk, 它显示出非DOS分区, 但不能删除. 怎么办? E....

    linux从入门到精通.chm

    E.6.14 我不能在系统的1023柱面下安装Linux, 我该怎么办? E.6.15 我想把LILO从我的机器的MBR中移去, 如何做? E.6.16 我想把Linux从我的硬盘中删除. 我使用DOS的fdisk, 它显示出非DOS分区, 但不能删除. 怎么办? E....

    2005详细介绍Linux从入门到精通

    E.6.14 我不能在系统的1023柱面下安装Linux, 我该怎么办? E.6.15 我想把LILO从我的机器的MBR中移去, 如何做? E.6.16 我想把Linux从我的硬盘中删除. 我使用DOS的fdisk, 它显示出非DOS分区, 但不能删除. 怎么办? E....

    精通LINUX设备驱动程序开发

    447 22.4 一致性检查 447 22.5 构建脚本 448 22.6 可移植代码 450 第23章 结束语 451 23.1 流程一览表 451 23.2 下一步该做什么 452 附录a linux汇编 453 附录b linux与bios 457 附录c seq文件 461

    安装 SUSE Linux Enterprise Server --服务器版

    本章提供了以所需模式完整安装 SUSE® Linux Enterprise Server 所需的步骤的概 述。请在 Architecture-Specific Information 手册中查找用于准备在 x86、AMD64、 Intel EM64T 和 Itanium 上安装 SUSE Linux ...

    万能启动u盘制作工具 FbinstTool v1.6

    1.可以在win64位系统下使用 2.修正了备份分区表的一个bug(zxw提出) 3.拖入新的buldr时可以选择是否保留原buldr的内置菜单及prefix值 【2010-09-04】 1。添加右键打包文件夹为fba 2。右键fba解开到当前目录 3。...

Global site tag (gtag.js) - Google Analytics