grub2-gptを使用して非EFIMS-DOS Windows7パーティションを起動します

dzift

私は次の設定をしています:

  • UEFI Asusのマザーボード
  • GPTテーブルとUbuntu/dev/sdb
  • MS-DOS TABLE、Windows7およびLinuxMint on /dev/sda

Ubuntu11.10からgrub2を使用してWindows7パーティションを起動しようとしています。

私のWindowsの「システム予約済み」は/dev/sda3です。

GRUBの窓エントリは(標準)です。

menuentry "Windows 7 (loader) (on /dev/sda3)" --class windows --class os {
        insmod part_msdos
        insmod ntfs
        set root='(hd0,msdos3)'
        search --no-floppy --fs-uuid --set=root 644C5AC04C5A8CA4
        chainloader +1
}

別れた出力:

Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      32.3kB  296MB   296MB   primary   ext2
 2      296MB   423GB   423GB   extended
 5      296MB   20.3GB  20.0GB  logical   ext4
 6      20.3GB  363GB   342GB   logical   ext4
 7      363GB   423GB   60.1GB  logical   ntfs
 3      423GB   423GB   105MB   primary   ntfs         boot
 4      423GB   500GB   77.2GB  primary   ntfs


Disk /dev/sdb: 1500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name  Flags
 1      17.4kB  20.0MB  20.0MB  fat16                 boot
 2      20.0MB  50.9GB  50.9GB  ext4
 4      50.9GB  1103GB  1052GB  btrfs
 5      1103GB  1156GB  52.7GB  ext4
 6      1156GB  1233GB  77.2GB  ntfs
 7      1233GB  1233GB  105MB   ntfs
 3      1496GB  1500GB  4271MB  linux-swap(v1)

grub2からWindowsを起動しようとすると、次のメッセージが表示されます。

エラー:無効なEFIファイルパス

JdeBP

それをしてはいけない。

オペレーティングシステムのブートローダープログラムなど、ブート前のアプリケーションがマシンのファームウェアに緊密に結合されていることは明白です。通常のアプリケーションプログラムが、サービスを使用するオペレーティングシステムに関連付けられているのと同じです。EFIブートローダープログラムは、そのマシンがEFIファームウェアサービスを提供しない限り、そのマシンで実行することはできません。古いPC / ATスタイルのブートストラップローダープログラムは、そのマシンが古いPC / ATファームウェアサービスを提供しない限り実行できません。

chainloaderGRUB動詞はこれを具体化しています。文書化されていませんが、GRUBがどのようにホストされているか、つまりGRUBが(実行されると予想される)どのマシンファームウェアで実行されているかによって、動作が異なります。古いPC / ATシステムでホストされているバージョンのGRUBでは、ディスクブロックセットまたはファイルが提供されることを想定しており、古いPC / AT VBRの方法で提供されたもの(の最初のセクター)をロードして実行します。ブートストラッププログラム。EFIでホストされているバージョンのGRUBでは、ファイル名が指定されていることを想定しており、通常のEFIアプリケーションとしてファイルをロードして実行します。

EFIでホストされているバージョンのGRUBがあります。ファイル名としてに渡さ+1ましたがchainloader、それは単に起動前のEFIアプリケーションイメージファイルへの有効なパスではありません。構文的に正しくないパスを指定したため、GRUBはイメージファイルのEFIデバイスパスを作成できませんでしたしたがって、エラーメッセージ。

chainloaderEFIでホストされるGRUBでの正しい使用は、ファイルに名前を付けます。Microsoft Windows NT 6.1の場合、これはEFIシステムパーティションのBCDストアと一緒に存在するMicrosoftのブートマネージャーのEFIバージョンになります。

チェーンロード(hd1、gpt1)/EFI/Microsoft/Boot/bootmgfw.efi

もちろん、このマシンにWindows NT 6.1をインストールしなかった(ただし、他のマシンにハードディスクを転送した)か、EFIブートストラップ可能なバージョンをインストールしなかったため、これは機能しません。 、どういうわけか、EFIマシンでインストールユーティリティの非EFIバージョンを実行するようにWindows NT6.1を説得します。どうすればわかりますか?そのためMicrosoftはEFIマシン上の非EFIパーティションハードディスクにインストールしてみましょう持っていないあなたが行ったように、そしてあなたが正しいの両方持っているので、EFIシステムパーティション(2番目のハードディスク上のFATパーティションを)し、そのそうでなければ前者だけが必要だったであろうときの貧乏人の同等物

