我已成功安装并运行 Ubuntu 14.04 和 Windows 10。但是,我无法正确显示 grub 菜单,我尝试使用启动修复多次。除了 grub,我还通过 Windows 10 进行了启动修复。
Ubuntu 根本无法在我的系统上检测到 Windows 10,但它仍然在启动菜单中列出 Windows 恢复环境(两次),如果我选择其中一个,则两个都可以正常启动到 Windows 10。
为什么有两个相同的条目执行并标准启动 Windows 10,但却说这是恢复?我怎样才能摆脱这些条目,只留下一个写着“Windows 10”的条目?
答案1
从此处复制条目:
sudo cp -a /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
gedit /boot/grub/grub.cfg
将 Windows 启动节复制到并编辑,使其仅包含您想要的条目/描述:
gksudo gedit /etc/grub.d/40_custom
然后做:
sudo update-grub
一旦手动输入有效,请关闭 os-prober,方法是将以下行添加到 /etc/default/grub 配置文件中,以使 grub 不再自动添加条目。如果您添加了另一个系统并希望它找到它,您可以再次使用 false 将其打开。
gksudo gedit /etc/default/grub
GRUB_DISABLE_OS_PROBER=true
sudo update-grub
https://help.ubuntu.com/community/MaintenanceFreeCustomGrub2Screen
答案2
我修改了 grub“os-prober”脚本,以允许用户定义菜单项的名称替换。首先,在 /etc/grub.d/30_os-prober 中找到以下代码:
if [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi
在该代码之后添加以下内容:
# Begin patch
if [ "x${GRUB_OS_PROBER_RENAME_LIST}" != "x" ]; then
for RENAME in ${GRUB_OS_PROBER_RENAME_LIST} ; do
SRCNAME="`echo ${RENAME} | cut -d ':' -f 1 | tr '^' ' '`"
DSTNAME="`echo ${RENAME} | cut -d ':' -f 2 | tr '^' ' '`"
if [ "${LONGNAME}" = "${SRCNAME}" ]; then
LONGNAME="${DSTNAME}"
echo "Renamed '${SRCNAME}' to '${DSTNAME}' by user request." >&2
fi
done
fi
# End patch
然后,在 /etc/default/grub 中添加要使用的重命名规则。这可以放在文件中的任何位置:
# Rename list for OS's detected by os-prober. This is a space-separated
# list of rename mappings. A rename mapping is a colon-separated pair
# of strings, where each string has its spaces converted to ^ characters.
# The first string is the name of the OS reported by os-prober, and the
# second string is the replacement used by update-grub. This variable
# requires a change to /etc/grub.d/30_os-prober.
export GRUB_OS_PROBER_RENAME_LIST="Windows^Recovery^Environment^(loader):Windows^10"
最后,更新你的 grub:
sudo update-grub
如果它正常工作,update-grub 输出将告诉您重命名的内容,并且您的启动菜单也应该更新。
为了摆脱额外的 Windows 菜单项,我使用了GRUB_OS_PROBER_SKIP_LIST/etc/default/grub 中的功能。
答案3
这取决于您进行了哪种分区。首先运行sudo update-grub
。如果这不起作用,您可以编辑文件grub.cfg
以仅包含一个名为“Windows 10”或任何您想要的窗口条目,但不要删除任何 Ubuntu 条目。
sudo gedit /boot/grub/grub.cfg
小心!做任何事情之前请先阅读在线教程。