Windows 8 不允许 Ubuntu 启动

Windows 8 不允许 Ubuntu 启动

设想

最近我建立了自己的桌面并决定安装 Windows 8 作为第一个操作系统(我为什么这样做...),因为我总是同时拥有 Ubuntu 和 Windows,我认为先安装 Windows 会更好,以检查我的视频卡是否正常工作,因为驱动程序在 Windows 上运行得更好。

问题

问题是,当我重新启动 PC 后安装 Ubuntu 时,系统不会提示我选择操作系统,它只是启动 Windows 8。然后我阅读了有关 Windows 8 安装的信息,发现它使用 UEFI 启动,因为 Windows 创建的分区是 EFI。

然后我尝试安装 Ubuntu EFI,尽管我遇到了同样的情况。之后我最后一次尝试手动操作,选择 Windows 创建的分区作为 EFI 分区,但安装无法继续,因为它没有将 EFI 分区识别为 EFI 分区。

我想要的是

我想知道如果我删除 Windows 作为 EFI 创建的分区并让 Ubuntu 在该位置创建它自己的 EFI 一切是否会正常?

但如果这不可能的话,我就不想在我的 PC 上再使用 Windows 8,我会坚持使用 7 和 Ubuntu,但由于我对 UEFI 不太了解,我想知道我是否只是在 NTFS 系统中为我的重要文件创建一个备份分区并删除所有其余文件,然后安装 Ubuntu,在 Windows 7 之后它就可以工作了。

因为我不知道从 HDD 中删除 Windows 8 配置后是否会保留在 UEFI BIOS 中,这会阻止我安装其他操作系统,然后我就根本没电脑了。

此外,如果可能的话,我希望将 Ubuntu 和 Windows 7 都安装为 EFI 系统,因为据我所知,它可以提高安全性(如果我错了请纠正我)并且我的主板不支持安全启动,BIOS 中没有关于此的任何选项,并且我Confirm-SecureBootUEFI在 Windows 中运行命令,返回结果显示我的系统不支持安全启动。

我的电脑规格

  • CORSAIR Vengeance LP 8GB(2 x 4GB)DDR3 1333(PC3 10666)(CML8GX3M2A1333C9)

  • 技嘉 Radeon HD 7970 3GB 384 位 GDDR5 PCI Express 3.0 x16(GV-R797OC-3GD)

  • 英特尔酷睿 i5-3570 Ivy Bridge 3.4GHz(3.8GHz Turbo)LGA 1155 77W 四核(BX80637I53570)

  • 技嘉 GA-B75M-D3H 双 UEFI LGA 1155 英特尔 B75 HDMI SATA 6Gb/s USB 3.0 Micro ATX (GA-B75M-D3H)

  • 希捷 Barracuda 1TB 7200 RPM 32MB 缓存 SATA 6.0Gb/s 3.5 英寸 (ST31000524AS)

附加信息

根据用户 Rod Smith 的建议,我在 raring daily build 的 live usb 中运行了 Boot Info Script,文件内容RESULTS.txt如下:

                  Boot Info Script 0.61      [1 April 2012]


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

 => Windows is installed in the MBR of /dev/sda.
 => Syslinux MBR (4.04 and higher) is installed in the MBR of /dev/sdb.

sda1: __________________________________________________________________________

    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

sda2: __________________________________________________________________________

    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 /Windows/System32/winload.exe

sda3: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 13.04
    Boot files:        /boot/grub/grub.cfg /etc/fstab

sda4: __________________________________________________________________________

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

sdb1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  SYSLINUX 4.04 2011-04-18
    Boot sector info:  Syslinux looks at sector 1628296 of /dev/sdb1 for its 
                       second stage. SYSLINUX is installed in the  directory. 
                       The integrity check of the ADV area failed. No errors 
                       found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /boot/grub/grub.cfg /syslinux/syslinux.cfg 
                       /efi/BOOT/grubx64.efi /ldlinux.sys