そのため、Windows NT6.1はMicrosoftのBootManagerのEFIホストバージョンとともにインストールされておらず、BCDストアが間違った場所にあり、他にもいくつかの問題があります。WindowsNTが1つのハードウェア/ファームウェアの組み合わせを想定していることとそのための適切なドライバと設定で構成され、後で別のハードウェア/ファームウェアの組み合わせで突然ブートストラップされました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Grub2/Debian10は起動時にルートパーティションを変更します

分類Dev

GRUB2を使用して特定のパーティションから起動する

分類Dev

GRUB2パーティションを非表示

分類Dev

GRUB2を別のディスクのGRUBまたはGRUB2で起動します

分類Dev

UEFI GPTにgrub2をインストールし、/ bootパーティションを作成して、clonezillaイメージを転送します

分類Dev

2つのWindows7ローダーを示すGrub2

分類Dev

GRUB2はEFIシステムパーティションをWindowsと共有できますか?

分類Dev

grub2(PXE)を使用してローカルOSを起動します

分類Dev

削除されたuefiパーティションgrub2を回復する

分類Dev

Grub2はすぐにLinuxを起動します

分類Dev

grub2 Windows7のエントリを追加

分類Dev

grub2 Windows7のエントリを追加

分類Dev

grub2 Windows7のエントリを追加

分類Dev

GRUB2は起動時に紫色の画面を表示します

分類Dev

GRUB2は起動時に紫色の画面を表示します

分類Dev

GRUB2で色を変更する

分類Dev

GRUB2で色を変更する

分類Dev

WindowsにGRUB2をインストールする(異なる!)MBRパーティションプラン

分類Dev

GRUB2でUbuntuを起動する:GRUB2にブートエントリを追加する方法は?

分類Dev

GRUB2でUbuntuを起動する:GRUB2にブートエントリを追加する方法は?

分類Dev

GPTでGRUB2パーティションを作成するにはどうすればよいですか?

分類Dev

Grub2は新しいパーティションを認識しませんか?

分類Dev

Debian / Grub2:ルートパーティションを新しいドライブに移動しますか?

分類Dev

Grub2から直接Windowsを起動する

分類Dev

Grub2のgrub.cfgを手動で管理する方法は?

分類Dev

grub2をWindows7で起動するにはどうすればよいですか?

分類Dev

Windowsからubuntuパーティションを削除しました。システムは起動しなくなります(grubでのみ起動します)

分類Dev

GRUB2のRAID0でパーティションを非表示にする

分類Dev

EFI Grub2からレガシーWindows7ブートローダーをチェーンロードしますか?

Related 関連記事

  1. 1

    Grub2/Debian10は起動時にルートパーティションを変更します

  2. 2

    GRUB2を使用して特定のパーティションから起動する

  3. 3

    GRUB2パーティションを非表示

  4. 4

    GRUB2を別のディスクのGRUBまたはGRUB2で起動します

  5. 5

    UEFI GPTにgrub2をインストールし、/ bootパーティションを作成して、clonezillaイメージを転送します

  6. 6

    2つのWindows7ローダーを示すGrub2

  7. 7

    GRUB2はEFIシステムパーティションをWindowsと共有できますか?

  8. 8

    grub2(PXE)を使用してローカルOSを起動します

  9. 9

    削除されたuefiパーティションgrub2を回復する

  10. 10

    Grub2はすぐにLinuxを起動します

  11. 11

    grub2 Windows7のエントリを追加

  12. 12

    grub2 Windows7のエントリを追加

  13. 13

    grub2 Windows7のエントリを追加

  14. 14

    GRUB2は起動時に紫色の画面を表示します

  15. 15

    GRUB2は起動時に紫色の画面を表示します

  16. 16

    GRUB2で色を変更する

  17. 17

    GRUB2で色を変更する

  18. 18

    WindowsにGRUB2をインストールする(異なる!)MBRパーティションプラン

  19. 19

    GRUB2でUbuntuを起動する:GRUB2にブートエントリを追加する方法は?

  20. 20

    GRUB2でUbuntuを起動する:GRUB2にブートエントリを追加する方法は?

  21. 21

    GPTでGRUB2パーティションを作成するにはどうすればよいですか?

  22. 22

    Grub2は新しいパーティションを認識しませんか?

  23. 23

    Debian / Grub2:ルートパーティションを新しいドライブに移動しますか?

  24. 24

    Grub2から直接Windowsを起動する

  25. 25

    Grub2のgrub.cfgを手動で管理する方法は?

  26. 26

    grub2をWindows7で起動するにはどうすればよいですか?

  27. 27

    Windowsからubuntuパーティションを削除しました。システムは起動しなくなります(grubでのみ起動します)

  28. 28

    GRUB2のRAID0でパーティションを非表示にする

  29. 29

    EFI Grub2からレガシーWindows7ブートローダーをチェーンロードしますか?

ホットタグ

アーカイブ