詳細GRUB

免責事項:この記事は小さな胡淄博メインのオリジナルの記事、再現され、ボーエンのリンクを添付してください!https://blog.csdn.net/woshaguayi/article/details/89602725

      、GRUBの紹介

    GRUB(大統一ブートローダ)は現在、バージョン0.97へのGRUBのLinuxバージョンで使用されるマルチブート管理ソフトウェアを、追求しFSFのGNUの下で組織され、FSFの公式ウェブサイトでは、それはもはや、このバージョンでは、追加の新しい持っていたと述べていません機能、GRUB 2に集中します。

    GNU GRUB(大統一ブートローダー)は、マスターブートレコード、マスターブートレコードは、ハードディスク開始の部門に位置しているにインストールされたブートローダプログラムです。これは、マスターブートレコード領域は、GRUBのGRUBメニューまたはコマンド環境をロードするための具体的な指示に位置していることができます。これは、選択したオペレーティングシステムを起動するためにユーザを可能に、カーネルのブートはカーネル特定の命令に渡される、またはカーネルが起動する前に、システムパラメータを(例えば、使用可能なRAMの大きさ)を決定します

   GRUBは非常に強力なブートマネージャ、および他のユーザーがブート設定を変更することはできませんできるようにする機能を暗号化するためにも、オプションです。次のように主な機能は次のとおりです。
      複数のファイル形式をサポートしています。マルチブートオペレーティングシステムをサポートしていません。複数のモジュールをロードすることができます。比較的ユーザーフレンドリーなプロフィール。
      オプションインタフェース。伸縮性のコマンド・インタフェース。これは、ファイル・システムの複数のタイプをサポートしています。これは、自動解凍をサポートしています。これは、ファイルにインストールされているすべてのデバイスからアクセスすることができます。
      独立ディスクの変換。

    Red Hat Linuxの7.2以降、GRUB(大統一ブートローダー)から置き換えるLILO(LILO 1024シリンダ制限は、あなたが内容は、ディスクの同期446バイトのファイルに起動情報の後に、システムを再起動する必要が変更され、そこに起動することはできませんので、 )大きなハードディスクを8G以上は、デフォルトのブートローダーのlinuxになる、「ブートローダーは、」コンピュータの起動を最初に実行されるソフトウェアです。これは、オペレーティングシステムのカーネルをロードするための責任がある、と転送はカーネルに制御します。カーネルは、初期プロセスの残りの部分を担当しています。GRUBは非常に重要な機能は、柔軟性であり、GRUBは、ファイルシステムおよびカーネルのバイナリフォーマットを識別することができますので、あなたは、ディスク上のカーネルの物理的な位置を記録することなく、任意のオペレーティングシステムをロードすることができます。

 ロードGRUBの第二に、プロセス

      GRUBのファイルが複数の画像が含まれ、2つの基底(必須)はファイル(ステージ1とステージ2)のステージ、任意の段階は(もstage1.5をいう。)、及び2個のネットワーク・ブート・イメージやドキュメントには、pxegrubをnxgrub)。

     ステージ1:システムがすでにMBRにインストールインストールされている場合、バックアップブートローダが実際にハードディスクに保存されているハードディスク上のブートディレクトリは、あなたのハードディスク上の任意の場所にすることができ、ステージ1 MBR、バックMBRとバイトの最初の446のバイトそれは問題ではありません、あなたはMBRをバックアップするddコマンドを使用することができます。

   DDなら=は/ dev / HDAの= mbr.bin BS = 512カウント= 1#OD -Xa mbr.bin 

 次いで、MBR、MBRからバックアウトステージ1を表示し、ステージ1とは異なる比較する-Cコマンドをhexdumpに対して。   

      stage1.5:ハードディスクのブートなどe2fs_stage1_5、fat_stage1_5、jfs_stage1_5としてstage1.5いくつかのファイルは、以下のディレクトリとreiserfs_stage1_5、チャネルのような役割を果たしているこれらのステージファイルの位相関数1.5は、ステージ2をSTAGE1に接続され、内側のみそれは、ファイルシステムの形式を保ちました。ステージ1のstage1.5、例えばe2fs_stage1_5(ext2ファイルシステム)をロードした後、フォーマットは、実際に非常に弾性のあるext2ファイルシステムを識別することができます。ステージ1のstage1.5をロードした後、ステージ1ステージ2が同定され、EXT2をロードすることができます。順次処理この一連の元のディレクトリやファイルシステムでは、まだ移動された後の場合には安全に見つけることができない場合でも、GRUBのインストール後に、STAGE2ができるように。stage1.5がロードされているので、GRUBはそう、当然、例先頭にファイル・システム・ディレクトリから、ステージ2は、ステージ2を見つけるとLinuxを起動することができなかった場所を見つけるために、ファイルシステムディレクトリにアクセスする能力を与えられています。ないstage1.5ステージ1をロードする場合でも、原則的にはext2を知らない、もちろん、ファイルstage1.5を見つけることができないので、実際には、ハードディスク内に存在することはstage1.5一番32Kである(ただし、MBRをスキップします)ステージ1のコールstage1.5、地域に直接移動stage1.5の使用を見つけるでしょう。ファイルは、/ bootに/ grubのディレクトリの内容の下にstage1.5(e2fs_stage1_5ファイル)に格納されている場合32KはMBRに続くとの比較を行い、あなたはコンテンツが実際には同じであることがわかります(図2-7)、なぜならGRUBは、この領域にファイルを書き込むために、ヘルプのユーザーをstage1.5ました。

 

     STAGE2:このファイルは、ユーザーOSのオプションがロードされ、新しいパラメータは、オプションを変更することができますGRUBのコアプログラムである、これらはすべてのステージ2の関数です。それのためのGRUBは、ステージ2に加えて、自分自身を活性化することができない、全部の残りの部分はステージ2のパッケージでした。そのため、実行STAGE2事前書かれたステージ2を必要とした同時にインストールブートsectorGRUBを接続し、以下のアクセスオプション設定ファイルの場所を提供し、:ブートセクタ地区の主な機能に保存されているSTAGE2ファイルは以下の通りです。 、既存のファイルシステムからなり、ファイルは、元の組の経路に設けられて/boot/grub/grub.confを読み込まれます。

     stage1,1.5,2との関係:ステージ1は、ブートGURBのイメージファイルのための絶対必要です。通常、それはMBRの中に埋め込まれています。またはパーティションのブートセクタインチ PCのブートセクタが512バイトであるため、512のバイトはstage1のです。アクションのステージ1は、ローカルディスクからステージ2又はステージ1.5をロードすることです。符号化のための制限、ステージ1とステージ2の位置またはステージ1.5のサイズので、即ち、ステージ1のファイルシステムフォーマットを認識していません。GRUBのステージ2は、コアイメージです。それは(それを自分でロードを除く)、あなたは通常、ファイル・システム上に彼を置くことができるほとんどすべてを処理し、必須ではありません。あなたはブートローダーをインストールするには、インストールのgrubを実行した後のstage1ファイルは必要ありません、それはMBRまたはPBRに埋め込まれているため、それは、任意の位置に移動させることができます。ステージ1とステージ2のファイルは、通常は/ boot / grubの/ディレクトリに配置され、そこのステージ1.5のファイルがたくさんあり、このディレクトリ内のファイルシステム形式で命名されています。その目的は、即ちローディングステージ1ステージ1.5、ステージ1.5ロードステージ2のステージ1とステージ2との間に橋を構築することです。ステージ1ステージと、ファイルシステムを認識1.5をステージングできない1.5ステージ1と異なっています。ステージ2は大きすぎるので、固定領域内に嵌合する、及びStage1.5 MBR後の位置に設置することができます。

     GRUBは、直接サポートし、ロードチェーンを案内します。GRUBは、ハードディスクを認識することができ、ほぼすべてのオペレーティングシステム、最も一般的なファイルシステムで、システムBIOSのと同様に、ほとんどすべてを使用することができます。

       GRUB、オペレーティングシステムおよびプロセスをロードし、次の工程を含む: 
  1.コンピュータの起動後は、BIOSがMBRからロードされたプログラム、及び相互の制御を最初の起動デバイス(典型的にはハードディスク)を探し、その後開始しますコードに、その後ほぼ通常最初のステップであるブートローダーをロードします。基本的なブートローダー(MBRに含まれるステージ1)は、マスターブートセクタは、非常に小さな空間に位置しなければならない、MBRのサイズ制限に起因未満512バイトであり、ステージ1が行うことができる限られているが、次のGRUBのローディング段階(ハードディスクの他の場所に格納されたステージ2)。そのため、基本的にはない唯一のことは、第二のブートローダーをロードするブートローダーです。 
  図2に示すように、一般的に第二の工程と呼ばれる第二ローディングステージ2のブートローダー、。この第二のブートローダーは、実際にユーザーが特定のオペレーティングシステムにロードできるようにするために、より高度な機能を描かれています。GRUBでは、ステージ2は、ユーザーがオペレーティングシステムを起動するかを選択できるようにウィンドウが表示されます。このステップは、通常、ユーザが手動で開始パラメータを指定できるグラフィカルメニューの形式でグラフィカルユーザはGRUBコマンドラインプロンプトを使用することができ、より高度な制御を必要とする場合に利用できませんか。タイムアウト後のGRUBはまた、1つのカーネルから自動的に起動するように設定することができます。 
  図3は、ステージ2は、コアをGRUB、その機能は、特定のオペレーティング・システム・カーネル・パーティションとinitrdに取り付けられています。GRUBコマンドラインたら、またはオペレーティングシステムを起動するための正しいコマンドにその構成ファイルから、それは必要なブートファイルを検索して、マシンのオペレーティングシステムに制御を移します

     システム・コンフィギュレーション・ファイルとファイルシステムでは、ファイルのステップ1.5、第二のガイドブートストラッププログラムを接続するためのベースとの間の差を必要とするかもしれません。ブートローダーの最初の段階の第2ステップで使用されるパーティションのブートローダーファイルがファイルシステムにアクセスすることができない場合は、追加のステップ1.5からファイルをロードし、ブートローダーの最初のステップを指示する必要があるかもしれません命令の第2段階では、ファイルのブートローダーを読み込みます。 
  指導方法は、上記ダイレクトローディングと呼ばれます。この命令は、任意の中間コードは、ブートローダと、オペレーティングシステムのマスターファイルとの間で使用されることなく、直接オペレーティングシステムをロードするプロセスで使用されているので(例えば、カーネル)です。ただし、異なるオペレーティングシステムのブートプロセスは、上述したいくつかの微妙な違いがあると共に使用することができます。たとえば、インストール時にMicrosoftのDOSとWindowsオペレーティングシステムは、完全にマスターブートレコードを書き換えるのではなく、マスターブートレコードの現在の設定をマージする傾向が注ぎます。これは、Red Hat Linuxのように、マスターブートレコードに格納されているオペレーティングシステムの他のすべての情報を破棄します。Microsoftオペレーティングシステムは、他の独自のオペレーティングシステムの数は、我々が開始すると呼ばれるチェーンローディングブート方法を使用しているがあります。この方法では、マスターブートレコードは、単にオペレーティングシステムパーティションの最初のセクタを指しています。 