============================ 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 / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1    *          2,048       718,847       716,800   7 NTFS / exFAT / HPFS
/dev/sda2             718,848   921,599,999   920,881,152   7 NTFS / exFAT / HPFS
/dev/sda3         921,600,000 1,945,693,749 1,024,093,750  83 Linux
/dev/sda4       1,945,694,208 1,953,523,711     7,829,504  82 Linux swap / Solaris


Drive: sdb _____________________________________________________________________

Disk /dev/sdb: 4051 MB, 4051697152 bytes
125 heads, 62 sectors/track, 1021 cylinders, total 7913471 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdb1    *             62     7,912,749     7,912,688   b W95 FAT32


"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/loop0                                              squashfs   
/dev/sda1        4664C9EB64C9DE35                       ntfs       Reservado pelo Sistema
/dev/sda2        8A46D14C46D13A21                       ntfs       
/dev/sda3        3372315d-d1df-4670-bcbb-4a4ab5548b09   ext4       
/dev/sda4        d5f3ad90-fa34-4a62-9adc-efc3fdd3bfce   swap       
/dev/sdb1        B656-E464                              vfat       MYLINUXLIVE

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

Device           Mount_Point              Type       Options

/dev/loop0       /rofs                    squashfs   (ro,noatime)
/dev/sda2        /media/ubuntu/8A46D14C46D13A21 fuseblk    (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdb1        /cdrom                   vfat       (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)


=========================== sda3/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 [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

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 {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  3372315d-d1df-4670-bcbb-4a4ab5548b09
else
  search --no-floppy --fs-uuid --set=root 3372315d-d1df-4670-bcbb-4a4ab5548b09
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=pt_BR
  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
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3372315d-d1df-4670-bcbb-4a4ab5548b09' {
recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos3'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  3372315d-d1df-4670-bcbb-4a4ab5548b09
    else
      search --no-floppy --fs-uuid --set=root 3372315d-d1df-4670-bcbb-4a4ab5548b09
    fi
    linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=3372315d-d1df-4670-bcbb-4a4ab5548b09 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.8.0-19-generic
}
submenu 'Opções avançadas para Ubuntu' $menuentry_id_option 'gnulinux-advanced-3372315d-d1df-4670-bcbb-4a4ab5548b09' {
    menuentry 'Ubuntu, com Linux 3.8.0-19-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.0-19-generic-advanced-3372315d-d1df-4670-bcbb-4a4ab5548b09' {
    recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  3372315d-d1df-4670-bcbb-4a4ab5548b09
        else
          search --no-floppy --fs-uuid --set=root 3372315d-d1df-4670-bcbb-4a4ab5548b09
        fi
        echo    'Carregando Linux 3.8.0-19-generic ...'
        linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=3372315d-d1df-4670-bcbb-4a4ab5548b09 ro   quiet splash $vt_handoff
        echo    'Carregando ramdisk inicial ...'
        initrd  /boot/initrd.img-3.8.0-19-generic
    }
    menuentry 'Ubuntu, com Linux 3.8.0-19-generic (modo de recuperação)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.0-19-generic-recovery-3372315d-d1df-4670-bcbb-4a4ab5548b09' {
    recordfail
        load_video
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  3372315d-d1df-4670-bcbb-4a4ab5548b09
        else
          search --no-floppy --fs-uuid --set=root 3372315d-d1df-4670-bcbb-4a4ab5548b09
        fi
        echo    'Carregando Linux 3.8.0-19-generic ...'
        linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=3372315d-d1df-4670-bcbb-4a4ab5548b09 ro recovery nomodeset 
        echo    'Carregando ramdisk inicial ...'
        initrd  /boot/initrd.img-3.8.0-19-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/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 8 (loader) (em /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-4664C9EB64C9DE35' {
    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  4664C9EB64C9DE35
    else
      search --no-floppy --fs-uuid --set=root 4664C9EB64C9DE35
    fi
    drivemap -s (hd0) ${root}
    chainloader +1
}
### 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.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
--------------------------------------------------------------------------------

=============================== sda3/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).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda3 during installation
UUID=3372315d-d1df-4670-bcbb-4a4ab5548b09 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda4 during installation
UUID=d5f3ad90-fa34-4a62-9adc-efc3fdd3bfce none            swap    sw              0       0
--------------------------------------------------------------------------------

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

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/grub.cfg                             1
               =                boot/initrd.img-3.8.0-19-generic               1
               =                boot/vmlinuz-3.8.0-19-generic                  1
               =                initrd.img                                     1
               =                vmlinuz                                        1

=========================== sdb1/boot/grub/grub.cfg: ===========================

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

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
    insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
    initrd  /casper/initrd.lz
}
menuentry "Install Ubuntu" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash --
    initrd  /casper/initrd.lz
}
menuentry "OEM install (for manufacturers)" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash oem-config/enable=true --
    initrd  /casper/initrd.lz
}
menuentry "Check disc for defects" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi  boot=casper integrity-check quiet splash --
    initrd  /casper/initrd.lz
}
--------------------------------------------------------------------------------

