Ubuntuのブートファイルを食べたWindows7をインストールしました。 コンピュータを起動するとき、それは今私にUbuntuを起動するオプションを与えることなく、Windowsにまっすぐに行きます。
Ubuntuを取り戻すにはどうすればよいですか?
Ubuntuのブートファイルを食べたWindows7をインストールしました。 コンピュータを起動するとき、それは今私にUbuntuを起動するオプションを与えることなく、Windowsにまっすぐに行きます。
Ubuntuを取り戻すにはどうすればよいですか?
Windowsをインストールすると、Windowsはそれがマシン上の唯一のオペレーティングシステム(OS)であると想定します。 したがって、GRUBを独自のブートローダに置き換えます。 あなたがしなければならないことは、WINDOWSブートローダーをGRUBに置き換えることです。 私はGRUBコマンドやそのようなものを使ってgrubを置き換えるためのさまざまな指示を見てきましたが、私にとって最も簡単な方法は単純にするこ chroot
あなたのインストールと実行に update-grub
. chroot
それはあなたがあなたの実際のインストールで作業することができますので、素晴らしいです,代わりにあちこちに物事をリダイレ それは本当にきれいです。
ここではどのように:
メインパーティションのパーティション番号を決定します。 sudo fdisk -l
, 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/bootsudo mount /dev/sdXY /mnt/varsudo 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/sdaupdate-grub # In order to find and add windows to grub menu.
UbuntuがEFIモードでインストールされていて、efiパーティションのUUIDが変更されている場合は、次のように更新する必要があります。 /etc/fstab
. それを比較する:
blkid | grep -i efigrep -i efi /etc/fstab
現在のefiパーティションUUID(から blkid
)のものとは異なります。 /etc/fstab
、更新 /etc/fstab
現在のUUIDを使用します。
すべてがエラーなしで働いていた場合、あなたはすべて設定されています:
exitsudo reboot
この時点で、正常に起動できるはずです。
正常に起動できず、エラーメッセージが表示されなかったために手順8を実行しなかった場合は、手順8で再試行してください。
Windowsインストーラは、システム内の他のOSを気にしません。 そのため、マスターブートレコードに独自のコードを書き込みます。 幸いなことに、解決策も簡単です。
MBRを修復する必要があります。 次の操作を行います
Ubuntuのライブusb/cdを使用して起動します。 使用 boot-repair
問題を解決するには。
ライブusb/cdで起動した後、ターミナルで次のコマンドを実行します:
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get updatesudo apt-get install -y boot-repair && boot-repair
使用 Recomended Repair
.
ライブUbuntu USB pendriveまたはCDandから起動します
次の手順でubuntuにBoot-Repairをインストールします
ターミナルを開き、次のコマンドを実行します
sudo add-apt-repository ppa:yannubuntu/boot-repairsudo apt-get updatesudo apt-get install boot-repair
>>インストールが完了したら、Gnomeを使用している場合はSystem-Administration-Boot-Repairメニューから起動し、Unityを使用している場合はダッシュで"boot-repair"を検索することができます。 次に、次のスクリーンショットに従ってください:
方法1
[適用]を押してシステムを再起動します
方法2
ちょうど取付けて下さい easyBCD
Windows7では、
>>>新しいエントリの追加Linux/BSD(select)Grub2(push)エントリの追加
その後、選択することができます Ubuntu に行くには、Windows7のブートローダで Grub2 (以前のブートローダ)。
EFIベースのシステム(Windows8以降に同梱されているほとんどのシステムなど)では、Windowsはブートローダーを更新したり、既定のブートローダーにリセットしたりすること これは、OSを再インストールしたり、主要なシステム更新(たとえば、最新のWindowsリリースへのアップグレード)を実行したりするときに特に一般的です。 Windowsは、EFIベースのコンピュータ上のGRUBファイルを実際に消去する可能性は低いことに注意してください。 Ubuntuを起動するために必要なものはすべてまだ準備されています。 これらのケースでは、GRUBの完全な再インストールはやり過ぎであり、実際には新しい問題を引き起こす可能性が(小さな)あります。
したがって、これらの場合にGRUBを再インストールする代わりに、GRUB(または任意のブートローダーまたはブートマネージャ)をデフォルトにリセットすることをお勧 これを行うには、次のようないくつかの方法があります:
ubuntu
ブートオプションのリストにエントリを追加し、リストの一番上に移動します。 次回再起動すると、GRUBが表示されます。 (GRUB以外のものを使用する場合は、そのエントリを見つける必要があります。)bcdedit
--窓 bcdedit
ツールを使用して、GRUBをデフォルトの起動順序に設定できます。 コマンド bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
、入力された 管理者 ただし、コンピュータがセキュアブートをアクティブにして起動した場合は、この操作を行います, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
代わりに必要になります。 実際、後者のコマンドは次のようになります 通常は Secure Bootが使用されていなくても動作するので、最初にそのコマンドを使用します。 私が提示したものとは少し異なる構文を必要とするより高度なWindowsシェルツールがあることに注意してください、しかし私は詳細を覚えていません。ubuntu
Ubuntuを起動するためのエントリがこのブートマネージャメニューに表示され、Ubuntuを起動できるようになります。 または、「インストールする前に試してみてください」モードで起動したインストーラのように、Ubuntu emergency mediumで起動することもできます。 いずれにしても、次のように使用できます efibootmgr
起動順序を調整するには:sudo efibootmgr
ブートエントリを表示するには。BootOrder
ライン。ubuntu
そして、その注意してください Boot####
番号。sudo efibootmgr -o xxxx[,yyyy,zzzz,....]
起動順序を変更するには、次のようにします xxxx
Ubuntuの番号。 その後のことはあまり重要ではありませんが、Windowsがリストにない場合は、起動順序の先頭に戻ってくる可能性が高いと指摘しました。 したがって、おそらくWindowsがリストに含まれていることを確認する必要があり、元のエントリがすべてそこにあるようにリストを並べ替えるのが最も安 ubuntu
エントリがリストの先頭に移動しました。これらの手順には、次のような他の変形があります bcfg
EFIシェルでは、次を使用します bless
macOSでは、私の レフィンド ワンタイムブートなどを行うには それは最も簡単な解決策である可能性が高いです。 時々Windowsは、しかし、それが起動するたびに自分自身をデフォルトにすることを主張し、レポートはそれを示しています bcdedit
その問題に対処するより良い仕事をするかもしれません。
ただし、Windows8以降に同梱されているほとんどのコンピュータがEFIモードで起動するため、BIOSモードのインストールはますますまれになるため、多くの場合、grubを盲目的に再インストールするのではなく、EFIの方法で問題に対処することをお勧めします。
今ではより簡単な解決策があります:
これは、サムスンシリーズ7ChronosラップトップデュアルブートWindows8とUbuntu13.10、セキュアブート無効、UEFIとレガシーブート有効に上でテストされています。
ブート修理は私のために働いた。 それはあなたがコマンドラインを使用する必要はありません、あなただけのボタンをクリックする必要があり、非常に非常に簡単にグラフィカルア
使用可能なすべての修復オプションについては、次の表に記載されています。 Ubuntuドキュメント そして、そこには 個別ページ ブート修復を開始する方法(ブータブルディスクを作成するか、既存のUbuntu liveディスクにインストールすることによって)とその使用方法を説明します。
UbuntuライブCDを起動し、Boot-Repairをインストールして実行するだけです。
GRUBが壊れている場合、ユーザーは一般的にシステムにアクセスできないため、ライブセッション(live-CDまたはlive-USB)から修復を実行する必要があります。
GRUBの破損には、MBR上でのWindowsの書き込み、DRMによるGRUBの正しくインストールの防止、インストーラのバグ、ハードウェアの変更など、多くの原因が考えられます。..Scottが最初に提案したGRUBの更新は一般的には十分ではなく、Marcoが提案したGRUBの再インストールはより効率的ですが、他の調整(カーネルへのオプションの追加、GRUBメニューの再表示、GRUBオプションの変更、適切なホストアーキテクチャの選択)を必要とするさまざまな状況があります。..).GRUBを修復するための他の困難は、chrootの使用、および適切なパーティション/ディスクの選択です。
このすべては、少しグラフィカルなツールで簡単に行われています: ブーツ修理. それは簡単に使用するためにUbuntu12.04CDに統合されていますが、今それを必要とする人々のために、それを統合するいくつかのディストリビューションがすでに..
これが役立つことを願っています。
ScottとWeb-Eによって与えられた答えは十分であり、何度も何度も助けてきました。 しかし、何度も、ブート修復ツールは、i386とamd64プラットフォームに関連する問題、またはgrubが見つからない問題のためにgrubを修復することができません efi
ディレクトリ。
私の問題を10回以上解決したのは、古いgrubインストールを手動でパージして新しいものをインストールすることです。
だから、最初のスコットのからの最初の6つのステップを実行します ともかく エラーが発生した場合は、5番目のステップをスキップできます:
- 「Ubuntuを試す」モードで、ライブCDまたはライブUSBから起動します。
メインパーティションのパーティション番号を決定します。
sudo fdisk -l
,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/bootsudo mount /dev/sdXY /mnt/varsudo 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モードでインストールされている場合([不明な場合はこの回答を参照してください][efi])、次のように使用します
sudo fdisk -l | grep -i efi
またはGPartedを使用してEFIパーティションを検索します。 それはのラベルを持っていますEFI
. このパーティションをマウントし、sdXY
お使いのシステムの実際のパーティション番号を使用して:sudo mount /dev/sdXY /mnt/boot/efi
chroot
あなたのUbuntuのインストールに:sudo chroot /mnt
次に、次の手順を実行します:
sudo dpkg --configure -a
sudo apt install -fy
sudo apt purge -y grub*-common grub-common:i386 shim-signed
sudo apt install -y grub-pc
sdXY
ブートローダをインストールする。 現在のOSがインストールされている場所を見つけるには sudo fdisk -l
コマンド。 それは次のように分類されます Linux
. を使用してそのウィンドウを移動します Tab キーを使用してオプションを選択し、 Space キー。 sudo grub-update
ダブルチェックのために。それでも問題が解決しない場合は、次を読むことができます Archさんのウィキ 他の多くの種類の問題に取り組むためにgrubについて実際に理解する。 (はい、Ubuntuにも役立ちます!).
Scott Severanceの答えは有効で詳細ですが、必要な解決策があります 外部ブートデバイスなし そして、すべてのUbuntuパーティションを識別して手動でマウントする必要はありません。 chroot
.
Windows10では、次のものを使用できます Advanced Recovery
デバイスを選択するには(パーティション?)から起動する。
に行く Settings
を選択してください。 Update & Security
:
に行く Recovery
:
から Advanced Startup
選択 Restart Now
次に選択します Use a Device
そして、すべての起動オプションがあなたに提示されるべきです。 "Ubuntu"パーティションを選択すると、PCはそのパーティションから起動する必要があります。
私の通常のUbuntu環境で起動したら、私はちょうど実行しようとしました grub-update
しかし、それは何の変化もありませんでした。
私はその後、私のを見つけました /boot/efi
だったパーティション /dev/nvme0n1p1
そして走った sudo grub-install /dev/nvme0n1p1
そして sudo update-grub
.
新しいWindows10ポリシーがあるように見えるので、これは私のマスターブートレコードを複数回復元しました マイナーアップデートでのブート情報の上書き.
関連(GRUBが間違ったドライブのMBRにインストールされたとき):[ubuntuをインストールした後のGrub rescueの問題](boot - Grub rescue after installing Ubuntu on a external HDD from USB - Ask Ubuntu
注:受け入れられた答えは、grubを修復する方法に関する一般的な指示です。 また、GRUBがインストーラによって誤って書かれている場合(ubiquity)、さまざまな状況にも適用できます。
私はこれが古いスレッドであることを知っていますが、biosのブートモードをUEFIからレガシーに変更することで問題を修正しました。
私はそれが一般的な仕事だと思います、私はまた2つのHddとUbuntu+Windowsを持っています。 私はあなたが正しい方法でそれを修復することを願っています。 [これ]をフォローしてみてください(https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows)チュートリアル。 ご質問は、私に尋ねる!
はい、できますが、通常の起動とwindowsでのインストールを行うだけで、コンピュータの起動時にGrubブートメニューに表示されます。