三、GRUBの用語

      1.デバイス名:

           GRUBは、デバイス名が()内に囲まれている必要があり。fdはフロッピーディスクを表し、HDはハードディスクを表す(IDEをまたはSCSIを区別しません)。第二に、デバイスは0から番号付けシステム及び装置BIO数に応じて決定される、パーティションも同様であり、装置間の隔壁によって「」離れ。:ここではいくつかの例です
          (fd0と):全体のフロッピーディスク(hd0,1)を表している:第二パーティションに最初のハードドライブにBIOSことを示し
          、BIOSを表し:(hd0,0)/ブーツ/ vmlinuzでは、ディレクトリ内の最初のハードディスク/ vmlinuzでファイル内のブートパーティション。(hd1,4)は、第2のハードドライブ上の5番目のパーティション
          、パーティションが指定されていない場合、それは全体のデバイスのみ指定されたパーティション使用
  2.ファイル:

        GRUBのルートファイルシステムとLinuxのルートファイルシステムは関係ありませんが、GRUBのルートファイルシステムは、特定のデバイスのルートパーティションに使用されます。GRUBは(マウント)被係合にこの情報を使用し、その上のデバイスからファイルをロードします。 
  Red Hat Linuxのでは、GRUBは、Linuxカーネルが含まれている独自のルートパーティションをロードしたら、カーネルのコマンドは、実行のためのオプションとして、カーネルファイルの場所になります。Linuxカーネルが起動したら、それは独自のルート・ファイル・システムを設定し、この時点でのルート・ファイル・システムは、ほとんどの人は、Linuxに連絡するために使用されているものです。最も初期のGRUBのルートファイルシステムとその従事が削除され、彼らは唯一のカーネルファイルを案内するために存在します

