外付けハードドライブの Linux

外付けハードドライブの Linux

外付けハードドライブに 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

関連情報