IT未経験者がLinuxを学びLPIC-1を取得したい!!【第2章Linuxのインストールとパッケージ管理】2/6
以下参考書をベースにして記事を書いています
【第2章Linuxのインストールとパッケージ管理】目次
- ハードディスクのレイアウト設計
- ブートローダーノインストール(本記事)
- 共有ライブラリ管理
- Debianパッケージの管理
- RPMパッケージの管理
- 仮想化のゲストSOとしてのLinux
- 目次に戻る
ブートローダのインストール
ハードディスクなどのストレージからOSを読み込んで起動するプログラムを「ブートローダ」(ブートマネージャ)といいます。代表的なLinuxのブートローダはGRUB(Grand Unified Bootloader)です。
GRUBには「バージョン0.9x系」のGRUBLegacyと「バージョン1.9x系」のGRUB 2があります」。
GRUBのインストール
GRUBは多機能なブートローダです。現在では、多くのディストリビューションで標準的につかわれています。GRUBの特徴は次の通り。
- 多数のファイルシステムを認識可能
- シェル機能を搭載し、コマンドによる高度な管理が可能
ブートローダとしてGRUBをインストールするには「grub-install」コマンドを実行します。次の例では、「/dev/sda」のMRB領域※1にGRUBをインストールしています。
※1: MRBとは?(Master Boot Record)の略、起動ドライブの最初のセクタを表します。コンピュータを起動すると、BIOSはここからブートローダを読み込みます。
1 2 |
# grub-install /dev/sda //MBR領域にGRUBをインストール |
GRUB Legacyの設定
GRUB Legacyの設定ファイルは「/boot/grub/menu.lst」です。
設定ファイルで用いられる主なパラメータ一覧を下記に示します
パラメータ | 説明 |
timeout | メニューを表示している時間(秒) |
default | デフォルトで起動するエントリの番号 |
title | メニューに表示されるエントリ名 |
root | ルートデバイスの指定 |
kernel | 起動するカーネルイメージファイルと起動オプションの設定 |
makeactive | ルートパーティションをアクティブ化 |
chainloader | 指定されたセクタの読み込みと実行 |
hiddenmenu | 起動時に選択メニューを表示しない |
GRUBの設定ファイルは、ディストリビューションによっては「/boot/grub/grub.conf」となっている場合もあります。「/boot/grub/menu.lst」の設定例を下記に示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
boot=/dev/sda →ブートデバイス default=0 →デフォルトは1番目のエントリ itmeout=5 →タイムアウトまで5秒 splashimage=(hd0,0)/grub/splash.xpm.gz →メニュー表示時の背景画像 hiddenmenu →起動時に選択メニューを表示しない title centOS(2.6.32-504.8.1.e16.x86_64) →1番目のエントリ root(hd0,0) →ルートファイルシステムの指定 kernel /vmlinuz-2.6.32-504.8.1.e16.x86_64 ro root=LABEL=/ →カーネルイメージとカーネルオプションの指定 initrd /initramfs-2.6.32-504.8.1.e16.x86_64.img →初期RAMディスクファイルの指定 title CentOS(2.6.32-504.3.3.e16.x86_64) →2番目のエントリ |
GRUB 2の設定
GRUB 2の設定ファイルは「/boot/grub/grub.cfg」ですがGRUB Legacyとは異なり、直接ファイルを編集することはしません。「/etc/default/grub」で設定を行い「grub-mkconfig」コマンド(またはgrub2-mkconfigコマンド)を実行すると、設定に基づいて、「/boot/grub/grub.cfg」が生成されます。
1 2 3 4 5 6 7 8 9 10 |
# cat /etc/default/grub //閲覧して状態を確認 ---------------------//以下結果例 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=teue GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet" GRUB_DISABLE_RECOBERY="true" |
パラメータ | 説明 |
GRUB_TIMEOUT | 起動メニューがタイムアウトするまでの秒数 |
GRUB_DEFAULT | 起動メニューがタイムアウトした時にデフォルトOSとして選択されるエントリ(saved: 保存された選択枠) |
GRUB_CMDLINE_LINUX | カーネルに渡される起動オプション |
設定後は「grub-mkconfig」コマンド(またはgrub2-mkconfig)を使って/boot/grub/grub.cfgを生成します。
1 2 |
# grub-mkconfig -o /boot/grub.grub.cfg //grub.cfgを生成 |
※私の環境だとなぜかこのコマンドは「command not found」になってしまいます。何か設定などが悪いかもしれないのですが・・・
ブートオプションの指定
ブートローダ起動時に、システムの動作を指定するための様々なブートオプションを指定できます。GRUBでブートオプションを指定するには、起動時の画面で「E」キーを押します。すると次のような画面が表示されます。
1 2 |
grub append> ro root=/dev/Vo1Group00/LogVo1 rhgb quiet |
ここでキーボードからオプションを入力できるようになります。代表的なブートオプションは以下の通り
パラメータ | 説明 |
root=デバイス | ルートパーティションとしてマウントするデバイス |
nousb | USBを使用しない |
single | シングルユーザーモードで起動する |
1-5 | 指定したランレベルで起動 |
今回はここまで!次回は「共有ライブラリ管理」を学習していきます!
【第2章Linuxのインストールとパッケージ管理】目次
- ハードディスクのレイアウト設計
- ブートローダーノインストール(本記事)
- 共有ライブラリ管理
- Debianパッケージの管理
- RPMパッケージの管理
- 仮想化のゲストSOとしてのLinux
- 目次に戻る
1件の返信
[…] ブートローダーノインストール […]