Linuxのブート 編 LinuC Lv1 学習まとめ その5

はじめに

どうもdaigoroです。今回はLinuxのブートに関する話と、OSの起動方式についてまとめていきます。

ブートとは、PCが起動した際に、PCの基盤がハードディスク等のストレージからOSが記述される部分を読み込んでOSの制御を開始させる一連の仕組みをいいます。

今回はブートの基礎について説明していきます。

ブートの仕組み

  • PCは電源が投入
  • BIOSの起動
  •   ※ BIOSは マザーボードが独自で持っているプログラムのことです。

    ハードウェアの管理とかやります。アパートをPC本体とすれば、大家さんみたいなものです。

  • BIOSによるハードゥエアの点検
  • 1次ブートローダがOSを優先順位に従って起動OSのロード位置を調査
  • ブートローダは1次ブートローダと2次ブートローダがあります。

    1次の方はマザボ本体の不揮発性ROMの中にはいっててHDDやSSDを順番に点検していってOSのロード位置を探します。

    1次がOSのロード位置を特定したら、制御権を2次ブートローダに移譲します。

    2次ブートローダはOSの一部です。Linuxの場合は2次ブートローダはカーネルの中に入ってます。

  • 2次ブートローダよるメモリの初期化
  • OSの起動を問題なく行うために、メモリにのこっている余計なデータを全て初期化します。

  • 初期化RAMシステムをマウント
  • これはつまりどういうことかというと、initramfsというシステムが、OSの起動に必要なデバイスを動かすためのプログラム(ドライバといいます)を実行し、HDDやマウスやキーボードなどを使える状態にします。

  • initまたはsystemdのサービスの起動
  • OSを動作させるために必要なバックグランドプログラムを実行します。

    ユーザのログインプロンプトを起動させ、処理を終了します。



    ブートターゲットについて

    Linuxでは、ブートが終了してログイン時にGUIかCUIかを選択することができます。

    GUIとはGraphical User Interface(グラフィカル・ユーザ・インターフェース)の略で、グラフィックベースで情報を表示し、直感的にOSに命令を実行させることのできるインターフェースを意味します。

    これに対してCUIとは、Console User Interface(コンソール・ユーザー・インターフェース)の略で、コマンドを直接キーボードで入力することでOSに命令を実行させることのできるインターフェースを意味します。

    今あなたがお使いのUIはどちらでしょうか?下記のコマンドで確認することが可能です

    #systemctl get-default graphical.target

    僕の場合は「graphical.target」という出力が帰ってきましたね。

    これは起動時はGUIを使いまーすって意味です。

    systemctlコマンドでターゲットを選択して使えば、起動時にGUI/CUIの選択ができたり、システムのシャットダウンや再起動を行うことができます。

    下記にsystemctlの主要なターゲットをまとめておきます

    multi-user.target    CUIログイン graphical.target    GUIログイン poweroff.target    システム終了 rescue.target    レスキューモード(シングルユーザーモード) reboot.target    システム再起動

    次のようにsystemctlコマンドとset-defaultを使ってCUI/GUIの切り替えを行うことができます。

    #systemctl set-default graphical.target (GUIに切り替え) #systemctl set-default multi-user.target (CUIに切り替え)

    systemctlにisolateのサブコマンドを使うことでシステムのシャットダウン/再起動を行うこともできます。

    #systemctl isolate poweroff.target (シャットダウン) #systemctl isolate  reboot.target (再起動)

    システムの不具合等でメンテナンスを行う場合、他のユーザがログインしているとメンテナンスが行いにくいことがあります。

    そのときはシングルユーザーモード(レスキューモード)にログインを切り換えることによって、他のユーザーをシステムにログインさせないことが可能です。 これは次のコマンドを用いて実行します。

    #systemctl isolate  rescue.target

    まとめ

  • systemctlコマンドは、GUI/CUIの切り替えや起動/再起動等の動作を命令することができます。
  • systemctlコマンドにはget-defaultとset-defaultとisolateの主要なサブコマンドがあります。
  • get-defaultはデフォルトの起動方式を確認します。
  • set-defaultはGUI/CUIの切り替えに使用します。
  • isolateは起動/再起動/シングルユーザーモードの切り替えをすることが可能です。
  • 広告

    投稿者: daigoro021

    休日プログラマです

    コメントを残す

    以下に詳細を記入するか、アイコンをクリックしてログインしてください。

    WordPress.com ロゴ

    WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

    Facebook の写真

    Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

    %s と連携中

    %d人のブロガーが「いいね」をつけました。