GNU/Linux >> Linux の 問題 >  >> Linux

initrd.img を表示、変更、および再作成する方法

質問: Ubuntu、Debian、CentOS、Fedora、Red-Hat、Arch Linux、または SUSE ディストリビューションで新しい initrd.img を表示、変更、再作成するにはどうすればよいですか?

1. initrd.img ファイルの内容を表示する方法

initrd.img gzip形式です。以下に示すように、initrd.img を initrd.gz に移動します。

# cp /tftpboot/el5/initrd.img  .

# ls
cdrom   initrd.img

# mv initrd.img initrd.gz

以下に示すように、initrd.gz ファイルを解凍します。

# gunzip initrd.gz

# ls
cdrom  initrd

initrd.gz ファイルを解凍すると、initrd はさらに cpio の「newc」形式になります。 cpio ‘newc’ 形式 を使用して initrd からファイルを抽出します。
注: 情報 cpio ‘newc’ 形式についての詳細情報を提供します。

# mkdir tmp2

# cd tmp2/

# cpio -id < ../initrd
16524 blocks

initrd.img ファイルの内容を表示できるようになりました

# ls
bin  dev  etc  init  modules proc  sbin  selinux  sys  tmp  var

2.画像のコンテンツを変更して新しい画像を再作成する方法

以下に示すようにファイルを抽出した後、それらのファイルのいずれかに適切な変更を加えます。次に、次のコマンドを使用してファイルをアーカイブにパックします。変更されたファイルを cpio 'newc' 形式にパックします。

# find . | cpio --create --format='newc' > /tmp/newinitrd
16524 blocks

# ls /tmp/
cdrom  initrd  newinitrd  tmp2

# ls -l /tmp/newinitrd
-rw-r--r-- 1 root root 8460288 Jul  2 14:50 /tmp/newinitrd

アーカイブ ファイルを gzip します。

# gzip newinitrd

# ls
cdrom  initrd  newinitrd.gz  tmp2

# ls -l newinitrd.gz
-rw-r--r--  1 root root 6649867 Jul  2 14:50 newinitrd.gz

ファイルを画像ファイルとして移動します。 newinitrd.img を新しいブート イメージとして使用できます。

# mv newinitrd.gz newinitrd.img

# ls -l newinitrd.img
-rw-r--r-- 1 root root 6649867 Jul  2 14:50 newinitrd.img

Linux
  1. Linuxで画像メタデータを表示する方法

  2. ファイルを移動して進行状況を表示する方法(例:プログレスバーを使用)?

  3. Imgファイルのタイプを見つけてマウントする方法は?

  1. cPanelでphpinfoファイルを作成して表示する方法は?

  2. Iptables ルールを表示および削除する方法 – リストとフラッシュ

  3. UNIX ar の例:C アーカイブ ファイル (*.a) を作成、表示、抽出、変更する方法

  1. Webstatsを有効にして統計を表示する方法

  2. Linux システムの再起動日時を表示する方法

  3. Linux 実行可能ファイルを逆アセンブル、変更、再アセンブルする方法は?