如何让 grub 在经典 BIOS PC 中真正启动 Windows 8

如何让 grub 在经典 BIOS PC 中真正启动 Windows 8

每次我安装 Ubuntu 操作系统版本时,它都会正确识别 Windows 8 分区,但在启动时(它是旧版 BIOS),从 GRUB 菜单中选择 Windows 8 后,屏幕变暗,并且不会加载 Windows 8 引导加载程序(它永远不会加载 Windows 8)。Boot-Repair 无法修复该问题。如果我使用bootrec /fixmbr(通过 Windows 8 恢复 USB),Windows 8 会再次启动,但 GRUB 消失了,所以我必须通过 Boot-Repair USB 启动 PC,这可以修复我的 Ubuntu 版本,但 Windows 8 再次无法正常工作。如此反复,陷入无限循环。

在旧版 BIOS 笔记本电脑(无 UEFI、无安全启动)上,我在第一个主分区(sda1)中安装了 Windows 8.1。该分区有启动标志。我已禁用 Windows 8 的快速启动。Windows 更新设置为手动;它不会重新启用快速启动。

在一些逻辑分区上,我安装了一些 Ubuntu 版本(MATE、Kubuntu、Xubuntu。我尝试了原始 Ubuntu 16.04 和 20.10。

GRUB 安装在 SDA 的 MBR 中(它也已被 Boot Repair 清除并重新安装)。

我曾尝试通过 Boot-Repair USB 和 MATE 中安装的程序修复 GRUB。

我尝试修复了好几次;我总是点击详细信息来查看 Boot-Repair 将应用哪些默认修复;一旦出现“在每个分区安装 GRUB”,我就不再使用它了,因为我不想损坏我的单独数据分区。在所有其他修复中,Boot-Repair 都不会自动选择此选项。

我附上了一些 Boot-Repair 生成的报告。忽略 sda10 错误,因为这是一个未格式化且没有操作系统的分区。

这是第一份启动信息报告:
启动信息

首先引导修复摘要
修复后最后引导修复摘要

boot-repair-4ppa125                                              [20210307_0300]

============================= Boot Repair Summary ==============================


Error code 12
mount -r /dev/sda10 /mnt/boot-sav/sda10

mount -r /dev/sda10 : Error code 12
Error code 12
mount -r /dev/sda10 /mnt/boot-sav/sda10

mount -r /dev/sda10 : Error code 12
Error code 12
mount -r /dev/sda10 /mnt/boot-sav/sda10

mount -r /dev/sda10 : Error code 12

NTFS signature is missing.
Failed to mount '/dev/sda10': Invalid argument
The device '/dev/sda10' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
NTFS signature is missing.
Failed to mount '/dev/sda10': Invalid argument
The device '/dev/sda10' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
NTFS signature is missing.
Failed to mount '/dev/sda10': Invalid argument
The device '/dev/sda10' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
NTFS signature is missing.
Failed to mount '/dev/sda10': Invalid argument
The device '/dev/sda10' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
ping: google.com: Temporary failure in name resolution

Recommended repair: ____________________________________________________________

The default repair of the Boot-Repair utility will reinstall the grub2 of
sda5 into the MBR of sda,
using the following options:       set-windows-as-default
Additional repair will be performed: unhide-bootmenu-10s



Unhide GRUB boot menu in sda5/etc/default/grub

========================= Reinstall the grub2 of sda5 ==========================

grub-install --version
grub-install (GRUB) 2.02-2ubuntu8.21

==> Reinstall the GRUB of sda5 into the MBR of sda

grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

update-grub
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-66-generic
Found initrd image: /boot/initrd.img-5.4.0-66-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found Windows 8 on /dev/sda1
Found Ubuntu 18.04.1 LTS (18.04) on /dev/sda12

Set menuentry 'Windows 8 (on /dev/sda1)' --class windows --class os  'osprober-chain-0AA6F5F7A6F5E35D' { as default entry

update-grub
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-66-generic
Found initrd image: /boot/initrd.img-5.4.0-66-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found Windows 8 on /dev/sda1
Found Ubuntu 18.04.1 LTS (18.04) on /dev/sda12

NTFS signature is missing.
Failed to mount '/dev/sda10': Invalid argument
The device '/dev/sda10' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
NTFS signature is missing.
Failed to mount '/dev/sda10': Invalid argument
The device '/dev/sda10' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

Unhide GRUB boot menu in sda5/boot/grub/grub.cfg

Unhide GRUB boot menu in sda12/boot/grub/grub.cfg

Boot successfully repaired.

You can now reboot your computer.


============================ Boot Info After Repair ============================

 => Grub2 (v2.00) is installed in the MBR of /dev/sda and looks at sector 1 of 
    the same hard drive for core.img. core.img is at this location and looks 
    for (,msdos5)/boot/grub. It also embeds following components:
    
    modules
    ---------------------------------------------------------------------------
    fshelp ext2 part_msdos biosdisk
    ---------------------------------------------------------------------------

sda1: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows 8/2012: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  Windows 10
    Boot files:        /bootmgr /Boot/BCD /Windows/System32/winload.exe

sda2: __________________________________________________________________________

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

sda3: __________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  -
    Boot sector info: 

sda5: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 18.04.5 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab /etc/default/grub 
                       /boot/grub/i386-pc/core.img

sda6: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  
    Boot files:        

sda7: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Unknown
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        

sda8: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows 8/2012: NTFS
    Boot sector info:  According to the info in the boot sector, sda8 starts 
                       at sector 2048.
    Operating System:  
    Boot files:        

sda9: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows 8/2012: NTFS
    Boot sector info:  According to the info in the boot sector, sda9 starts 
                       at sector 2048.
    Operating System:  
    Boot files:        

sda10: _________________________________________________________________________

    File system:       
    Boot sector type:  Unknown
    Boot sector info: 

sda11: _________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        

sda12: _________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 18.04.1 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab /etc/default/grub 
                       /boot/grub/i386-pc/core.img


================================ 3 OS detected =================================

OS#1:   The OS now in use - Ubuntu 18.04.5 LTS CurrentSession on sda5
OS#2:   Windows 8 on sda1
OS#3:   Ubuntu 18.04.1 LTS on sda12

============================ Architecture/Host Info ============================

CPU architecture: 64-bit
BOOT_IMAGE of the installed session in use:
/boot/vmlinuz-5.4.0-66-generic root=UUID=2e369f8f-d83e-436b-b6dc-2717c63bfddb ro quiet splash


===================================== UEFI =====================================

This installed-session is not in EFI-mode.



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

Disks info: ____________________________________________________________________

sda : notGPT,   no-BIOSboot,    has-noESP,  not-usb,    not-mmc, has-os,    2048 sectors * 512 bytes

Partitions info (1/3): _________________________________________________________

sda5    : is-os,    32, apt-get,    grub-pc ,   grub2,  grub-install,   grubenv-ok, update-grub,    farbios
sda1    : is-os,    32, nopakmgr,   no-docgrub, nogrub, nogrubinstall,  no-grubenv, noupdategrub,   not-far
sda2    : no-os,    32, nopakmgr,   no-docgrub, nogrub, nogrubinstall,  no-grubenv, noupdategrub,   not-far
sda6    : no-os,    32, nopakmgr,   no-docgrub, nogrub, nogrubinstall,  no-grubenv, noupdategrub,   farbios
sda7    : no-os,    32, nopakmgr,   no-docgrub, nogrub, nogrubinstall,  no-grubenv, noupdategrub,   farbios
sda8    : no-os,    32, nopakmgr,   no-docgrub, nogrub, nogrubinstall,  no-grubenv, noupdategrub,   farbios
sda9    : no-os,    32, nopakmgr,   no-docgrub, nogrub, nogrubinstall,  no-grubenv, noupdategrub,   farbios
sda11   : no-os,    32, nopakmgr,   no-docgrub, nogrub, nogrubinstall,  no-grubenv, noupdategrub,   farbios
sda12   : is-os,    64, apt-get,    grub-pc ,   grub2,  grub-install,   grubenv-ok, update-grub,    farbios
sda10   : no-os,    32, nopakmgr,   no-docgrub, nogrub, nogrubinstall,  no-grubenv, noupdategrub,   farbios

Partitions info (2/3): _________________________________________________________

sda5    : isnotESP, fstab-without-efi,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot
sda1    : isnotESP, part-has-no-fstab,  no-nt,  haswinload, no-recov-nor-hid,   bootmgr,    is-winboot
sda2    : isnotESP, part-has-no-fstab,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot
sda6    : isnotESP, part-has-no-fstab,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot
sda7    : isnotESP, part-has-no-fstab,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot
sda8    : isnotESP, part-has-no-fstab,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot
sda9    : isnotESP, part-has-no-fstab,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot
sda11   : isnotESP, part-has-no-fstab,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot
sda12   : isnotESP, fstab-without-efi,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot
sda10   : isnotESP, part-has-no-fstab,  no-nt,  no-winload, no-recov-nor-hid,   no-bmgr,    notwinboot

Partitions info (3/3): _________________________________________________________

sda5    : not-sepboot,  with-boot,  fstab-without-boot, not-sep-usr,    with--usr,  fstab-without-usr,  std-grub.d, sda
sda1    : not-sepboot,  no-boot,    part-has-no-fstab,  not-sep-usr,    no---usr,   part-has-no-fstab,  std-grub.d, sda
sda2    : not-sepboot,  no-boot,    part-has-no-fstab,  not-sep-usr,    no---usr,   part-has-no-fstab,  std-grub.d, sda
sda6    : maybesepboot, no-boot,    part-has-no-fstab,  not-sep-usr,    no---usr,   part-has-no-fstab,  std-grub.d, sda
sda7    : not-sepboot,  no-boot,    part-has-no-fstab,  not-sep-usr,    no---usr,   part-has-no-fstab,  std-grub.d, sda
sda8    : not-sepboot,  no-boot,    part-has-no-fstab,  not-sep-usr,    no---usr,   part-has-no-fstab,  std-grub.d, sda
sda9    : not-sepboot,  no-boot,    part-has-no-fstab,  not-sep-usr,    no---usr,   part-has-no-fstab,  std-grub.d, sda
sda11   : not-sepboot,  no-boot,    part-has-no-fstab,  not-sep-usr,    no---usr,   part-has-no-fstab,  std-grub.d, sda
sda12   : not-sepboot,  with-boot,  fstab-without-boot, not-sep-usr,    with--usr,  fstab-without-usr,  std-grub.d, sda
sda10   : maybesepboot, no-boot,    part-has-no-fstab,  not-sep-usr,    no---usr,   part-has-no-fstab,  std-grub.d, sda

fdisk -l (filtered): ___________________________________________________________

Disk sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk identifier: 0x10a94cd5
      Boot      Start        End    Sectors   Size Id Type
sda1  *          2048   91803647   91801600  43.8G  7 HPFS/NTFS/exFAT
sda2         91803648  176549887   84746240  40.4G  7 HPFS/NTFS/exFAT
sda3        176549950 1730498559 1553948610   741G  f W95 Ext'd (LBA)
sda5        176549952  238813247   62263296  29.7G 83 Linux
sda6        238815296  301078591   62263296  29.7G 83 Linux
sda7        381351936  767170559  385818624   184G  7 HPFS/NTFS/exFAT
sda8        767172608 1154803711  387631104 184.9G  7 HPFS/NTFS/exFAT
sda9       1154805760 1730291711  575485952 274.4G  7 HPFS/NTFS/exFAT
sda10      1730293760 1730498559     204800   100M  7 HPFS/NTFS/exFAT
sda11       373164032  381349887    8185856   3.9G  b W95 FAT32
sda12       301080576  337934335   36853760  17.6G 83 Linux
Partition table entries are not in disk order.

parted -lm (filtered): _________________________________________________________

sda:1000GB:scsi:512:4096:msdos:ATA ST1000LM048-2E71:;
1:1049kB:47.0GB:47.0GB:ntfs::boot;
2:47.0GB:90.4GB:43.4GB:ntfs::;
3:90.4GB:886GB:796GB:::lba;
5:90.4GB:122GB:31.9GB:ext4::;
6:122GB:154GB:31.9GB:ext4::;
12:154GB:173GB:18.9GB:ext4::;
11:191GB:195GB:4191MB:fat32::;
7:195GB:393GB:198GB:ntfs::;
8:393GB:591GB:198GB:ntfs::;
9:591GB:886GB:295GB:ntfs::;
10:886GB:886GB:105MB:::;

blkid (filtered): ______________________________________________________________

NAME    FSTYPE   UUID                                 PARTUUID                             LABEL    PARTLABEL
sda                                                                                                 
├─sda1  ntfs     0xxxxxxxxxxxxxxx                     10a94cd5-01                                   
├─sda2  ntfs     4xxxxxxxxxxxxxxx                     10a94cd5-02                                 
├─sda3                                                10a94cd5-03                                   
├─sda5  ext4     2xxxxxxx                             10a94cd5-05                                   
├─sda6  ext4     5xxxxxxx                             10a94cd5-06                               
├─sda7  ntfs     5xxxxxxx                             10a94cd5-07                               
├─sda8  ntfs     Fxxxxxxx                             10a94cd5-08                          d     
├─sda9  ntfs     Fxxxxxxx                             10a94cd5-09                          u 
├─sda10                                               10a94cd5-0a                                   
├─sda11 vfat     Exxxxxxx                             10a94cd5-0b                          O     
└─sda12 ext4     axxxxxxx                             10a94cd5-0c                                   

df (filtered): _________________________________________________________________

       Avail Use% Mounted on
sda11      3G  24% /mnt/boot-sav/sda11
sda12   10.7G  33% /mnt/boot-sav/sda12
sda1    31.5G  28% /mnt/boot-sav/sda1
sda2    40.3G   0% /mnt/boot-sav/sda2
sda5    17.9G  33% /
sda6    27.8G   0% /mnt/boot-sav/sda6
sda7    36.1G  80% /media/laptop/temp
sda8   107.2G  42% /mnt/boot-sav/sda8
sda9   274.3G   0% /mnt/boot-sav/sda9

Mount options: __________________________________________________________________

sda11  rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
sda12  rw,relatime
sda1   rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096
sda2   rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096
sda5   rw,relatime,errors=remount-ro
sda6   rw,relatime
sda7   rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096
sda8   rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096
sda9   rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096

====================== sda5/boot/grub/grub.cfg (filtered) ======================

Windows 8 (on sda1)   0AA6F5F7A6F5E35D
Ubuntu   2e369f8f-d83e-436b-b6dc-2717c63bfddb
Ubuntu, with Linux 5.4.0-66-generic   2e369f8f-d83e-436b-b6dc-2717c63bfddb
Ubuntu, with Linux 5.4.0-42-generic   2e369f8f-d83e-436b-b6dc-2717c63bfddb
Windows 8 (on sda1)   0AA6F5F7A6F5E35D
Ubuntu 18.04.1 LTS (18.04) (on sda12)   adeb74d4-5eef-48dd-a8eb-72bdc11859a5
Ubuntu (on sda12)   adeb74d4-5eef-48dd-a8eb-72bdc11859a5
Ubuntu, with Linux 4.15.0-29-generic (on sda12)   adeb74d4-5eef-48dd-a8eb-72bdc11859a5
### END /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_uefi-firmware ###

========================== sda5/etc/fstab (filtered) ===========================

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation
UUID=2e369f8f-d83e-436b-b6dc-2717c63bfddb /               ext4    errors=remount-ro 0       1
/swapfile                                 none            swap    sw              0       0
/dev/disk/by-id/usb-ffff_5678_18080706005120-0:0 /mnt/usb-ffff_5678_18080706005120-0:0 auto nosuid,nodev,nofail,noauto,x-gvfs-show 0 0

======================= sda5/etc/default/grub (filtered) =======================

GRUB_DEFAULT="menuentry 'Windows 8 (on /dev/sda1)' --class windows --class os  'osprober-chain-0AA6F5F7A6F5E35D' {"
GRUB_TIMEOUT_STYLE="visible"
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
export GRUB_COLOR_NORMAL="light-gray/black"
export GRUB_COLOR_HIGHLIGHT="magenta/black"
GRUB_DISABLE_LINUX_RECOVERY="true"
==================== sda5: Location of files loaded by Grub ====================

           GiB - GB             File                                 Fragment(s)
  98.701229095 = 105.979637760  boot/grub/grub.cfg                             1
 110.512825012 = 118.662242304  boot/grub/i386-pc/core.img                     1
  87.591823578 = 94.051004416   boot/vmlinuz-5.4.0-42-generic                  2
  95.404354095 = 102.439645184  boot/vmlinuz-5.4.0-66-generic                  1
  95.404354095 = 102.439645184  vmlinuz                                        1
  87.591823578 = 94.051004416   vmlinuz.old                                    2
  94.864063263 = 101.859512320  boot/initrd.img-5.4.0-42-generic               3
  97.917369843 = 105.137975296  boot/initrd.img-5.4.0-66-generic               3
  97.917369843 = 105.137975296  initrd.img                                     3
  94.864063263 = 101.859512320  initrd.img.old                                 3

===================== sda5: ls -l /etc/grub.d/ (filtered) ======================

-rwxr-xr-x 1 root root 12808 ian  7 15:45 10_linux
-rwxr-xr-x 1 root root 11298 ian  7 15:45 20_linux_xen
-rwxr-xr-x 1 root root 12059 ian  7 15:45 30_os-prober
-rwxr-xr-x 1 root root  1418 ian  7 15:45 30_uefi-firmware
-rwxr-xr-x 1 root root   214 ian  7 15:45 40_custom
-rwxr-xr-x 1 root root   216 ian  7 15:45 41_custom
drwxr-xr-x 4 root root  4096 mar  7 00:34 backup

===================== sda12/boot/grub/grub.cfg (filtered) ======================

Ubuntu   adeb74d4-5eef-48dd-a8eb-72bdc11859a5
Ubuntu, with Linux 4.15.0-29-generic   adeb74d4-5eef-48dd-a8eb-72bdc11859a5
Windows 8 (on sda1)   0AA6F5F7A6F5E35D
Ubuntu 18.04.5 LTS (18.04) (on sda5)   2e369f8f-d83e-436b-b6dc-2717c63bfddb
Ubuntu (on sda5)   2e369f8f-d83e-436b-b6dc-2717c63bfddb
Ubuntu, with Linux 5.4.0-66-generic (on sda5)   2e369f8f-d83e-436b-b6dc-2717c63bfddb
Ubuntu, with Linux 5.4.0-42-generic (on sda5)   2e369f8f-d83e-436b-b6dc-2717c63bfddb
### END /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_uefi-firmware ###

========================== sda12/etc/fstab (filtered) ==========================

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda12 during installation
UUID=adeb74d4-5eef-48dd-a8eb-72bdc11859a5 /               ext4    errors=remount-ro 0       1
/swapfile                                 none            swap    sw              0       0

====================== sda12/etc/default/grub (filtered) =======================

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

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

           GiB - GB             File                                 Fragment(s)
 143.566417694 = 154.153267200  boot/grub/grub.cfg                             1
 150.016685486 = 161.079189504  boot/grub/i386-pc/core.img                     1
 150.014934540 = 161.077309440  boot/vmlinuz-4.15.0-29-generic                 1
 150.014934540 = 161.077309440  vmlinuz                                        1
 158.491592407 = 170.179051520  boot/initrd.img-4.15.0-29-generic              2
 158.491592407 = 170.179051520  initrd.img                                     2
 158.491592407 = 170.179051520  initrd.img.old                                 2

===================== sda12: ls -l /etc/grub.d/ (filtered) =====================

-rwxr-xr-x 1 root root 12693 iul 17  2018 10_linux
-rwxr-xr-x 1 root root 11298 iul 17  2018 20_linux_xen
-rwxr-xr-x 1 root root 12059 iul 17  2018 30_os-prober
-rwxr-xr-x 1 root root  1418 iul 17  2018 30_uefi-firmware
-rwxr-xr-x 1 root root   214 iul 17  2018 40_custom
-rwxr-xr-x 1 root root   216 iul 17  2018 41_custom


======================== Unknown MBRs/Boot Sectors/etc =========================

Unknown BootLoader on sda7

Unknown BootLoader on sda10

我还安装了 Grub Customizer,尝试将 Windows 8 移至启动顺序中的第一位,但没有什么效果。如果它有帮助(因为 Ubuntu 粘贴将过期),以下是 Windows 8 的 GRUB 菜单项:

insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  xxxxxxxxxx
else
  search --no-floppy --fs-uuid --set=root xxxxxxxxxx
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1

答案1

在@oldfred 的帮助下评论,我尝试了来自该 archlinux 页面的自定义脚本(在 ntldr 关键字后的页面中查找)。

我仍然使用 Grub Customizer 来编辑菜单项。

Windows 8 的默认脚本(在该页面中)将在列表末尾创建一个具有相同名称的新菜单项(当我选择 Windows 条目时,当我在启动时“实时”处于 GRUB 中时!)!如果我再次选择相同的 Windows 条目,它将在末尾创建另一个相同的菜单项,依此类推...如果我随后在末尾选择新创建的菜单项,它将启动 Windows。

然而,我想让它表现正常,所以我稍微调整了一下,然后问题解决了,不再需要两步菜单启动!

这是可以正常工作的 GRUB Customizer 菜单项(在我的帖子中描述的参数中,即 BIOS 和 Windows 8.1 的多重启动;对于其他设置,则需要进行其他调整):

if [ "${grub_platform}" == "pc" ]; then
        insmod part_msdos
        insmod ntfs
        insmod ntldr     
        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 xxxxxxxx
ntldr /bootmgr
fi

其中 xxxxxxxx 是 Windows 分区 UUID,可以使用命令找到

lsblk --fs

相关内容