三、GRUBのインストールと設定ファイルが、に/etc/grub.conf

          1.インストールします。

               最初の方法:GRUB-installコマンドを使用してGRUB GRUBを再インストールします> root(hd0,0)のよGRUB>セットアップ(HD1)のgrub>終了

              第二の方法:GRUBインストール--rootディレクトリ= /パスのパス/に/デバイス 

           :最初のパーティションにハードポイントのシステムパーティション
           B:調製MBRにGRUBをインストールします。
           C:ステージ1は、MBRブートローダスペースへの情報の一部をインストールします。
           D:ファイル書き込みstage1.5 MBR後に15個のセクタ、セクタの数が異なるstage1.5ファイルに対応するため、ファイルシステムフォーマットは、異なって変化してもよいです。次のようにセクタアルゴリズムの数である:e2fs_stage1_5ファイルサイズは、512バイトのセクタごとに、7616バイトであり、従って、512分の7616 = 14.875セクタに必要、セクタは、ブロック様式分散ファイルシステムであります15個のセクタを使用するため、散発的に使用することはできません。

        2.grubメイン設定ファイルは/boot/grub/grub.confにあり、そして/boot/grub/menu.listて/etc/grub.confは軟質であり、このファイル(ソフトリンク)を接続

                 デフォルト= 0は、0から始まる、デフォルトのブートタイトル番号を設定します   

                 ユーザが選択するのを待つの秒でタイムアウトのタイムアウト時間単位

                 splashimage =(hd0,0)grubの背景画像     

                 hidemenu隠しメニュー

                  titileタイトル       

                  機器すべてのハードすべてのHD#N、#、##などGRUBのルートは、N番目のディスクパーティション、CDROMカーネルCD-ROM /のvmlinuxを表す(0,0)カーネル....... ...カーネルのパスとファイルシステムがロードされていないので、カーネルにパラメータを渡す、GRUBによってデバイスに直接アクセスするには、ルートディレクトリではなく/ブーツ/ VMの.... initrdのinitrdファイル...トップディレクトリ/ VMであります       

                  パスワード--md5 ..................パスワード生成のgrub-MD5-暗号化パスワードを使用して    

四、GRUBの損傷

       1、ステージ1とダメージstage1.5:

               最初の方法:GRUB-installコマンドを使用してGRUB GRUBを再インストールします> root(hd0,0)のよGRUB>セットアップ(HD1)のgrub>終了

              第二の方法:GRUBインストール--rootディレクトリ= /パスのパス/に/デバイス 

        2、STAGE2損傷

              レスキューモードでブートし、GRUBパッケージは、rpm -ivh GRUBを再インストールし、/ sysimageにchrootは/ mntを使用しています。

 

        

    

おすすめ

転載: blog.csdn.net/woshaguayi/article/details/89602725