web-dev-qa-db-ja.com

EFI GPT Windows7ブートローダー/マネージャーの問題とgrub

Windows 7(64ビットホームプロフェッショナル)がプリインストールされた私のコンピューター(ASUS N76VM 64ビット)は、後でインストールされたUbuntu環境からパーティションを作成しているときに、悪い状態になりました。これにより、testdiskを実行し、すべての個別のパーティションをバックアップHDDにコピーすることになりました。
問題が発生する前の状態に似た状態で、元のハードドライブに戻すことができました。

****面倒な作業が始まる前に、両方のオペレーティングシステムを起動できました!****

HDDを「修復」しているので、コンピューターはまだWindows7を起動したくありません。Grub 1.99インストールされ(これが私に役立つことを願っています)rEFIndですが、どちらも機能しません。 GrubはWindows 7とUbuntuの両方のエントリを表示することに注意する必要があります。 Ubuntuは正常に起動しますが、Windowsを選択すると、画面に「無効なEFIファイルパス」と表示されます。

私が試したもう1つの手順は、Windows 7の修復CDを実行し、コマンドプロンプトを入力し、ドライブ文字([OS]の場合はC:\、[DATA]の場合はD:\)を再割り当てして、元の状態に合わせてから、次のコマンドを実行することでした。
Bootrec.exe /FixMbr
Bootrec.exe /FixBoot
Bootrec.exe /ScanOs
Bootrec.exe /RebuildBcd
再起動しました
しかし、彼らは役に立たなかったので、私は以下を試しました:
bootsect /nt60 c: /force /mbr
bcdboot c:\windows /s c:
繰り返しますが、シガーはありません。それで私はさらに調べ始めて このウェブサイト に出くわしましたそれは私が試みることについて少し心配しているアドバイスを与えました、なぜなら私は可能な結果を​​知らずそして私はもう一度何も失いたくないからです。

