GRUB構成ファイルのルートの意味

GRUB構成ファイルのルートの意味

引用するここ、次のように構成されています

grub> root (hd0,0)
grub> kernel /vmlinuz-i686-up-4GB root=/dev/hda9
grub> boot

一般的に、上記はLinuxシステムを起動するのに十分です。スタンドアロンrootステートメントは、カーネルを含むパーティションを通知します。このkernelステートメントはパスとファイル名を記述します。カーネルを含むパーティション内、カーネル。ステートメントroot=の引数は、kernel包含パーティション/sbin/init(もちろんブートシステムのルートパーティション)を示します。

これらの競合するキーワードに注意してくださいroot。独立は、カーネルを含む grub に表示されるルートディレクトリです。このkernel問い合わせ引数は、完全に起動したシステムで見られるルートです/sbin/init

root私はこれら2つの構成の意味をよく理解していません。これは、OSが/dev/hda9インストール保留のままであることを意味しますか(hd0, 0)、またはOSが/vmlinuz次の場所にインストールされることを意味しますか/dev/had9

答え1

私のシステムは/dev/sda1-3にあります。私のハードディスクの最初のパーティションはブートパーティションを含むsda1です。 sda2にスワップドライブがあります。私のデフォルトのパーティションはsda3にあります。 Sda3 には、ルート "/" ディレクトリと /etc および /usr などのすべてのサブディレクトリが含まれています。

私はGrub.cfgで設定しました。

set root=(hostdisk//dev/sda,gpt1)

これにより、ファイルシステムが準備される前に、ブートローダがカーネルファイルを見つけることができます。技術的にsda1を起動しています。

カーネルがfstabにドライブをロードしてマウントすると、ルート "/"自体はsda3にありますが、/ boot(ブートファイル)はsda1にマウントされます。

linux /kernel-genkernel-x86_64-4.9.144-3 root=/dev/sda3 real_root=/dev/sda3 rootfstype=ext4
initrd /early_ucode.cpio /initramfs-genkernel-x86_64-4.9.144-3

したがって、システムがsda1のファイルから起動しても、ルートディレクトリ"/"は実際にsda3にあります。

答え2

ルート(hd0,0) - GRUBのルートパーティション(例:(hd0,0))を最初のハードディスク、最初のパーティションとして構成し、パーティションをマウントします。

kernel /vmlinuz-i686-up-4GB root=/dev/hda9 - /boot フォルダ内のカーネルの場所を指定します。この場所はroot(hd0,0)ステートメントに関連しています。ルートパーティションは、Linux命名規則(/dev/hda9/)に従って指定されます。

カーネルイメージはルートファイルシステム(/dev/hda9)にインストールされます。

関連情報