すべてのプロダクト
Search
ドキュメントセンター

:GRUB 構成ファイルのディスクパーティション識別子を UUID に変更する

最終更新日:Apr 01, 2025

GRUB は、オペレーティングシステムを起動するために使用されるプログラムです。 UUID またはデバイス名を GRUB 構成ファイルのディスクパーティション識別子として使用できます。 このトピックでは、GRUB 構成ファイルのディスクパーティション識別子を UUID に変更する方法について説明します。

背景情報

GRUB 構成ファイルで、デバイス名(/dev/vda1 など)を使用してディスクパーティションを識別する場合、イメージのインポート後のインスタンスの起動などの操作により、デバイス名が変更される可能性があります。 指定された UUID がディスクパーティションの実際の UUID と一致しない場合、システムの起動時にカーネルがファイルシステムのロードに失敗する可能性があります。 これにより、システムの起動に失敗する可能性があります。

手順

GRUB 構成ファイルのルートファイルシステムのディスクパーティション識別子をプログラムが読み取れるようにするために、構成ファイルで UUID を使用してディスクパーティションを識別することをお勧めします。 手順:

警告

GRUB 構成の変更はリスクの高い操作です。 操作が不適切な場合、インスタンスが起動に失敗する可能性があります。 この操作を実行する前に、データセキュリティを確保するために、インスタンスの スナップショットを作成 したことを確認してください。

GRUB バージョンを確認する

GRUB プログラムには、GRUB2GRUB Legacy の 2 つのバージョンがあります。 GRUB Legacy は、時折発生するバグ修正を除き、開発と保守は行われていません。 現在の GRUB バージョンを確認するには、次の手順を実行します。

  1. Workbench を使用して SSH 経由で Linux インスタンスに接続する

  2. 次の方法を参照して、GRUB バージョンを確認します。

    GRUB2

    次のコマンドを実行して、GRUB 構成ファイルの構造を表示します。

    sudo ls /etc/grub.d/

    次のコマンド出力が返されます。 出力に 00_header40_custom などのコンテンツが含まれている場合は、GRUB2 を使用しています。

    00_header  05_debian_theme  10_linux  20_linux_xen  30_os-prober  30_uefi-firmware  40_custom  41_custom

    GRUB Legacy

    次のコマンドを実行して、/boot ディレクトリにある構成ファイルの構造を表示します。

    sudo ls /boot/grub/

    /boot/grub ディレクトリが存在し、menu.lst という名前のファイルが含まれている場合は、GRUB Legacy を使用しています。

GRUB 構成ファイルを確認する

GRUB2GRUB Legacy は構成ファイルが異なります。

  • GRUB2:構成ファイルは通常、/boot/grub/grub.cfg または /boot/grub2/grub.cfg にあります。

  • GRUB Legacy:構成ファイルは通常、/boot/grub/menu.lst または /boot/grub/grub.conf にあります。

前の例を参照して /boot ディレクトリに移動し、GRUB 構成ファイルを確認できます。

ディスク情報を取得する

GRUB 構成ファイルの変更で後ほど使用するために、現在のインスタンスのディスクパーティション情報を取得する必要があります。 手順:

  1. 次のコマンドを実行して、現在のインスタンスのディスクパーティション情報を表示します。

    sudo blkid

    次のコマンド出力が返されます。

    /dev/vda1: LABEL="/" UUID="e7e8xxxx-xxxx-xxxx-xxxx-xxxxb9263645" TYPE="ext4" PARTUUID="0efbxxxx-01"

    上記の出力は、/dev/vda1 デバイスの UUIDe7e8xxxx-xxxx-xxxx-xxxx-xxxxb9263645 であることを示しています。

GRUB 構成ファイルを変更する

重要

次の例では、/boot/grub2/grub.cfg ディレクトリにある GRUB2 構成ファイルを使用しています。 GRUB Legacy を使用している場合、またはシステムが GRUB 構成ファイル用にカスタマイズされている場合は、手順 1 および 手順 2 に含まれるコマンドをビジネス要件に基づいて調整してください。

  1. 次のコマンドを実行して、現在の GRUB 構成ファイルをバックアップします。

    sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
    重要

    GRUB 構成ファイルを修正前の状態に復元する場合は、次のコマンドを実行します。

    sudo cp -f /boot/grub2/grub.cfg.bak /boot/grub2/grub.cfg

  2. 次のコマンドを実行して、GRUB 構成ファイルを開きます。

    sudo vim /boot/grub2/grub.cfg
  3. I キーを押して編集モードに入り、構成ファイル内の root=/dev/vda1 のすべてのインスタンスを root=UUID=e7e8xxxx-xxxx-xxxx-xxxx-xxxxb9263645 に置き換えます。

    linux   /boot/vmlinuz-3.16.0-4-amd64 root=/dev/vda1 ro single debian-installer=en_US net.ifnames=0 vga=792 console=tty0 console=ttyS0,115200n8

    変更後のコンテンツ:

    linux   /boot/vmlinuz-3.16.0-4-amd64 root=UUID=e7e8xxxx-xxxx-xxxx-xxxx-xxxxb9263645 ro single debian-installer=en_US net.ifnames=0 vga=792 console=tty0 console=ttyS0,115200n8
  4. Esc キーを押して編集モードを終了します。 :wq と入力し、Enter キーを押してファイルを保存して閉じます。

  5. (オプション) 変更後に次のコマンドを実行して構成ファイルを表示します。 GRUB 構成ファイルで構成されているディスクパーティション識別子がすべて UUID に変更されていることを確認します。

    sudo cat /boot/grub2/grub.cfg

参照

fstab ファイルを構成してデータディスクをマウントする方法については、「fstab ファイルで UUID を構成してデータディスクを自動的にマウントする」をご参照ください。