ランニング boot info scriptは私に次の出力を与えます(パーティションの順序は奇妙に見えるかもしれません、私はそれを知っています、しかし私はそれが何の懸念でもないと思います:


                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 
    1880670208 of the same hard drive for core.img. core.img is at this 
    location and looks for (,gpt2)/boot/grub on this drive.

sda1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  According to the info in the boot sector, sda1 starts 
                       at sector 0. But according to the info from fdisk, 
                       sda1 starts at sector 2048.
    Operating System:  
    Boot files:        /efi/refind/refind_x64.efi /efi/ubuntu/grubx64.efi 
                       /efi/ubuntu/shimx64.efi

sda2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  Grub2 (v1.99)
    Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda2 
                       and looks at sector 1569963600 of the same hard drive 
                       for core.img. core.img is at this location and looks 
                       for (,gpt2)/boot/grub on this drive.
    Operating System:  Ubuntu 12.04.4 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab

sda3: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        

sda4: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /NST/menu.lst /bootmgr /Boot/BCD 
                       /Windows/System32/winload.exe

sda5: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /bootmgr /boot/bcd

sda6: __________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info: 

sda7: __________________________________________________________________________

    File system:       BIOS Boot partition
    Boot sector type:  Grub2's core.img
    Boot sector info: 

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1                   1 1,953,525,167 1,953,525,167  ee GPT


GUID Partition Table detected.

Partition    Start Sector    End Sector  # of Sectors System
/dev/sda1           2,048       194,559       192,512 EFI System partition
/dev/sda2   1,556,162,560 1,864,286,207   308,123,648 EFI System partition
/dev/sda3   1,233,352,704 1,556,162,559   322,809,856 Data partition (Windows/Linux)
/dev/sda4         194,560 1,233,352,703 1,233,158,144 Data partition (Windows/Linux)
/dev/sda5   1,880,690,688 1,936,979,967    56,289,280 Windows Recovery Environment (Windows)
/dev/sda6   1,864,286,208 1,880,670,207    16,384,000 Swap partition (Linux)
/dev/sda7   1,880,670,208 1,880,690,687        20,480 BIOS Boot partition

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/sda1        E138-2A7D                              vfat       
/dev/sda2        598ab3d1-e1aa-4041-ba78-1de8c6762331   ext4       
/dev/sda3        4DFF26211F14E609                       ntfs       DATA
/dev/sda4        4A814AE3556AE075                       ntfs       OS
/dev/sda5        1B1666970F6A4336                       ntfs       Recovery
/dev/sda6        03dc7be8-7682-4219-8ab0-ae5d09caa1b1   swap       

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/sda1        /boot/efi                vfat       (rw)
/dev/sda2        /                        ext4       (rw,errors=remount-ro)


=========================== sda2/boot/grub/grub.cfg: ===========================

--------------------------------------------------------------------------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod efi_gop
  insmod efi_uga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_gpt
insmod ext2
set root='(hd0,gpt2)'
search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_gpt
  insmod ext2
  set root='(hd0,gpt2)'
  search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
  set locale_dir=($root)/boot/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.8.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    linux   /boot/vmlinuz-3.8.0-35-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.8.0-35-generic
}
menuentry 'Ubuntu, with Linux 3.8.0-35-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    echo    'Loading Linux 3.8.0-35-generic ...'
    linux   /boot/vmlinuz-3.8.0-35-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.8.0-35-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.8.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    linux   /boot/vmlinuz-3.8.0-29-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.8.0-29-generic
}
menuentry 'Ubuntu, with Linux 3.8.0-29-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    echo    'Loading Linux 3.8.0-29-generic ...'
    linux   /boot/vmlinuz-3.8.0-29-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.8.0-29-generic
}
menuentry 'Ubuntu, with Linux 3.5.0-18-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    linux   /boot/vmlinuz-3.5.0-18-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.5.0-18-generic
}
menuentry 'Ubuntu, with Linux 3.5.0-18-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    echo    'Loading Linux 3.5.0-18-generic ...'
    linux   /boot/vmlinuz-3.5.0-18-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.5.0-18-generic
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda4)" --class windows --class os {
    insmod part_gpt
    insmod ntfs
    set root='(hd0,gpt4)'
    search --no-floppy --fs-uuid --set=root 4A814AE3556AE075
    chainloader +1
}
menuentry "Windows Recovery Environment (loader) (on /dev/sda5)" --class windows --class os {
    insmod part_gpt
    insmod ntfs
    set root='(hd0,gpt5)'
    search --no-floppy --fs-uuid --set=root 1B1666970F6A4336
    drivemap -s (hd0) ${root}
    chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
 menuentry "Windows 7" {
     insmod part_msdos
     insmod ntfs
     set root='(hd0,msdos4)'
     search --no-floppy --fs-uuid --set=root 4A814AE3556AE075
     chainloader +1
  }
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
--------------------------------------------------------------------------------

=============================== sda2/etc/fstab: ================================

--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
proc            /proc           proc    nodev,noexec,nosuid 0       0
tmpfs /tmp tmpfs optional,nodev,noexec,nosuid 0 0
# / was on /dev/sda2 during installation
UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
#UUID=E138-2A7D  /boot/efi       vfat    defaults        0       1
# swap was on /dev/sda3 during installation
UUID=03dc7be8-7682-4219-8ab0-ae5d09caa1b1 none            swap    sw              0       0
#/dev/sda7 none swap sw,noauto 0 0
#UUID=E138-2A7D /boot/efi   vfat    defaults    0   1
#UUID=E138-2A7D /boot/efi   vfat    defaults    0   1
UUID=E138-2A7D  /boot/efi   vfat    defaults    0   1
--------------------------------------------------------------------------------

=================== sda2: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

 814.208938599 = 874.250190848  boot/grub/grub.cfg                             1
 765.658302307 = 822.119342080  boot/initrd.img-3.5.0-18-generic               1
 743.588668823 = 798.422253568  boot/initrd.img-3.8.0-29-generic               2
 769.143566132 = 825.861615616  boot/initrd.img-3.8.0-35-generic               1
 765.462841034 = 821.909467136  boot/vmlinuz-3.5.0-18-generic                  2
 742.506031036 = 797.259780096  boot/vmlinuz-3.8.0-29-generic                  2
 769.006057739 = 825.713967104  boot/vmlinuz-3.8.0-35-generic                  1
 765.658302307 = 822.119342080  initrd.img                                     1
 765.658302307 = 822.119342080  initrd.img.old                                 1
 765.462841034 = 821.909467136  vmlinuz                                        2
 765.462841034 = 821.909467136  vmlinuz.old                                    2

============================== sda4/NST/menu.lst: ==============================

--------------------------------------------------------------------------------
# NeoSmart NeoGrub Bootloader Configuration File
#
# This is the NeoGrub configuration file, and should be located at C:\NST\menu.lst
# Please see the EasyBCD Documentation for information on how to create/modify entries:
# http://neosmart.net/wiki/display/EBCD/

--------------------------------------------------------------------------------

=================== sda4: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

            ?? = ??             NST/menu.lst                                   0

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt

ブートフラグがEXT4パーティションから削除されました。次のステップは、EXT4パーティションの代わりにC:\で起動する必要があるWindowsパーティションを取得することです。 「cmd」内のWindowsLiveCDリカバリ環境で「diskpart」を使用して数回試しました。ただし、再起動するたびに、ドライブ文字が再割り当てされます。

すべてがうまくいかない前からの私のセットアップ

enter image description here

編集:

Bootmgfw.efiファイルを元のOSパーティションからのコピーに置き換えました。これで、rEFIndからWindows 7を起動すると、次の画面が表示されます。


Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:  

1. Insert your Windows installation disc and restart your computer.  
2. Choose your language settings, and click "Next."  
3. Click "Repair your computer."  

If you do not have this disc, contact your system administrator or computer manufacturer for assistance.  

File: \EFI\Microsoft\Boot\BCD  

Status: 0xc000000f  

Info: An error occurred while attempting to read the boot configuration data.  

2014年2月19日編集



今、私は修理が行われるのを待っています。今は30分かかりますが、いつ行われるかわかりません。参考までに、この操作が行われるとき/行われる場合は、情報のソースを追加します

2
Nkciy84

BIOSモード(別名CSMまたはレガシーモード)の起動とEFIモード(別名UEFIモード)の起動の違いを理解する必要があります。 Windowsは、これらのブートモードをパーティションテーブルタイプと非常に密接に結び付けています。ディスクが古い マスターブートレコード(MBR) パーティションテーブルタイプを使用している場合にのみ、WindowsはBIOSモードで起動し、EFIモードではディスクが新しい GUIDパーティションテーブル(GPT) パーティションテーブルタイプを使用している場合のみ。質問のタイトルは、GPTを使用していることを示していますが、コンピューターが元々GPTを使用していたかどうかは明らかではありません。 (ほとんどのWindows 7システムはBIOSとMBRを使用していましたが、2011年後半に販売された一部のWindows 7システムはEFIとGPTを使用していました。)元のインストールでBIOS/MBRを使用した場合は、EFIモードのWindowsブートローダーをインストールする必要があります。このプロセスについて説明します ここ。

コンピューターが元々EFI/GPTを使用していた場合は、ブートローダーを再インストールする必要がある場合もあります。または、EFIブートローダーを保持する EFIシステムパーティション(ESP) の適切な再作成など、いくつかの重要な詳細を見落としている可能性があります。

さらにヘルプが必要な場合は、Linuxで Boot Info Script を実行してみてください。これにより、RESULTS.txtというファイルが生成されます。それをPastebinサイトに投稿し、ファイルのURLをここに投稿します。これにより、現在の構成に関するより正確で詳細な情報が得られ、修正に役立つ場合があります。


編集:

ブート情報スクリプトの出力は、コンピューターにWindowsブートローダーがインストールされていないことを示しています。 Windowsを起動するには、これを修正する必要があります。特に、ディスクはGPTを使用しているため、Windows用の[〜#〜] efi [〜#〜]ブートローダーをインストールする必要があります。 Windowsのブート修復について説明しているほとんどのページは、BIOSベースのシステムを想定しているため、100%役に立たないでしょう。 このページ WindowsをBIOSモードのブートからEFIモードのブートに変換する方法を説明しているので、これらの線に沿った何かが機能する可能性があります。他にも役立つページがあるかもしれません。または、Windowsフォーラムに投稿してヘルプを求めることもできます。

Windowsブートローダーをインストールする前に対処したいもう1つのポイント:/dev/sda2はext4ファイルシステムを使用しますが、 EFIシステムパーティション(ESP) としてマークされています。 =これは正しくなく、今後問題が発生する可能性があるため、修正する必要があります。使用するパーティションソフトウェアに応じて、これを行うにはいくつかの方法があります。たとえば、 gdisk では、tオプションを使用してタイプコードをEF00から8300に変更してから、wオプションを使用して変更を書き込む必要があります。 partedまたはGPartedでは、「ブートフラグ」を削除します(GPartedでは変更を適用します)。

5
Rod Smith

ディスクスタイルがGPTの場合、Windows 7(64ビットバージョンのみ)はUEFIブートを使用してのみブートできます。

Windows 7の起動を修復するには:

1)ディスク管理ツールを使用して、EFIシステムパーティション(通常のサイズはFAT32フォーマットで100 MB)とMicrosoftリザーブド(128 MB)パーティションがあることを確認します。

EFIシステムパーティションは、ブートファイルが配置される場所です。回復コンソールで「diskpart」を使用して、パーティションを確認できます。

C:\Windows\system32>diskpart

Microsoft DiskPart version 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: MTNB

DISKPART> sel disk 0

Disk 0 is now the selected disk.

DISKPART> list vol

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     I                       DVD-ROM         0 B  No Media
  Volume 1     D   TEMP         NTFS   Partition     50 GB  Healthy
  Volume 2                      RAW    Partition     18 GB  Healthy
  Volume 3     E   DATA         NTFS   Partition    100 GB  Healthy
  Volume 4     F   W8           NTFS   Partition     80 GB  Healthy
  Volume 5     C   W7           NTFS   Partition     80 GB  Healthy    Boot
  Volume 6     G   VHD          NTFS   Partition     60 GB  Healthy
  Volume 7     H   W81          NTFS   Partition     60 GB  Healthy
  Volume 8     J   W81_src      NTFS   Partition   5368 MB  Healthy
  Volume 9     R   Recovery     NTFS   Partition    300 MB  Healthy    Hidden
  Volume 10        EFI SYSTEM   FAT32  Partition    100 MB  Healthy    System

ディスク上に128 MBのMicrosoft予約パーティションがあることも確認する必要があります!

DISKPART> lis par

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Recovery           300 MB  1024 KB
  Partition 2    System             100 MB   301 MB
  Partition 3    Reserved           128 MB   401 MB
  Partition 4    Primary             50 GB   529 MB
  Partition 5    Primary             18 GB    60 GB
  Partition 6    Unknown           2048 MB    78 GB
  Partition 7    Primary            100 GB    80 GB
  Partition 8    Primary             80 GB   180 GB
  Partition 9    Primary             80 GB   260 GB
  Partition 10   Primary             60 GB   340 GB
  Partition 11   Primary             60 GB   400 GB
  Partition 12   Primary           5368 MB   460 GB

ここで、パーティション3はMicrosoft予約済みパーティションです。

ディスクの先頭にリカバリパーティションがない場合は、EFIシステムパーティションを最初に、次に128MBのMicrosoftリザーブドパーティションを作成する必要があります。

2)mountvol s:/ s(EFIシステムパーティションをドライブ文字sにマウントします:)

