
外付けハードドライブに Linux をインストールしましたが、外付けハードドライブを取り外すと Windows にアクセスできなくなります (GRUB のようなものが表示されますが、GRUB は外付けハードドライブ内にあります)。外付け HD を戻して GRUB が表示されたら Windows を選択し、Windows で HD を取り外すと Windows は正常に動作します。HD を接続しなくても、以前のように Windows を正常に使用できる方法はありますか?
答え1
どうやら、grub を内蔵ドライブにインストールしたようです。おそらく、モジュールと grub.cfg は外付けドライブにあるでしょうが、ブート コード (または UEFI システムの場合は EFI バイナリ) は内蔵ドライブの MBR (および MBR 後のギャップ / BIOS ブート パーティション) にインストールされています。外付けドライブを取り外すと、grub RESCUE シェルが表示されるはずです。
解決策は、grubを適切に再インストールすることです。たとえば、
/dev/sda
: 内蔵Windowsドライブ/dev/sdb
: 外付けLinuxドライブ
あなたが行ったことはおそらく次のとおりです:
grub-install /dev/sda
は暗黙のオプションで構成され--boot-directory /boot
、が/boot
オンの場合/dev/sdb
あなたがすべきことは次のとおりです:
grub-install /dev/sdb
/dev/sdX の名前は起動ごとに変わる可能性があることに注意してください。そのため、これを実行する前に、またはを使用して、どのドライブが Linux ドライブでlsblk
あるfindmnt
かを確認してください。
次に、内部 (Windows) ドライブの MBR を修正します。https://technet.microsoft.com/ja-jp/library/cc749177%28v=ws.10%29.aspx