Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

Windows 10へのアップグレード後に消えたUbuntuのGRUBブートメニューを復元する2つの方法

1台のPCにWindowsとUbuntu(またはLubuntu、XubuntuなどのUbuntu系ディストリビューション)を別々のパーティションへインストールし、デュアルブート環境を構築しているユーザーは少なくありません。しかし、Windows 7からWindows 10へアップグレードした後、PCの起動時にGRUBブートメニューが表示されなくなり、そのままWindows 10が立ち上がってしまうトラブルが頻繁に報告されています。

原因は、Windows 10のインストーラーがGRUBメニューを更新する仕組みを持っておらず、Microsoft独自のブートローダーがLinuxと互換性がないことにあります。Windows 10の内部でUbuntuを利用すること自体は可能ですが、従来と同じ形でデュアルブートを実現したいなら、別途修復作業が必要になります。幸い、アップグレード時にUbuntuのパーティションが削除されていなければ、以下のいずれかの方法でGRUBメニューを復元できます。まずは通常どおりWindows 10を起動し、作業を始めましょう。

方法1:「Boot Repair」ツールで自動修復する

手順1:高速スタートアップを無効にする

クラシック版のコントロールパネルを開きます(スタートボタンを右クリックするか、Win+Rキーで「control」と入力してEnter)。モダン版の設定画面しか開けない場合は、管理者としてコマンドプロンプトを起動し、「control」と入力する方法も有効です(Windows 8や8.1でも同様の現象が見られます)。「電源オプション」を開き、「電源ボタンの動作を選択する」→「現在利用可能ではない設定を変更します」をクリックして、「高速スタートアップを有効にする」のチェックを外してOKを押します。確認を求められたら許可してください。完了したらコントロールパネルを閉じます。

手順2:Ubuntuの起動用USBメディアを作成する

当初Ubuntuをインストールしたときと同じ要領で、ライブ起動用のUSBメモリやSDカードを作成します。別途Linuxマシンがあれば、UbuntuのDashメニューから「起動ディスクの作成」ツールを起動するか、LubuntuやXubuntuでは usb-creator-gtk コマンドを使ってください。公式サイトからISOイメージをダウンロードし、ddコマンドで書き込む方法もあります。

Linux環境がまったく手元にない場合は、Rufusというツールを利用しましょう。同名を騙る偽装ソフトが存在するため、必ず公式サイト(https://rufus.akeo.ie/)など信頼できる配布元から入手してください。Rufusを起動したらISOイメージを読み込み、空のメディアへ書き込みます。書き込み先メディアの既存データはすべて消去されるので注意してください。

手順3:Boot Repairを実行する

作成したメディアからUbuntuのライブ環境を起動し、端末を開いて以下のコマンドを1行ずつEnterキーを押しながら実行します。

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

これでBoot Repairのリポジトリが登録され、ソフトウェアがインストールされた後、自動的にプログラムが起動します。作業中はネットワーク接続が必要です。画面にいくつかの選択肢が表示されますが、「推奨修復(Recommended Repair)」をクリックすれば、あとはプログラムが自動で処理を進めてくれます。完了後、内蔵ドライブから再起動すると、GRUBメニューが復活し、WindowsとUbuntuのどちらを起動するかを選べるようになっているはずです。

方法2:WindowsとLinuxのコマンドラインで手動修復する

手順1:Windows側での準備

方法1と同様に、先に高速スタートアップを無効にします。今回はコントロールパネルを閉じた後も、管理者権限のコマンドプロンプトを開いたままにしておきます。休止状態機能を無効化する必要があるため、以下のコマンドを実行してください。

powercfg /h off

出力はほぼ表示されませんが、正常に処理されています。続けて shutdown -s -t 00 を実行し、PCを完全にシャットダウンしましょう。Windows 8以降、「シャットダウン」の挙動が変更されているため、この手順を省略しないことが重要です。

手順2:ライブ環境を起動してパーティションを特定する

作成済みのインストールメディアからPCを起動し、Dashから端末を開きます(Ctrl+Alt+Tのショートカットキーでも開けます)。どちらの方法でも共通して、まずGRUBがインストールされているディスクやパーティションの割り当てを確認しておきましょう。GPartedや「ディスク」ユーティリティで確認するか、端末で sudo fdisk -l を実行してください。

手順3:レガシーBIOS+MBR環境での復元

旧来のBIOSブートモードでMBRパーティション方式のディスクをお使いの場合は、GRUBが存在するシステムパーティションをマウントします。

sudo mount /dev/sda1 /mnt

「sda1」の部分は実際の環境に合わせて読み替えてください(sda2などの場合もあります)。マウントできたら、次のコマンドでGRUBを再インストールします。

sudo grub-install --boot-directory=/mnt/boot /dev/sda

手順4:UEFI+GPT環境での復元

UEFI搭載機では、システムパーティションに加えてEFIパーティションもマウントする必要があり、少し手順が増えます。端末から以下を順に実行してください。

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sda
update-grub

最後の grub-install で指定するのはパーティション番号ではなくディスク全体(多くの場合 /dev/sda)です。MBRパーティションテーブルではWindowsと同じディスクへGRUBをインストールし、GPTレイアウトではEFIパーティション側へインストールする点に注意してください。

まとめ

Windows 10へのアップグレードでGRUBメニューが消えても、Ubuntuのパーティションさえ残っていれば復元は十分可能です。手軽さを重視するならGUIのBoot Repairツール、細部まで制御したいならコマンドラインからの手動修復がおすすめです。作業前に重要なデータのバックアップを取っておくことを忘れないようにしましょう。

著者について

Windows 10へのアップグレード後に消えたUbuntuのGRUBブートメニューを復元する2つの方法

Kevin Arrows(ケヴィン・アローズ)

Kevin Arrowsは、10年以上の業界経験を持つベテランのテクノロジースペシャリストです。Microsoft認定テクノロジースペシャリスト(MCTS)の資格を保有し、最新技術情報のキャッチアップに情熱を注いでいます。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い分野で執筆活動を行っており、複雑な技術概念を平易かつ簡潔に説明する能力で同業者から高く評価されています。

  1. manページで文字列を手軽に検索する方法:知っておきたいヒントとコツ

    manコマンドを使えば、名前が分かっているコマンドの情報を簡単に調べることができます。しかし、コマンド名をうっかり忘れてしまった場合には苦労することもあるでしょう。さらに、bashやmplayerのように非常に長いマニュアルページでは、目的の情報を文中から見つけ出すのが一苦労です。幸い、こうした場面で役立つテクニックがいくつか存在します。まずはターミナルを開きましょう。Ubuntu Unity Dashで「terminal」と検索するか、Ctrl+Alt+Tキーを押せば起動できます。Xfce4、Cinnamon、KDE、LXDEをお使いの場合は、「アプリケーション」メニューから「システムツール

  2. Ubuntuデスクトップのアイコンサイズを変更・調整する方法【ステップ別ガイド】

    Ubuntuデスクトップのアイコンが急に大きすぎると感じたら、誤って表示倍率を変更してしまった可能性があります。これはマウスのスクロールホイールの操作ミスや、タッチパッド・タッチスクリーンの誤触でも簡単に起こり得ます。まずはデスクトップ上でCtrlキーを押しながらスクロールホイールを回してみてください。これで元に戻れば、単にズーム倍率が変わっていただけなので、そのまま快適に使い続けられます。もしアイコンそのものではなく、下に表示されるラベル文字が問題である場合は、端末で次のコマンドを実行してみましょう。gsettings set org.gnome.nautilus.desktop font