3)リカバリCD/USBからのbcdbootの使用:

bcdboot Y:\ windows/s s:ここで、Y:はWindows7ドライブです。

EFIブート中に関与するブートセクターはありません(MBRなし、PBR/VBRなし)が、「bootsect」を使用してMBRを書き換えることができます。

bootsect/nt60 ALL/force/mbr

ディスクパーツを使用してUEFIパーティションを作成する方法を確認できるMicrosoftへのリンク

Windows BCDをUEFIの説明で修復します。

お役に立てれば。

0
snayob

gPARTED liveCDを入手し、Windowsパーティションに「ブート」フラグを設定してみてください。これはおそらくあなたのGRUBインストールに取って代わりますが、少なくともあなたはそこから作業するポイントがあります。

0
seagull

まず、まだ行っていない場合は、EXT4パーティションのタイプをESPではないように変更するためのRodSmithの指示に従ってください。

次に、保護MBRをgdiskのMBRで書き直すことをお勧めします。 Bootmgrは、grubがMBRに対して行ったディスク署名の変更を好まないようです。

基本的に、gdisk /dev/sdaを実行してから、次のようにします。

  • x
  • n;確認...これはEFIブートローダーには影響しません。
  • w

これが機能しない場合...

また、Windowsインストールディスクを起動すると、実際に毎回文字が再割り当てされます。心配する必要はありません。内部的には、各ドライブとパーティションは一意のGUID(GPT GUIDに加えて、MBRシステムとの整合性を維持するための通常のMicrosoftスタイル)によって識別されます。

適切なBCDを再生成しましょう

  • Diskpartを使用して、EFIシステムパーティション(/dev/sda1:S :)およびWindowsブートパーティション(/dev/sda3:C :)に割り当てられたドライブ文字を識別します。
  • ESPにドライブ文字がない場合は、mountvol s: /sを使用してドライブ文字を割り当てます。
  • bcdboot C:\windows /s S: /f ALL
0
Milind R