Ubuntuのブートファイルを食べたWindows7をインストールしました。コンピューターを起動すると、Ubuntuを起動するオプションが表示されずに、Windowsに直接アクセスできるようになりました。
Ubuntuを取り戻すにはどうすればよいですか?
承認された回答:
Windowsをインストールすると、Windowsはそれがマシン上の唯一のオペレーティングシステム(OS)であるか、少なくともLinuxを考慮していないと見なします。そのため、GRUBを独自のブートローダーに置き換えます。あなたがしなければならないことは、WindowsブートローダーをGRUBに置き換えることです。 GRUBコマンドなどをいじってGRUBを置き換えるためのさまざまな手順を見てきましたが、私にとって最も簡単な方法は、単に chroot
することです。 インストールに挿入し、 update-grub
を実行します 。 chroot
あちこちにリダイレクトしようとするのではなく、実際のインストールで作業できるので素晴らしいです。本当にきれいです。
方法は次のとおりです。
- 「Ubuntuを試す」モードで、ライブCDまたはライブUSBから起動します。
-
メインパーティションのパーティション番号を決定します。
sudo fdisk -l </ code> 、
sudo blkid
またはGParted(デフォルトではライブセッションにすでにインストールされているはずです)がここで役に立ちます。この回答では、/ dev / sda2
であると想定します。 、ただし、システムに正しいパーティション番号を使用していることを確認してください!メインパーティションがLVMにある場合 、代わりにデバイスは
/ dev / mapper /
に配置されます 、おそらく、/ dev / mapper / {volume}-{os} -root
ここで、{volume}
LVMボリューム名と{os}
です。 オペレーティングシステムです。ls / dev / mapper
を実行します 正確な名前。 -
パーティションをマウントします:
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
それぞれのパーティション番号で。 -
他の必要なものをバインドマウントします:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
-
UbuntuがEFIモードでインストールされている場合(不明な場合はこの回答を参照してください)、
sudo fdisk-l|を使用します。 grep -i efi
またはGPartedを使用してEFIパーティションを検索します。EFI
のラベルが付けられます 。sdXY
を置き換えて、このパーティションをマウントします システムの実際のパーティション番号:sudo mount /dev/sdXY /mnt/boot/efi
-
chroot
Ubuntuインストールに:sudo chroot /mnt
-
この時点で、ライブセッションではなくインストールが行われ、rootとして実行されています。 grubを更新する:
update-grub
エラーが発生した場合、または手順7に進んでも問題が解決しない場合は、手順8に進みます(それ以外の場合はオプションです)。
-
状況によっては、grubを再インストールする必要がある場合があります:
grub-install /dev/sda update-grub # In order to find and add windows to grub menu.
-
UbuntuがEFIモードでインストールされていて、EFIパーティションのUUIDが変更されている場合は、
/ etc / fstab
で更新する必要があります。 。比較してください:blkid | grep -i efi grep -i efi /etc/fstab
現在のEFIパーティションUUIDの場合(
blkid
から) )/ etc / fstab
のものとは異なります 、/ etc / fstab
を更新します 現在のUUIDを使用します。 -
すべてがエラーなしで機能した場合は、すべて設定されています:
exit sudo reboot
-
この時点で、正常に起動できるはずです。
正常に起動できず、エラーメッセージが表示されなかったために手順8を実行しなかった場合は、手順8で再試行してください。
- GRUB2に正しい構成を与えることがあります パーティションは十分ではないため、実際にマスターブートレコードにインストール(または再インストール)する必要があります。これはステップ8で行われます。チャットでユーザーを支援した経験から、エラーメッセージが表示されていない場合でも、手順8が必要になることがあります。