• 対象とするUbuntuのバージョン

    • すべて(GNU GRUBのバージョンは0.97)

これは何?

  • 起動時のGRUBのメニューやGRUBのシェル(コマンドライン)を使う方法です。また、Ubuntuが起動してから端末で同様に実行することもできます。

起動時のGRUBでの操作

  • 起動時にGRUBのメッセージが画面に表示されないときには、Escキーを押してください。するとGRUBのメニューが現れます。GRUBのメニューを起動時に常に表示させるようにするには、/boot/grub/menu.lstの「hiddenmenu」とだけ記された行の先頭に#を付け加えてください。

起動時のGRUBのメニューでの操作

  • GRUBシェル(コマンドライン)に移るには、cキーを押してください。以下はGRUBシェルの操作ではなく、GRUBのメニューでの操作方法です。
  • 起動したい項目に↓↑キーで移動して、ENTERキーを押すと起動します。(recovery mode)はシステムの問題点を解決したい場合等に、root権限でCLIでログインするために使ったりします。memtest86+はメモリのエラーチェックをするソフトを起動します。memtest86+についてはこちらでもご覧ください。こちらにも詳しい情報があります。

  • 起動したい項目を編集するには、その編集したいものを↓↑キーで反転表示させてからeキーを押してください。起動の内容が表示されます。
    • root行は、どのデバイスのどのパーティションを扱うかを示します。
    • kernel行は、使用するカーネルと、それに渡すオプションを示します。
    • initrd行は、使用するinitramfs(initrd)を示します。
    • chainloader行は、root行で設定したパーティションのBootRecordに処理を移します。

    • boot行は設定した起動処理を実際に実行します。boot行が無くても起動設定内容の最後になれば、設定内容が実行されます。
      1. 編集したい行に↑↓キーで移動し、eキーを押すと、その行のみが表示されます。一行に収まらない場合には、「→」か「←」が表示されています。←→キーで編集したい部分に移動し、タイプすることで編集できます。編集を終えるには、ENTERキーを押します。
      2. 編集後の状態で起動を試みたい場合には、起動の内容が表示されている(root行とか、kernel行とか、chainloader行が表示されている)状態のままでbキーを押せば良いです。
      3. 編集を終えるには、Escキーを押します。

起動時のGRUBシェル(コマンドライン)での操作

  • 利用できるコマンドの一覧を表示するには、
    • help
    とタイプしてENTERキーを押してください。以後、タイプしてからENTERキーを押すことを”入力”と記します。コマンドの詳細なヘルプを見たい場合には、
    • help
    に続けて半角スペースを1つ以上タイプしてからヘルプを見たいコマンドをタイプしてからENTERキーを押してください。たとえば、geometryコマンドのヘルプを見たい場合には、
    • help geometry
    とタイプしてENTERキーを押してください。
  • 途中までタイプして、その後のありえる候補を表示させるには、TABキーを押せば良いです。候補が一つなら、補完されます。複数の候補がある場合にも複数が表示されます。
  • 現在利用したいパーティションを変更するには、
    • root
    に続けて半角スペースを1つ以上タイプしてから利用したいパーティションを表す文字をタイプしてからENTERキーを押してください。パーティションを表す文字には、以下のものがあります。
    • (hd■,▲)
    ■は、認識されているハードディスクのうちの何台目かを意味する数字です。ただし、最初が0で、2番目が1です。▲はそのハードディスクのうちの何番目のパーティションであるかを意味する数字です。これも、最初が0で、2番目が1です。ただし、この何番目であるかは、先頭からの物理的な順番を表しているのではなく、MBRに書き込まれている番号を意味しています。その番号は、端末で
    • sudo fdisk -l
    とか、「システム」ー「システム管理」ー「パーティションエディタ」で確認できます。例えば、/dev/sdc7なら、(hd2,6)となります。また、パーティションの内容が読めない場合には、エラーになりますが、そのような場合でもとにかくそのパーティションを利用するには、
    • rootnoverify
    に続けて半角スペースを1つ以上タイプしてから利用したいパーティションを表す文字をタイプしてからENTERキーを押してください。
  • 現在利用しているパーティションのBootRecord(PBR)に制御を移すには、

    • chainloader +1
    と入力してから、
    • boot
    と入力してください。
  • 特定のファイルを含むパーティションを探したい場合には、
    • find
    に続けて半角スペースを1つ以上タイプしてからファイル名をタイプしてからENTERキーを押してください。例えば、/boot/grub/stage2を含むパーティションを探したい場合には、
    • find /boot/grub/stage2
    と入力すれば良いです。
  • 特定のハードディスクに含まれるパーティションなどの情報を得たい場合には、
    • geometry
    に続けて半角スペースを1つ以上タイプしてからハードディスクを表す記号、例えば(hd■)とタイプしてからENTERキーを押してください。■は、上述のように認識されているハードディスクのうちの何台目かを意味する数字です。ただし、最初が0で、2番目が1です。
  • 特定のファイルの内容を表示したい場合には、
    • cat
    に続けて半角スペースを1つ以上タイプしてからファイル名をタイプしてからENTERキーを押してください。たとえば、現在利用しているパーティションの/boot/grub/menu.lstを表示させたい場合には、
    • cat /boot/grub/menu.lst
    と入力すれば良いです。また、
    • cat (hd0,2)/boot/grub/menu.lst
    と入力すれば、(hd0,2)、つまり第1番目のハードディスクの3番目のパーティション(/dev/sda3)の/boot/grub/menu.lstを表示させることができます。
  • MBRやPBRにGRUB(のstage1)を上書きしたい場合には、
    • setup
    に続けて半角スペースを1つ以上タイプしてからMBRまたはPBRを意味する記号をタイプしてからENTERキーを押してください。たとえば、現在利用しているパーティションの/boot/grub/stage2やmenu.lstを使うように、MBRにGRUBを上書きするには、
    • setup (hd■)
    と入力すれば良いです。■は、上書きしたいMBRの存在するハードディスクが何台目かを意味する数字です。ただし、最初が0で、2番目が1です。
    • setup (hd2,5)
    と入力すれば、(hd2,5)、つまり第3番目のハードディスクの6番目のパーティション(/dev/sdc6)のPBRにGRUBが上書きされます。
  • GRUBシェルを終えてGRUBメニューなどに戻る場合にはEscキーを押せば良いです。端末で起動しているGRUBシェルなら、
    • quit
    と入力すれば良いです。

端末でのGRUBシェル(コマンドライン)について

  • 端末でGRUBを使うには、
    • sudo grub
    と入力すれば良いです。
    • sudo grub --batch
    と入力すれば、これまでの端末での内容を表示したまま起動できます。
  • 基本的な操作方法は、上記の「起動時のGRUBシェル(コマンドライン)での操作」に記されている内容と同じです。

UbuntuJapaneseWiki: UbuntuTips/Others/GrubShell (最終更新日時 2012-01-10 11:49:13 更新者 匿名)