查看linux内核文件initrd.img

查看linux内核文件initrd.img,第1张

1、解包

2.6及以后内核中的initrd.img采用cpio压缩,不再是2.4内核使用的ext2格式,无法使用mount -o loop 挂载。需要使用gunzip解压缩,然后再使用cpio解包。以下作为示例:

2、压包

通过以上命令就将initrd.img解压了,现在就可以对其进行编辑,完成后使用以下命令重新压制。示例如下:

再将其改名拷贝至/boot目录,重启就可以观察修改后的效果。重启后 无法成功引导 。这是因为生成的initrd.img不对。解决如下:

3、重新生成initrd

initrd.img是一个用gzip压缩的文件,这主要是为了制作启动盘,因为启动盘只有1.44M,这个文件的原始大小是几个M,压缩后大概3、4百K。这个文件使用mkinitrd命令产生。

在2.6以前版本中的Initrd.img采用的ext2经gzip压缩而成。要看到其里面的内容,首先是解压该文件,由于gunzip解压的文件有扩展名要求,所以:

根目录文件下内容:\x0d\x0a/bin:放置执行文件的目录,但毕竟特殊,其下放置的是在单用户维护模式下还能被 *** 作的命令。主要有cat、chmod、date、 mv、mkdir、cp、bash等常用命令。 \x0d\x0a/boot:放置开机会试用到的文件,包括linux内核文件以及开机菜单与开机所需的配置文件等。\x0d\x0a/dev:任何设备与接口设备都是以文件形式存放于该目录下。访问文件即是访问设备。\x0d\x0a 比较重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*, /devhd*, /dev/sd*等。\x0d\x0a/etc:存放系统主要的配置文件。一般用户可查看文件属性,但只要root有权修改。\x0d\x0a 比较重要的文件有/etc/inittab, /etc/init.d, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig等。\x0d\x0a 例如:/etc/init.d:所有服务的默认启动脚本都是放在这里的,例如要启动关闭iptables的话:"/etc/init.d/iptables start","/etc/init.d/iptables stop"。\x0d\x0a/home:系统默认用户主文件夹(home directory)。\x0d\x0a 比较重要的是,主文件夹有两种代号:\x0d\x0a~:代表目前用户的文件夹\x0d\x0a~dmtsail:代表dmtsail的主文件夹\x0d\x0a/lib:放置开机时会用到的函数库,以及在/bin 或 /sbin下面的命令会调用的函数库\x0d\x0a 比较重要的是/lib/modules这个目录会放置内核相关的模块(驱动程序)。\x0d\x0a/media:放置可删除的设备。包括软盘、光盘、DVD等设备都暂时挂在于此\x0d\x0a/mnt:挂载额外的设备,与/media类似,用于暂时挂载\x0d\x0a/opt:第三方软件放置目录\x0d\x0a/root:系统管理员的主文件夹\x0d\x0a/sbin:放置开机(包括开机、修复、还原系统)所需要的命令,常见的有fdisk,fsck,ifconfig,init,mkfs等\x0d\x0a 某些服务器软件程序一般放置在/usr/sbin,本机自行安装所产生的系统执行文件放置在/usr/local/sbin中\x0d\x0a/srv:可视为service的缩写,是一些网络服务启动之后所需要取用的数据目录\x0d\x0a/tmp:让一般用户或者正在执行的程序暂时放置文件的地方。任何人都可以访问


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6072343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存