我安装了 Ubuntu 16.04 和 Windows 10(Windows 200GB,Ubuntu 100GB)。我认为我在安装时犯了一个错误。Ubuntu 加载正常,我能够在 Ubuntu 中执行所有任务,但它启动时没有显示 GRUB 菜单。我不想一遍又一遍地安装以使双启动工作。我怎样才能让 GRUB 出现,以便我可以启动 Windows 10 而不会丢失 Ubuntu?
我不会重新启动 Ubuntu,因为我不想现在丢失 Ubuntu。
下面的情况看起来很类似,但我不敢尝试这个。 重新安装和启动修复后不出现 Grub 菜单 尝试上述接受的答案无效。以下是我输入的命令和输出。
root@ubox:/home/AIR# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-4.10.0-28-generic.efi.signed
Found kernel: /boot/vmlinuz-4.10.0-28-generic
Found kernel: /boot/vmlinuz-4.4.0-112-generic
Found kernel: /boot/memtest86+.bin
Found kernel: /boot/vmlinuz-4.10.0-28-generic.efi.signed
Found kernel: /boot/vmlinuz-4.10.0-28-generic
Found kernel: /boot/vmlinuz-4.4.0-112-generic
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done
root@ubox:/home/AIR# apt-get install --reinstall grub
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
grub-efi-amd64-bin shim
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 19 not upgraded.
Need to get 0 B/196 kB of archives.
After this operation, 0 B of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 224798 files and directories currently installed.)
Preparing to unpack .../grub_0.97-29ubuntu68_amd64.deb ...
Unpacking grub (0.97-29ubuntu68) over (0.97-29ubuntu68) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up grub (0.97-29ubuntu68) ...
root@ubox:/home/AIR# grub-install
install_device not specified.
Usage: grub-install [OPTION] install_device
Install GRUB on your drive.
-h, --help print this message and exit
-v, --version print the version information and exit
--root-directory=DIR install GRUB images under the directory DIR
instead of the root directory
--grub-shell=FILE use FILE as the grub shell
--no-floppy do not probe any floppy drive
--force-lba force GRUB to use LBA mode even for a buggy
BIOS
--recheck probe a device map even if it already exists
INSTALL_DEVICE can be a GRUB device name or a system device filename.
grub-install copies GRUB images into the DIR/boot directory specfied by
--root-directory, and uses the grub shell to install grub into the boot
sector.
Report bugs to <[email protected]>.
root@ubox:/home/AIR# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-4.10.0-28-generic.efi.signed
Found kernel: /boot/vmlinuz-4.10.0-28-generic
Found kernel: /boot/vmlinuz-4.4.0-112-generic
Found kernel: /boot/memtest86+.bin
Found kernel: /boot/vmlinuz-4.10.0-28-generic.efi.signed
Found kernel: /boot/vmlinuz-4.10.0-28-generic
Found kernel: /boot/vmlinuz-4.4.0-112-generic
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done
root@ubox:/home/AIR# cat /boot/grub/menu.ls
cat: /boot/grub/menu.ls: No such file or directory
root@ubox:/home/AIR# cat /boot/grub/menu.lst
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-legacy-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 3
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
hiddenmenu
# Pretty colours
#color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## specify if running in Xen domU or have grub detect automatically
## update-grub will ignore non-xen kernels when running in domU and vice versa
## e.g. indomU=detect
## indomU=true
## indomU=false
# indomU=detect
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
## ## End Default Options ##
title Ubuntu 16.04.3 LTS, kernel 4.10.0-28-generic.efi.signed
uuid abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0
kernel /boot/vmlinuz-4.10.0-28-generic.efi.signed root=UUID=abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0 ro quiet splash
title Ubuntu 16.04.3 LTS, kernel 4.10.0-28-generic.efi.signed (recovery mode)
uuid abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0
kernel /boot/vmlinuz-4.10.0-28-generic.efi.signed root=UUID=abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0 ro single
title Ubuntu 16.04.3 LTS, kernel 4.10.0-28-generic
uuid abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0
kernel /boot/vmlinuz-4.10.0-28-generic root=UUID=abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0 ro quiet splash
initrd /boot/initrd.img-4.10.0-28-generic
title Ubuntu 16.04.3 LTS, kernel 4.10.0-28-generic (recovery mode)
uuid abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0
kernel /boot/vmlinuz-4.10.0-28-generic root=UUID=abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0 ro single
initrd /boot/initrd.img-4.10.0-28-generic
title Ubuntu 16.04.3 LTS, kernel 4.4.0-112-generic
uuid abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0
kernel /boot/vmlinuz-4.4.0-112-generic root=UUID=abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0 ro quiet splash
initrd /boot/initrd.img-4.4.0-112-generic
title Ubuntu 16.04.3 LTS, kernel 4.4.0-112-generic (recovery mode)
uuid abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0
kernel /boot/vmlinuz-4.4.0-112-generic root=UUID=abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0 ro single
initrd /boot/initrd.img-4.4.0-112-generic
title Ubuntu 16.04.3 LTS, memtest86+
uuid abd3a19c-fed3-4cb7-98e3-63fd5c07ccf0
kernel /boot/memtest86+.bin
### END DEBIAN AUTOMAGIC KERNELS LIST
答案1
有一个直接命令bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi
可以在启动时显示 grub 菜单,但要执行,您需要访问 Windows 操作系统。
步骤如下:
- 启动进入 Windows 操作系统
- Windows将+组合r在一起并输入
cmd
以打开命令提示符。 - 输入
bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi
并按回车键
PS:为了让我的戴尔笔记本电脑上的双启动正常工作,我借助了这个链接双启动 Windows 和 Ubuntu我也按照上述步骤设置了 grub 菜单,并且成功了。
此外,链接中列出的解决方案也有效。所以,试试吧。如果您通过它访问 grub,则可以启动 Windows,然后按照上面列出的步骤操作以确保安全。