========================= sdb1/syslinux/syslinux.cfg: ==========================

--------------------------------------------------------------------------------
# D-I config version 2.0
include menu.cfg
default vesamenu.c32
prompt 0
timeout 50
ui gfxboot bootlogo
--------------------------------------------------------------------------------

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

           GiB - GB             File                                 Fragment(s)

            ?? = ??             boot/grub/grub.cfg                             1

================= sdb1: Location of files loaded by Syslinux: ==================

           GiB - GB             File                                 Fragment(s)

            ?? = ??             ldlinux.sys                                    1
            ?? = ??             syslinux/chain.c32                             1
            ?? = ??             syslinux/gfxboot.c32                           1
            ?? = ??             syslinux/syslinux.cfg                          1
            ?? = ??             syslinux/vesamenu.c32                          1

============== sdb1: Version of COM32(R) files used by Syslinux: ===============

 syslinux/chain.c32                 :  COM32R module (v4.xx)
 syslinux/gfxboot.c32               :  COM32R module (v4.xx)
 syslinux/vesamenu.c32              :  COM32R module (v4.xx)

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

awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
/home/ubuntu/Documents/bootinfoscript: line 1646: [: 2.73495e+09: integer expression expected
  No volume groups found

答案1

看起来您已在 BIOS 模式下安装了 Windows——您的磁盘使用 MBR 方案进行分区,而不是 EFI 模式安装所需的 GPT;并且磁盘的 MBR 中有 Windows 引导加载程序的副本。看起来您的grub.cfgLinux 分区中有一个合理的文件,尽管我还没有研究过它的每行;但看起来 GRUB 设置出了问题,因为硬盘的 MBR 中没有 GRUB 的踪迹。

很有可能Ubuntu 启动修复工具能够让一切正常运转,尽管我不能保证这一点。如果您运行它并遇到问题,请回复,因为手动程序几乎肯定也能正常工作。

答案2

这可能是由多种原因造成的,但肯定不是 Windows 8,因为我同时使用 Win8 和 Ubuntu 13.04


您的磁盘可能已损坏。如果是这样,您需要将 /boot 设置为单独的分区(/dev/sda1)并将其放在磁盘的开头。


您可能无法安装 grub。如果是这样,请在 livecd 的终端中输入 grub-install /dev/sda,或者尝试使用 Windows 下的“easybcd”软件。


如果您的 mbr 被 Windows 覆盖,您可以尝试在 livecd 中尝试 sudo -i mount /dev/sda[#] /mnt grub-install --root-directory=/mnt/ /dev/sda。(/dev/sda[#] 是您的 / 目录所在的位置)


希望您能尽快解决您的问题。

相关内容