Win10和银河麒麟双系统开机没有引导菜单直接进Win10怎么办
问题
为了在国产系统上干活、偶尔又要用 Windows 软件,装了 Win10 和银河麒麟双系统:一开始开机有菜单能选,后来某次开机菜单不见了,直接就进 Win10,麒麟进不去也删不掉,占着几十个 G 的空间。想恢复那个开机选择菜单。
原因
双系统的菜单是靠引导程序「接力」实现的,菜单消失基本是接力棒被换掉了:
- 开机菜单其实是麒麟那边的 GRUB 引导程序显示的,Win10 的引导不会列出麒麟——只要机器默认从 Windows Boot Manager 启动,就轮不到 GRUB 出场,表现就是直接进 Win10;
- Win10 大版本更新(功能更新)后常把 EFI 启动顺序改回 Windows 优先,这是「之前好好的、更新完菜单没了」的最常见原因;
- BIOS 电池掉电或恢复默认设置,启动项顺序被重置;
- 有人在 Win10 里用引导工具「整理」过启动项,把麒麟的启动项清掉了;
- 麒麟系统分区或 EFI 里的 GRUB 文件被误删——这种就不是顺序问题,菜单项整个没了,需要重建。
解决
第一步:先确认麒麟还活着。开机时按启动菜单键(多数机器是 F12,部分是 F9 或 Esc),在弹出的设备列表里找带 Kylin 或 ubuntu 字样的启动项:有,说明麒麟完好,只是没轮到它启动,继续第二步;连选项都没有,跳到第四步。
第二步:把麒麟调成第一启动项。重启进 BIOS 设置(一般按 F2 或 Del),找到启动(Boot)选项卡,把 Kylin/ubuntu 那一项调到 Windows Boot Manager 前面,保存退出。之后开机就会先出 GRUB 菜单,里面有麒麟和 Windows 两个可选。
第三步:防止 Win10 更新再抢回去。进麒麟系统后,打开终端编辑 GRUB 配置(/etc/default/grub),把 GRUB_TIMEOUT 的值改成 5 到 10 秒,并确认 GRUB_TIMEOUT_STYLE 不是 hidden,改完执行 update-grub 让设置生效——这样菜单每次都会停留几秒,误更新也不至于完全失联。
第四步:启动项整个没了的情况。用麒麟的安装 U 盘(或任意 Linux Live 盘)启动,选择试用而不安装,联网后对原麒麟分区执行 GRUB 重装,把引导文件写回 EFI 分区,重启再按第二步调顺序。不熟悉命令的,做双系统前先做一个恢复 U 盘备着,这一步能省很多事。
第五步:还不行的兜底。如果只是偶尔要用 Windows,也可以反过来固定从 GRUB 启动、在菜单里默认选麒麟;两套系统都要重用的机器,把各自的重要数据各自备份一份,引导折腾坏了不至于丢数据。
预防
- 双系统机器做完就把「F12 手动选启动项」这个操作写进小卡片贴在机器上,菜单丢了员工自己也能救急;
- Win10 关掉自动的大功能更新,或更新后主动检查一次启动顺序;
- 换主板电池、动 BIOS 设置后,顺手核对启动项顺序;
- 麒麟分区的引导配置改过之后,留一份 /etc/default/grub 备份,重建时照抄。
一机两系统的引导排障、双系统装机的规划与救援盘准备,贵州诚鑫致达科技给小公司客户是当标准交付项做的,装完当场演练一遍「菜单丢了怎么救」。