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

    • すべて (14.04 Trusty Tahr で確認)

はじめに


  • GRUB 2を再インストールするために RepairMbrWithGrub : 内部リンク を参考してもうまく起動できなかったり、
    起動できても実行してみるとエラーになる事があるかもしれません。例えば、

      $ sudo grub-install /dev/sda
      Installing for i386-pc platform.
      grub-install: error: failed to get canonical path of `/cow'.

    です。
    ここではchrootコマンドを使ったGRUB 2のインストール方法を説明します。

    1. LiveDVD , LiveUSB から起動してください。(起動オプションの変更で boot=casper の変更はしないで下さい。)

    2. 端末 : 内部リンク を使って以下の操作をして下さい。


事前調査

  • 現在動作しているのが UEFI 環境下か LegacyBIOS (CSM) 環境下かを確認して下さい。

    ls -ld /sys/firmware/efi

    でディレクトリーが存在していたら UEFI で動作しています。

GRUB 2をインストール

UEFI , GPT の場合

  • インストールしたいデバイスが /dev/sdb だとします。

    /dev/sdb

    マウントポイント

    partition1

    fat32

    /boot/efi

    partition2

    ext4

    /

    パーティションを分けている時は別途マウントして下さい。

    事故防止の為、
    /dev/sdXY
    /dev/sdXZ
    に置き換えます。Xb , Y1 , Z2 と考えて下さい。

    ※ 各行の最初にある '$' , '#' はシステムが表示するものです。それぞれ「ユーザー権限」「管理者権限」で実行する事を示します。一緒に入力(コピー&ペースト)しないでください。
    
      $ sudo mount /dev/sdXZ /mnt
      $ sudo mount /dev/sdXY /mnt/boot/efi
      $ sudo mount --bind /dev /mnt/dev
      $ sudo mount --bind /dev/pts /mnt/dev/pts
      $ sudo mount --bind /proc /mnt/proc
      $ sudo mount --bind /sys /mnt/sys
      $ modprobe efivars
      $ sudo chroot /mnt
    
      # grub-install /dev/sdX
      # update-grub
      # exit
    
      $ sudo umount -lf /mnt/sys
      $ sudo umount -lf /mnt/proc
      $ sudo umount -lf /mnt/dev/pts
      $ sudo umount -lf /mnt/dev
      $ sudo umount -lf /mnt/boot/efi
      $ sudo umount -lf /mnt

    自分が確認した限り(ソースは見ていません。)ですが、grub-install を実行する事によって

    1. nvram ( EFIでのブートエントリー ) への追加。
    2. ESP ( EFI System Partition ) 内の /boot/efi/EFI/ubuntu を以下を作成。
    3. 設定ファイルの作成。

    をしている様です。


LegacyBIOS (CSM) , MBR の場合

  • インストールしたいデバイスが /dev/sdb だとします。

    /dev/sdb

    マウントポイント

    partition1

    ext4

    /

    パーティションを分けている時は別途マウントして下さい。

    事故防止の為、
    /dev/sdXY
    に置き換えます。Xb , Y1 と考えて下さい。

    ※ 各行の最初にある '$' , '#' はシステムが表示するものです。それぞれ「ユーザー権限」「管理者権限」で実行する事を示します。一緒に入力(コピー&ペースト)しないでください。
    
      $ sudo mount /dev/sdXY /mnt
      $ sudo mount --bind /dev /mnt/dev
      $ sudo mount --bind /dev/pts /mnt/dev/pts
      $ sudo mount --bind /proc /mnt/proc
      $ sudo mount --bind /sys /mnt/sys
      $ sudo chroot /mnt
    
      # grub-install /dev/sdX
      # update-grub
      # exit
    
      $ sudo umount -lf /mnt/sys
      $ sudo umount -lf /mnt/proc
      $ sudo umount -lf /mnt/dev/pts
      $ sudo umount -lf /mnt/dev
      $ sudo umount -lf /mnt


内部リンク

RepairMbrWithGrub : 内部リンク
BootOptions (起動オプション変更画面の様子) : 内部リンク

外部リンク

Grub2 Installing : help.ubuntu.com
Installing Grub2 for EFI and BIOS mode on USB drive : ubuntuforums.org
GrubEFIReinstall : wiki.debian.org

UbuntuJapaneseWiki: UbuntuTips/Others/ReinstallGrub2 (最終更新日時 2016-01-05 10:49:45 更新者 MakotoHasegawa)