新しいハードドライブにWindows 7およびDebian 7オペレーティングシステムをインストールしました。いつものように、Windowsを最初にインストールしてからDebianをインストールしました。
最初の試みでは、コンピュータがWindowsだけで起動したため、GRUBが正しくインストールされていないようです。私はこれをdebian.orgで見つけ、そのアドバイスに従いました:
grub-installは、インストール中に複数のディスクがある場合(USBスティックからインストーラを起動したときに頻繁に発生するハードドライブやUSBスティックなど)、問題が発生する可能性があります。 GRUBブートローダが次にインストールされていると何度も報告されています。新しくインストールされたシステムを含むハードドライブではなくUSBスティックに保存されます。
このような状況を避けるために、インストール中に次の質問に「いいえ」と答えてください。 「GRUBブートローダをマスターブートレコードにインストールしますか?」次の手順では、「デバイスの使用」で正しいデバイスを指定できる必要があります。ブートローダによってインストールされました」。
これを行うと起動時にGRUBが表示されますが、Windowsを選択すると画面が黒くなり、すぐにGRUBメニューに戻ります。最初のパーティションはブートフラグを持つパーティションなので、GRUBを最初のパーティションにインストールしました。
私のパーティションは次のとおりです。
- 100MBシステム予約済み
- 195GBウィンドウ
- 2GBスワップ
- 40GB Linux
後でWindows CDを使ってMBRを修復しましたが、もちろんDebianは利用できません。
GRUBを他の場所にインストールする必要がありますか、それとも別の問題ですか?
答え1
MBR
partitioningの代わりに使用するとしますGPT
。
まず、MBRをバックアップして最終的に復元できます(hdaがターゲットディスクであると仮定)。
dd if=/dev/hda of=/path/mbr-backup bs=512 count=1 # backup
dd if=/path/mbr-backup of=/dev/hda bs=512 count=1 # restore
hda1
ディスクの代わりにパーティションに grub をインストールする場合は明らかです。
ノートディスク(hda)にある場合は、バックアップと復元の間でパーティションテーブルを変更しないでください。
次に、現在Debianがインストールされている場合は、Live CDを起動してDebianのルートディレクトリをどこかにマウントしてください。
mkdir /tmp/x
mount /dev/hda1 /tmp/x # Debian root partition
# mount some needed filesystem
mount proc /tmp/x/proc -t proc
mount sysfs /tmp/x/sys -t sysfs
mount --bind /dev /tmp/x/dev
パーティションにchrootし、grubを再インストールします。
chroot /tmp/x
grub-install /dev/hda # or hda1 for the partition
まだ必要かどうかはわかりませんupdate-grub
(確認する必要があります)。
grubはos-prober
ウィンドウを見つけなければなりません。起動に失敗した場合、チェーンローダーに別の問題がある可能性があります。
修正する
ディスクがパーティション化されている場合は、GPT
このFAQを参照してください。
特にこれは:
Windows 7、Windows Vista、およびWindows Server 2008はGPTディスクから読み取り、書き込み、起動できますか?
はい、どのバージョンでもGPTパーティションディスクを使用してデータを保存できます。起動は、UEFIベースのシステムの64ビットバージョンでのみサポートされています。。
パーティションをBIOS
使用している場合。MBR
UEFI
GPT
答え2
私は常に別々のパーティション( "/boot")にブートローダをインストールすることをお勧めします。このパーティションでは、後でプライマリオペレーティングシステム(Windows)の破損を心配することなく他の作業を実行できます。
あなたの場合は、新しいパーティション+ "/boot"でインストールされたブートローダでDebianを再インストールする方が良いと思います。また、GPTはありますがMBRはありません。これが理由かもしれません。