UEFIを搭載したコンピューターでのデュアルブートWindows 7およびDebian Squeeze

Intelプロセッサを搭載したPCで次第に見られる(U)EFIインターフェイスについて多くの人が聞いたことがあると思います。 Intelは利点を説明するのが大好きであるという事実にもかかわらず、EFIを介したダウンロードには大きな欠点があります-ほとんどのLinuxディストリビューションを含む一部のOSをインストールします(既知のEFIから「すぐに使える」Ubuntuとそのフォークのみが最近サポートを開始しました)。 この投稿では、「落とし穴」とその解決策を述べようとします。





問題の本質



実際、テスト対象: ソニーVAIO SV-E14A1S1R仕様



買収の少し前に、Xubuntu以外のディストリビューションを試してみたいという要望があり、Debianでの選択が決まりました。 インターネットに問題がある場合、追加のリポジトリ(8 DVD)がダウンロードされました。



ラップトップ、ディスク、起動します...そして、最初の問題が発生します。BIOS設定でEFIから従来の「レガシーBIOS」へのブートオプションが表示されるまで、インストールメニューは表示されず、Windowsはすぐにロードされました。



ただし、インストールが完了すると、「オペレーティングシステムが見つかりません」というメッセージが表示されました(ドライブからディストリビューションディスクを削除せず、「最初のブートディスクから起動」を選択すると、システムは起動しますが、ドライブを取得したいのは誰ですか?)、およびEFI、前と同様に、ウィンドウリーフのみがロードされました。



解決策



さまざまなパラメーターを使用したインストールと再インストールのサイクルが何度か失敗した後、ENTのトピックの1つで、EFIが有効になっている仮想マシンGRUBを収集すること部分的に解決されたテーマ作成者は、同様の問題に遭遇しました(仮想マシンなしでも実行できる可能性があります) Debianに行きますが、私はチェックしませんでした)。



すでにハードドライブにE​​FIパーティションがあるとします。次が必要です。





GRUB EFIイメージの配置







何か問題が発生した場合は、EFIパーティションからgrub.cfgを削除できます。GRUBはそのシェルを起動し、そこからOSをロードして問題の原因を見つけることができます。



すべて順調であれば、先に進みましょう!

ファイナルタッチ:Windows 7をブートメニューに追加する



複雑なことは何もありません-WindowsディスクのUUIDとMicrosoft bootmgfw.efiからブートローダーへのパスを知る必要があるだけです(/ EFI / Microsoft / Boot /ディレクトリにありました)



そして、Linuxをロードするためのメニュー項目と同様に、Windowsをロードするための対応する項目を作成します。



 menuentry "Windows 7" { search --fs-uuid --no-floppy --set=root 48EC-30CC set root='(hd0,gpt3)' chainloader ($root)/efi/microsoft/boot/bootmgfw.efi boot }
      
      







おわりに



EFIを搭載したコンピューターがますます増えているため、この投稿は誰かに役立つと信じています。RuNetにはほとんど情報が見つかりませんでした。

以下に、grub.cfgからの抜粋と、この問題をほとんど解決できなかった資料へのリンクを示します。



パーツgrub.cfg
 set root='(hd0,gpt3)' set locale_dir=/EFI/Boot/grub/locale set lang=en insmod gettext loadfont ($root)/EFI/grub/unicode.pf2 set timeout=10 set default=0 set gfxmode=640x480 set gfxpayload=keep terminal_output gfxterm insmod part_gpt insmod png background_image -m normal ($root)/EFI/grub/spacefun-grub.png set color_normal=light-gray/black set color_highlight=white/black insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 510c2ef3-0412-4d42-ba6b-15d1f680e150 menuentry 'Debian GNU/Linux, with Linux 3.5.3' --class debian --class gnu-linux --class gnu --class os { insmod part_gpt insmod ext2 set root='(hd0,gpt7)' search --no-floppy --fs-uuid --set=root 510c2ef3-0412-4d42-ba6b-15d1f680e150 echo 'Loading Linux 3.5.3 ...' linux /boot/vmlinuz-3.5.3 root=UUID=510c2ef3-0412-4d42-ba6b-15d1f680e150 ro quiet echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.5.3 }
      
      







耳鼻咽喉科に関するトピック

grub-efiビルド記事セクション



UPD:コメントと「よりシンプルなオプション」に感謝します! まだある場合は、恥ずかしがらずに書いてください。おそらく、私の問題に直面していて、そのような赤い目をしたくない人たちの生活を楽にします。



All Articles