当前位置: 电脑软硬件应用网 > 电脑学院 > 操作系统 > Linux系统 > 正文 |
|
||||
Linux技巧:在系统引导期间查找rootfs | ||||
2009-5-7 22:10:05 文/Lei Jian… 出处:赛迪网 | ||||
4.提取 initrd 映像。 a.对于 Red Hat Enterprise Linux 第 3 版之前的版本和 SUSE Linux Enterprise Server 第 9 版之前的版本: [root@linuxhost ~]#cp /boot/initrd-x.x.x-x.ELsmp.img ./initrd.gz [root@linuxhost ~]#mkdir temp [root@linuxhost ~]#gunzip ./initrd.gz [root@linuxhost ~]#mount -o loop -t ext2 initrd temp
b.对于 Red Hat Enterprise Linux 第 4 版和更高版本或者 SUSE Linux Enterprise Server 第 10 版和更高版本: [root@linuxhost ~]#cp /boot/initrd-*.img ./initrd.gz [root@linuxhost ~]#mkdir temp [root@linuxhost ~]#cd temp [root@linuxhost ~]#gzip -dc ../initrd.gz | cpio -id
5.现在,您将在 temp 目录下找到适用于 Red Hat Enterprise Linux 和 SUSE Linux Enterprise Server 第 10 版的 init 文件,或者适用于 SUSE Linux Enterprise Server 第 9 版之前的版本的 linuxrc 文件。此文件是包含将设备驱动程序载入到系统内存中的所有命令的简单 Linux shell 脚本。您可以通过文本编辑器或者其他编辑器来编辑它。 6.编辑 init 或 linuxrc 文件,以使根文件系统磁盘适配器出现在同一个类别中的所有其他存储适配器的前面。在大多数情况下,根文件系统磁盘将是带有 sd 前缀的 SCSI 设备;您需要把诸如 FC 或 SAS HBA 驱动程序之类的所有其他存储适配器放到根文件系统磁盘所依赖的驱动程序之后。 a.例如,如果根文件系统的物理磁盘与 SAS 适配器连接在一起,则 init 文件可以有如下所示的字段: ....... echo "Loading mptbase.ko module" insmod /lib/mptbase.ko echo "Loading mptscsi.ko module" insmod /lib/mptscsi.ko echo "Loading mptspi.ko module" insmod /lib/mptspi.ko echo "Loading mptsas.ko module" insmod /lib/mptsas.ko echo "Loading mptscsih.ko module" insmod /lib/mptscsih.ko echo "Loading qla2xxx.ko module" insmod /lib/qla2xxx.ko .......
b.如果使用的是 SUSE Linux Enterprise Server 第 10 版,它将类似以下代码: modprobe scsi_mod $params modprobe sd_mod $params params= for p in $(cat /proc/cmdline) ; do case $p in aacraid.*) params="$params ${p#aacraid.}" ;; esac done echo "Loading aacraid" modprobe aacraid $params modprobe scsi_transport_fc $params modprobe firmware_class $params params= for p in $(cat /proc/cmdline) ; do case $p in qla2xxx.*) params="$params ${p#qla2xxx.}" ;; esac done echo "Loading qla2xxx" modprobe qla2xxx $params 7.检验您的版本是否正确,这样才不会遗漏任何所需的驱动程序(例如,SAS 需要同时装入 mptbase.ko、mptscsi.ko、mptspi.ko、mptsas.ko 和 mptscsih.ko,这样您不能先装入 qla2xxx.ko,再装入 mptscsih.ko)。此外,您可能还需要检查错误的输入。 8.此时,您需要将 initrd 文件系统重新压缩到一个映像中,并替换 /boot 目录下的原有映像。 a.对于 Red Hat Enterprise Linux 第 3 版之前的版本和 SUSE Linux Enterprise Server 第 9 版之前的版本: [root@linuxhost ~]#umount temp [root@linuxhost ~]#gzip initrd [root@linuxhost ~]#cp initrd.gz /boot/initrd-2.x.x-x.img
[root@linuxhost ~]#gzip initrd [root@linuxhost ~]#cp initrd.gz /boot/initrd-2.6.x-x.img
[root@linuxhost ~]#mkfs.reiserfs -l OSROOT /dev/sdb2 [root@linuxhost ~]#mkfs.xfs -L XFSROOT /dev/sde3 [root@linuxhost ~]#mkswap -L SWAP0 /dev/sdb5
[root@linuxhost ~]#reiserfstune -l OSROOT /dev/sdb2 [root@linuxhost ~]#xfs_admin -L DATA1 /dev/sdf4
a.编辑 Linux 系统的 /etc/fstab,这样系统将使用标签而非设备名称来装入文件系统。下面是 /etc/fstab 内容的简单示例: LABEL=ROOT / ext3 defaults 1 1 LABEL=BOOT /boot ext3 defaults 1 2 LABEL=SWAP swap swap defaults 0 0 LABEL=HOME /home ext3 nosuid,auto 1 2
root (hd0,0) kernel (hd0,0)/vmlinuz ro root=LABEL=ROOT rhgb quiet initrd (hd0,0)/initrd-2.x.x-xx.img
如果将设备映射程序多路径(DMMP)工具用于多路径存储,则可以将友好的名称用于根文件系统以避免设备在重新启动后被 DMMP 重新编号。
multipath { wwid alias OSROOT } }
4.编辑 /etc/fstab 以将此友好名称用于此根文件系统设备,如下所示: /dev/mapper/OSROOT-part3 / ext3 defaults 1 1
root (hd0,0) kernel (hd0,0)/vmlinuz ro root=/dev/mapper/OSROOT-part3 rhgb quiet initrd (hd0,0)/initrd-2.x.x-xx.img
|
||||
最新热点 | 最新推荐 | 相关文章 | ||
讲解Linux服务器被黑解决方法 linux vm 添加硬盘 简单的Linux网吧电影服务器 Linux的日志文件系统简要剖析 Linux服务器:关于linux下磁盘空间无… Linux服务器:解决Linux磁盘空间满的… Linux中如何获得配置文件的绝对路径 详解Windows切至Linux的7大障碍 Linux系统Apache服务的信息查看模块… Linux之邮件服务器配置指南 |
设为首页- 关于我们 - 联系方式 - 版权声明 - 友情链接 - 网站地图 - |
Copyright©2003-2010 45IT.COM All Rights Reserved. 浙ICP备05056851号 |