場合によっては、組み込みの内容を確認するために initramfs イメージ ファイルを抽出する必要があります。この投稿では、RHEL 6 の initramfs イメージ ファイルを抽出する手順を説明します。
歩数
1. initramfs イメージを見つけて、ファイルの種類を確認します。
# ls -la /boot/initramfs-$(uname -r).img -rw-r--r--. 1 root root 16196566 Feb 4 2015 /boot/initramfs-2.6.32-358.el6.x86_64.img
# file /boot/initramfs-2.6.32-358.el6.x86_64.img /boot/initramfs-2.6.32-358.el6.x86_64.img: gzip compressed data, from Unix, last modified: Wed Feb 4 18:31:54 2015, max compression
2. /tmp にディレクトリを作成し、initramfs イメージ ファイルをそのディレクトリにコピーします (/tmp に initramfs を保持するのに十分なスペースがあるかどうかを確認してください):
# mkdir /tmp/initrmafs # cp /boot/initramfs-$(uname -r).img /tmp/initramfs
3. /tmp/initramfs に移動して実行
# cd /tmp/initramfs # gzip -dc /boot/initramfs-2.6.32-358.el6.x86_64.img | cpio -id 90556 blocks
上記のコマンドは initramfs イメージを抽出し、調査可能なディレクトリを作成する必要があります
# ls -lrt total 15924 -rw-r--r-- 1 root root 16196566 Feb 4 2015 initramfs-2.6.32-358.el6.x86_64.img drwxr-xr-x 2 root root 4096 Sep 2 11:01 pre-udev drwxr-xr-x 2 root root 4096 Sep 2 11:01 cmdline drwxr-xr-x 2 root root 4096 Sep 2 11:01 bin drwxr-xr-x 2 root root 4096 Sep 2 11:01 proc drwxr-xr-x 4 root root 4096 Sep 2 11:01 var drwxrwxrwt 2 root root 4096 Sep 2 11:01 tmp drwxr-xr-x 2 root root 4096 Sep 2 11:01 sysroot drwxr-xr-x 2 root root 4096 Sep 2 11:01 sys drwxr-xr-x 7 root root 4096 Sep 2 11:01 etc -rw-r--r-- 1 root root 19 Sep 2 11:01 dracut-004-303.el6 drwxr-xr-x 2 root root 4096 Sep 2 11:01 pre-trigger drwxr-xr-x 2 root root 4096 Sep 2 11:01 mount drwxr-xr-x 2 root root 4096 Sep 2 11:01 initqueue-timeout drwxr-xr-x 2 root root 4096 Sep 2 11:01 emergency drwxr-xr-x 7 root root 4096 Sep 2 11:01 lib drwxr-xr-x 2 root root 4096 Sep 2 11:01 initqueue-settled drwxr-xr-x 2 root root 4096 Sep 2 11:01 initqueue-finished -rwxr-xr-x 1 root root 8879 Sep 2 11:01 init drwxr-xr-x 7 root root 4096 Sep 2 11:01 usr drwxr-xr-x 2 root root 4096 Sep 2 11:01 pre-pivot drwxr-xr-x 3 root root 4096 Sep 2 11:01 dev drwxr-xr-x 3 root root 4096 Sep 2 11:01 lib64 drwxr-xr-x 2 root root 4096 Sep 2 11:01 sbin drwxr-xr-x 2 root root 4096 Sep 2 11:01 initqueue
initramfs イメージを確認して編集できるようになりました。たとえば、ブート ログは /var/log にあります。 ディレクトリ。どのモジュールが initramfs にロードされているかを確認することもできます。そのためには、/lib/modules を確認してください。 または /lib/dracut .たとえば、/etc/multipath.conf を変更する必要がある場合は、/etc/ 内の任意のファイルを編集することもできます。
4. initramfs イメージを再作成するための変更が行われたら、実行します
# cd /tmp/initramfs # rm initramfs-2.6.32-358.el6.x86_64.img # find . | cpio -H newc -o > initramfs-2.6.32-358.el6.x86_64.cpio # cat initramfs-2.6.32-358.el6.x86_64.cpio | gzip -9 > /tmp/initramfs-2.6.32-358.el6.x86_64.img
5. これで、この initramfs イメージを置き換えることができます (/tmp/initramfs-2.6.32-358.el6.x86_64.img) ) 1 つが /boot/ にあります
# cp /tmp/initramfs-2.6.32-358.el6.x86_64.img /boot/
initramfs イメージ コンテンツの表示
initramfs イメージ ファイルの内容のみを一覧表示するには、次のコマンドを実行します:
# lsinitrd /boot/initramfs-2.6.32-358.el6.x86_64.img /boot/initramfs-2.6.32-358.el6.x86_64.img: 16M ======================================================================== ======================================================================== drwxr-xr-x 24 root root 0 Feb 4 2015 . drwxr-xr-x 2 root root 0 Feb 4 2015 pre-udev -rwxr-xr-x 1 root root 1208 Jan 9 2013 pre-udev/30resume-genrules.sh -rwxr-xr-x 1 root root 149 Jan 15 2010 pre-udev/30mdmon-pre-udev.sh ....CentOS / RHEL 7 :initramfs イメージを抽出して編集/表示する方法