カーネルが存在し続けることがわかりましたroot
。
ルートディレクトリを確認してください
[root@iz2ze9wve43n2nyuvmsfx5z /]# ls boot
config-3.10.0-693.2.2.el7.x86_64 initramfs-3.10.0-693.el7.x86_64.img System.map-3.10.0-693.el7.x86_64
config-3.10.0-693.el7.x86_64 initramfs-3.10.0-693.el7.x86_64kdump.img System.map-3.10.0-862.3.2.el7.x86_64
config-3.10.0-862.3.2.el7.x86_64 initramfs-3.10.0-862.3.2.el7.x86_64.img vmlinuz-0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa
efi initrd-plymouth.img vmlinuz-3.10.0-693.2.2.el7.x86_64
grub symvers-3.10.0-693.2.2.el7.x86_64.gz vmlinuz-3.10.0-693.el7.x86_64
grub2 symvers-3.10.0-693.el7.x86_64.gz vmlinuz-3.10.0-862.3.2.el7.x86_64
initramfs-0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa.img symvers-3.10.0-862.3.2.el7.x86_64.gz
initramfs-3.10.0-693.2.2.el7.x86_64.img System.map-3.10.0-693.2.2.el7.x86_64
そして
[root@iz2ze9wve43n2nyuvmsfx5z /]# ls -al | grep -i kernel
[root@iz2ze9wve43n2nyuvmsfx5z /]#
カーネルはどれですか?
答え1
vmunix
was / isは、複数のUnixオペレーティングシステム上のカーネルファイルの伝統的な名前です。
vmlinux
Linuxでは、カーネルファイルの圧縮が追加されたときに変更されました。vmlinuz
通常、カーネルファイルはルートディレクトリにあり、一部のLinuxディストリビューションでは、現在および以前のカーネルバージョンを指すシンボリックリンクが引き続き表示されることがあります/vmlinuz
。/vmlinuz.old
ただし、最新のブートローダは2つ以上のカーネルバージョンを簡単に処理できます/boot/vmlinuz-<kernel version number>
。
ディスクサイズが増加し、論理ブロックアドレッシングがIDEディスク(1994〜2003)の標準になったとき、1994年以前のシステムのBIOSは常にLBAをサポートしていなかったため、LBAがサポートされるまで最初の528 MB程度にのみアクセスできました。 。 。オペレーティングシステムの実行を開始します。したがって、ブートの初期段階に必要なファイルをディスクの最初の部分にある別の小さなパーティションに配置できることが重要です。 Linuxでは、これにより/boot
ファイルシステムルールが発生します。
つまり、現在および以前の代替カーネルバージョンの/boot
カーネルとファイル、およびブートローダ自体に必要なすべてのファイル(最も一般的にはディレクトリ)のみを含む別々のファイルシステムを作成することを選択できます。initrd
initramfs
/boot/grub
すべての最新システムはLBAを当然理解していますが、/boot
ファイルシステムルールはまだルートファイルシステムがシステムファームウェアで完全に認識できない形式であってもシステムを起動するために使用できるためです。例:
- 暗号化されたルートファイルシステム、
- Linux LVMのルートファイルシステム(必要に応じてオンラインで拡張可能で、単一のディスク制限まで簡単に拡張可能)
- ソフトウェアRAID0またはRAID5セットのルートファイルシステム(特別な要件がなければ、ルートファイルシステムは必ずしも良い考えではありません)
- または、マルチボリュームZFSまたはBtrFSセットのルートファイルシステムです。
一部のシステムファームウェアには、認識されている起動可能なパーティションを確認する組み込みチェックが含まれています。存在する実際のブートであっても、HDDから起動しようとする前に、非伝統的なディスクレイアウトから起動できます。
答え2
CentOS 7では、カーネルはデフォルトで/ bootディレクトリにあります。この場所はブートローダGRUB2の設定ファイルで指定されます。 GRUB2構成ファイルの場所は/etc/grub2.cfg
実際の構成ファイルへのシンボリックリンクであり、使用されているファームウェア(BIOS / UEFI)に応じて場所が変わります。
GRUB2構成ファイルには、システムが起動するように構成されている各カーネルの「メニュー項目」セクションがあります。各セクションでroot
変数を見つけます。私のシステムの例は次のとおりです。
set root='hd0,msdos1'
上記の変数は、ディスク上の最初のパーティションの最初のMBRパーティションを指定します。私のシステムでは、これは/ bootパーティションとしてマウントされた/ dev / sda1に対応します。
続いて、同じメニュー項目セクションで「linux16」または「linuxefi」で始まる行を確認できます。このキーワードの直後には、カーネルへのパスがあります(以前に指定したルートディレクトリと比較して)。たとえば、
linux16 /vmlinuz-3.10.0-693.el7.x86_64 ...
システムでは、これは出力に表示される「vmlinuz-*」ファイルの1つですls /boot
。これは現在システムにインストールされているカーネルです。