GNU/Linux >> Linux の 問題 >  >> Ubuntu

グラブを修復する方法は? (Windowsのインストール後にUbuntuを元に戻す方法は?)?

Ubuntuのブートファイルを食べたWindows7をインストールしました。コンピューターを起動すると、Ubuntuを起動するオプションが表示されずに、Windowsに直接アクセスできるようになりました。

Ubuntuを取り戻すにはどうすればよいですか?

承認された回答:

Windowsをインストールすると、Windowsはそれがマシン上の唯一のオペレーティングシステム(OS)であるか、少なくともLinuxを考慮していないと見なします。そのため、GRUBを独自のブートローダーに置き換えます。あなたがしなければならないことは、WindowsブートローダーをGRUBに置き換えることです。 GRUBコマンドなどをいじってGRUBを置き換えるためのさまざまな手順を見てきましたが、私にとって最も簡単な方法は、単に chrootすることです。 インストールに挿入し、 update-grubを実行します 。 chroot あちこちにリダイレクトしようとするのではなく、実際のインストールで作業できるので素晴らしいです。本当にきれいです。

方法は次のとおりです。

  1. 「Ubuntuを試す」モードで、ライブCDまたはライブUSBから起動します。
  2. メインパーティションのパーティション番号を決定します。 sudo fdisk -l <​​/ code> 、 sudo blkid またはGParted(デフォルトではライブセッションにすでにインストールされているはずです)がここで役に立ちます。この回答では、 / dev / sda2であると想定します。 、ただし、システムに正しいパーティション番号を使用していることを確認してください!

    メインパーティションがLVMにある場合 、代わりにデバイスは / dev / mapper /に配置されます 、おそらく、 / dev / mapper / {volume}-{os} -root ここで、 {volume} LVMボリューム名と{os}です。 オペレーティングシステムです。 ls / dev / mapperを実行します 正確な名前。

  3. パーティションをマウントします:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    別の/bootがある場合 、 / var または/usr パーティション 、手順2と3を繰り返して、これらのパーティションを / mnt / bootにマウントします。 、 / mnt / var および/mnt / usr それぞれ。たとえば、

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    sdXWを置き換える 、 sdXY 、および sdXZ それぞれのパーティション番号で。

  4. 他の必要なものをバインドマウントします:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. UbuntuがEFIモードでインストールされている場合(不明な場合はこの回答を参照してください)、 sudo fdisk-l|を使用します。 grep -i efi またはGPartedを使用してEFIパーティションを検索します。 EFIのラベルが付けられます 。 sdXY を置き換えて、このパーティションをマウントします システムの実際のパーティション番号:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot Ubuntuインストールに:

    sudo chroot /mnt
    
  7. この時点で、ライブセッションではなくインストールが行われ、rootとして実行されています。 grubを更新する:

    update-grub
    

    エラーが発生した場合、または手順7に進んでも問題が解決しない場合は、手順8に進みます(それ以外の場合はオプションです)。

  8. 状況によっては、grubを再インストールする必要がある場合があります:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. UbuntuがEFIモードでインストールされていて、EFIパーティションのUUIDが変更されている場合は、 / etc / fstabで更新する必要があります。 。比較してください:

    blkid | grep -i efi
    grep -i efi /etc/fstab
    

    現在のEFIパーティションUUIDの場合( blkid から) ) / etc / fstabのものとは異なります 、 / etc / fstabを更新します 現在のUUIDを使用します。

  10. すべてがエラーなしで機能した場合は、すべて設定されています:

    exit
    sudo reboot
    
  11. この時点で、正常に起動できるはずです。

関連:UEFIのみの起動可能なUSBライブメディアを作成するにはどうすればよいですか?

正常に起動できず、エラーメッセージが表示されなかったために手順8を実行しなかった場合は、手順8で再試行してください。

  • GRUB2に正しい構成を与えることがあります パーティションは十分ではないため、実際にマスターブートレコードにインストール(または再インストール)する必要があります。これはステップ8で行われます。チャットでユーザーを支援した経験から、エラーメッセージが表示されていない場合でも、手順8が必要になることがあります。

Ubuntu
  1. Macbook ProにUbuntuをインストールした後、Windowsブートローダーを修復しますか?

  2. 私が持っているのがGrubだけのときにUbuntuをロードする方法は?

  3. Ubuntu 12.10をインストールした後、Grubがなく、Windows 8を起動できませんか?

  1. Ubuntu22.04で以前のGNOMEスクリーンショットツールを元に戻す方法

  2. Centos – Centos 7をインストールした後にWindowsのブートオプションが見つからない場合、どうすれば元に戻すことができますか?

  3. RAID 0をインストールした後、GrubはWindows 7を見つけることができませんでしたか?

  1. 12:04をインストールした後、Grubは「そのようなパーティションがない」と文句を言いますか?

  2. 起動時にWindowsパーティションを自動マウントする方法は?

  3. ブート修復を使用してUbuntuをインストールした後、Windows 8がGrub経由で起動しませんか?