web-dev-qa-db-ja.com

Fedora18をFedora19にアップグレードした後にgrub2チェーンブートWin8を作成するにはどうすればよいですか?

物語

I 24GB SSD、500GB HDD、UEFIシステムを搭載したLenovo IdeaPadU310を使用。詳細については、U410のEFIでフラッシュしました http://forums.lenovo.com/t5/Linux-Discussion/Installing-Fedora-17-on-U310-i7-power-button-wifi-noise-問題/ mp/927429#M4376 。そこにWin7がプリインストールされていましたこれらすべての超革新的なテクノロジーがiRSTなどで使用されています。ディスクには古いMBRテーブルがあったため、ライブFedorausbを使用してgpartedを使用して両方のディスクをGPTにフォーマットしました。 =これによりすべてのデータが消去されました。 Fedora17は、UEFIモードのMBRを備えたディスクを認識しませんでしたが、GPTのインストールは問題なく進みました。

最初のインストールプロセス;最初に、Fedora17をSSDにインストールしました LVMインストールとして、HDDを変更せずに放っておいた。 GRUB2はSSDにもインストールされました。 (パーティションレイアウト;

  • sda1 200M/boot/efi
  • sda2 500M/boot
  • ルートとスワップを備えたsda3レストLVM)

Fedoraでは、HDDを400GBのext4データパーティションにフォーマットし、Windowsのインストール用に100GBを解放しました。 2つの別々のディスクに2つのOSがある場合、EFIブートメニュー(コンピューターの起動時にF12)からそれぞれのブートを解決できると思いましたが、間違っていました。しばらくしてLinuxコンピュータのみを使用した後(それは素晴らしく、Linux用のSteamをリリースした後、そこでゲームをプレイすることもできました。EclipseでのCプログラミングも完璧です)次にWin8をHDDにインストールしました。 Windowsは役に立たないものを作成しましたWindowsの予約済みパーティションとして128MBのパーティション、その後システムパーティション。 ブートローダー用に独自のEFIパーティションを作成していません! Linuxを使用して、ブートローダーdosda1を作成したと思います。

すべてが順調でした。 Grub2はWindows8を認識しなかったため、Windowsをチェーンブートできませんでしたが、これは問題ではありませんでした。 EFIブートメニューでWindowsブートマネージャーオプションを選択すると、Windows8が起動しましたそしてgrub2を起動しませんでした。私はそれを数ヶ月使用していました。

Fedora17をFedora18にアップグレードしました(それはまったく新しいインストールでした)私は気づいていませんでしたWindowsとFedoraはsda1でEFIパーティションを共有していました(これは正確にはわかりませんが、そのように機能したようです)。したがって、Fedora18はSSD上のすべてのパーティションをフォーマットしましたの新しいインストールとそこに新しくインストールされました。 EFI上のWindowsのデータを削除しましたパーティションもあるため、Windowsをまったく起動できませんでした。

2
B0D_Mr4ZU

(As posted by B0D_Mr4Z

Grub2でWindowsを直接起動したかったのです。私は単にそのように働くことができません。 grub2のメニューエントリを作成しました。 /etc/grub.d/40_customに追加しました

menuentry "Windows 8 UEFI" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --no-floppy --set=root **4013-6F8C**
chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}

4013-6F8Cは私のEFIパーティションのUUIDです(私の場合はsda1、winとlinux用に1つだけです)。システムにWindows用の独自のEFIパーティションがある場合(デフォルトのWindowsではEFIは100MB、Linuxは200MB)、Windows1のUUIDを使用します。すべてのパーティションのどれが; gdisk -l /dev/sdagdisk -l /dev/sdbのEFIであるかを見つけました(EFIパーティションが1つしかないことがわかりました)。次に、sda1のUUIDが必要でした。 grub2-probe -t fs_uuid -d /dev/sda1を使用して見つけました。 40_customファイルを編集して保存し、設定をgrub2に適用しました。grub2-mkconfig、次にgrub2-install(一部のシステムにはgrub設定を適用するスクリプトがありますが、この方法を使用しました。)再起動後メニューが表示されました-grub2メニューのウィンドウのエントリ。ただし、sda1の/ boot/efi/EFI/Microsoft/Bootフォルダーにbootmgfw.efiがないため、ウィンドウが起動しませんでした。 Fedoraを起動し、Windowsパーティションをマウントし、\ Windows\Boot\EFIからすべてのファイルをコピーしました(これには、いくつかのロケールファイルen-GB、en-US ...およびbootmgfw.efi、bootmgr.efiを探していた.efiファイルが含まれていました。 ..)sda1の/ boot/efi/EFI/Microsoft/Bootフォルダーに移動します。


再起動後、grub2メニューにWindowsオプションが表示され、チャームとして起動しました。 Fedoraも問題なく起動しています。さて、1つの問題がありました。最初にgrub2メニューエントリが起動したくない、メモリが破損しているもの。ただし、この場合は「古い」カーネルが保持されるため、古いカーネルを起動して実行します。新しいカーネルを待って、このような更新後にそれ自体が解決するか、カーネルをアンインストールして手動で再インストールすることができます。


ああ..そして1つのこと..WindowsインストールDVDを介してWindowsブートマネージャーを再インストールしないようにしてください。ディスクのブートセクタを消去するだけで、最悪の場合、起動できないLinuxとWindowsで終了します。 (WindowsブートマネージャーはMS OS以外のものを見つけるのがあまり得意ではないため、Linuxを起動せず、grubを介してチェーンブートもしません)

これが誰かを少し助けてくれたら、私はとても幸せです。ごきげんよう。

3
Karan

参照 https://bugzilla.redhat.com/show_bug.cgi?id=972355 (基本的にos-prober> = 1.58およびそのバグが修正されたgrub2が必要です)。

0