web-dev-qa-db-ja.com

デュアルブートセットアップでgrubを一時的に無効化/アンインストールしてから、grubを最初の状態に復元します

Grub 2.02-beta2でデュアルブートセットアップを使用しています。これにより、x64デスクトップマシンでWindows7とArchLinuxを切り替えることができます。これらは両方とも、同じ物理HDDのC:ドライブにインストールされています。 (一般的な解決策は、BIOSを切り替えてWindows HDDから起動することでしたが、これは私には不可能です)

マイクロソフトは、GRUBブートローダーを使用すると、再起動時にインストールが失敗する、厄介な2016年10月のセキュリティ更新プログラムをリリースしました。したがって、次のことを実現しようとしています。

  • GRUBブートローダーを無効にして、Linuxデータ(Cの1つのパーティションとDの1つのパーティション)を失うことなく、PCが自動的にWindowsで起動するようにします)
  • すべてのアップデートをインストールし、数回再起動します
  • Live CDまたは類似のものを使用して、データを失うことなく、GRUBに対して以前の構成を復元します。
3
Gaze

さて、今日私はついに時間があり、これをしました。これはしばらく時間がかかります。これらのコマンドを実行する前に、UEFIまたはBIOSシステムがあるかどうか、GPTまたはMBRパーティションテーブルがあるかどうかを確認してください。明らかに、これには0の保証が付いています、これは私のために働いたものです、私は多くのStackOverflowと他のフォーラムの回答を使用しました。残念ながら、リンクできるのは2つだけです。

ステップ0:BACKUP BACKUP BACKUP。私はReflectを使用しました、それは無料です、それは仕事をします、他のたくさんのオプションがあります。大容量の外付けHDDを入手し、ファイルをクラウドに配置します(プライバシーが心配な場合は、Cryptomatorをお勧めします。たとえば、Googleドライブでは15ギガを無料で提供します)。深刻なことに、あらゆる種類のものがうまくいかず、本当のチャンスがあります少なくとも1つのOSを再インストールする必要がある場合があります。

ステップ1:GRUBをアンインストール/上書きします。

私にとって、これは最も時間がかかったものでした。基本的に、あなたがしたいのはMBRを上書きすることです(私はこれらの技術に精通していません。UEFIまたはBIOSを持っているかどうか(私はUEFIを持っています)、そしてパーティションテーブルがGPTであるかどうかを確認する必要がありますまたはMBR。何らかの理由でMBRを使用していますが、これは古い標準です。)GRUB Windowsを直接指す場合は、更新プログラムをインストールできます。

これを行う方法の説明は here にあります。最初にWindowsで試してみることをお勧めします。Windowsがこの時点で2時間ほど起動しないため、非常に時間がかかりました。結局、スタートアップの修正は機能しませんでした。 BIOSでUEFIではなくUSBを選択し、プロンプトで多くのコマンドを実行する必要がありました。

bootrec /fixmbr
bootrec /fixboot

「要素が見つかりません」でfixbootが失敗しました。それから私は this の記事に従いました、特に(注意!ドライブ文字をあなたに合ったものに変更してください)bcdboot C:\ Windows/SC:bootrecのものを実行し、パーティションをアクティブに設定し、スタートアップを実行します一度、そしてうまくいけば、あなたの窓は今すぐ起動します。

このステータスに達したら、ウィンドウを数回再起動し、すべての更新プログラムをインストールして、新しい安全なシステムに満足することができます。次に、Linuxを復活させたいと考えています。

ステップ2:grubを再インストールします

このため、私はHDDからArch Linuxを起動するのが常でした。ここで、起動するためにmv/dev/disk/by-label/MYLINUXLIVE/dev/disk/by-label/Arch_を実行する必要がありました。次に、Sudo fdisk -lを使用してLinuxパーティションを見つけました。これをマウントしてchrootします。Sudo mount/dev/sdXY/mnt Sudo Arch-chroot次に、MBRを上書きするgrubをインストールします。 sudo grub-install --target = i386-pc --recheck/dev/sdUV grub-mkconfig -o /boot/grub/grub.cfg exit reboot

これでうまくいけば、grubが起動します。今私にとって、これは最初はウィンドウを見つけられませんでしたが、これは簡単に修正できます。

ステップ3:Windowsエントリをgrubに追加し直します(オプション)

古いArch/Linuxインストールを起動し、os-probeを実行すると、ウィンドウが検出され、Sudo grub-updateが実行されます。 Archにはデフォルトでgrub-updateがないので、ここにソースコードがあります:

#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

この後、問題のあるアップデートがインストールされ、いくつかの神経を失ったことを除いて、すべてが以前と同じです。

2
Gaze