質問の長さを許してください。これを説明するのは少し難しいです。
HP dc7100CMTに2台のSATAハードドライブがあり、それらのサイズは500GBと160GBです。大きい方のドライブには、Windows XP Pro64ビットとWindows7 Pro 64ビットがそれぞれ2つのパーティションにあります。
2番目(160GB)のドライブに、Fedora 20 64ビットをインストールし、ブート、データ、スワップ、ルートの4つのパーティション(この順序で)にフォーマットしました。また、GRUB2ブートローダーを「/ boot」パーティションにインストールしました。ただし、PCの電源を入れると、POSTメッセージがクリアされた後、以前と同じように、システムが最初のハードドライブで起動します(Windows 7のブートローダーが呼び出され、私に尋ねられます)。ロードしたい場合XPまたは7-この動作はLinuxのインストール後に変更されているはずです。)
BIOSを確認すると、ブートデバイスを変更するオプションがありません(複数のSATAドライブの場合、デフォルトでSATA-0でドライブが起動するため、変更できません)。もう1つの制約は、最初のドライブのWindowsパーティションを変更できないことです(ドライブには、新しいパーティションをインストールするための未割り当て領域がありません)。
これには2つの選択肢があります。
私の質問は、オプション1(または同様のもの)をどのように試すことができるかということです。そうでない場合、別の方法はありますか?
FedoraインストールCDを使用して起動する必要があり、そこからGRUBをWindowsドライブにインストールします。これにより、Windowsブートローダーが削除されますただし、grubを介してWindowsをロードすることはできます。
Fedoraライブセッションを起動したら、ローカルドライブをマウントし、chroot
環境をセットアップする必要があります。 chroot
here の使用方法については非常に良い答えがありますが、基本的な手順は次のとおりです。
必要なディレクトリを作成します
Sudo mkdir /mnt/boot /mnt/root
ローカルLinuxシステムをマウントします(それに応じてデバイス名を変更します)
Sudo mount /dev/sdb3 /mnt/ ## the / partition
Sudo mount /dev/sdb1 /mnt/boot ## the /boot partition
Sudo mount -t proc proc /mnt/proc
Sudo mount -t sysfs sys /mnt/sys
Sudo mount -o bind /dev /mnt/dev
chroot
を設定します
Sudo chroot /mnt
次に、grubの構成ファイルを作成します。 Red Hatベースのシステム(Fedoraなど)を使用している場合は、
Sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Debianベースのシステムの場合、
Sudo update-grub
これは、上記のgrub2-mkconfig
コマンドを実行するシェルスクリプトですが、安全のためにset -e
も含まれています(エラーが発生するとすぐに終了します)。
そのコマンドの出力に両方のWindowsシステムがリストされていることを確認してください。次のような行があるはずです
Found Windows 7 (loader) on /dev/sda1
Found Windows XP (loader) on /dev/sda2
Grubが他のOSを正しく認識している場合は、それを最初のハードドライブにインストールします。 Red Hatベースのシステムの場合、以下を実行します。
Sudo grub2-install /dev/sda
そしてDebianベースの場合:
Sudo grub-install /dev/sda
最後に、chroot
を終了し、再起動します。
exit
Sudo reboot