我的总体目标是双启动 Linux Mint 和 Windows 10。主板仅是旧版 BIOS。
首先,我在辅助分区上安装了 Linux Mint,然后安装了 Windows 10。
因为我忘记创建一个单独的启动分区...我将所有 1000MB 的内容移到右侧,并在 sda 的开头创建了一个 ext4 启动分区。
使用以下选项在实时 Ubuntu USB 上运行启动修复:
- 单独的/boot分区:sda4(磁盘上的第一个分区)
- GRUB Legacy(认为这是针对旧版 BIOS 的)
- 重新安装 GRUB(默认)
- 取消隐藏启动菜单:10秒(默认)
启动修复挂起于Purge kernels then reinstall last kernel sda1 (ins). This may require several minuets...
我已经让它运行了一整夜,该过程仍在运行。我已经重新启动并再次尝试,让该过程运行 3 天。没什么不同。
启动信息摘要:http://paste.ubuntu.com/17678629/
我同时打开了gparted,假设不会有影响。
答案1
我今天也遇到了完全相同的问题。挖掘boot-repair
工具日志我发现了这个错误:
gui-actions-purge.sh: line 441: ${APTTYP[$USRPART]} ${INSTALLTYP[$USRPART]} ${YESTYP[$USRPART]} linux${$KERNELTOREINST}-generic linux-headers-generic: bad substitution
日志存储在 \var\log\boot-sav\log\YYYY-MM-DD__HHhMMboot-repairXX\boot-repair.log
文件中。
该包linux${$KERNELTOREINST}-generic
看起来不像有效的包。也许应该只是linux-generic
。
所以我修改了\usr\share\boot-sav\gui-actions-purge.sh
,替换行441
:
local COMMAND="${APTTYP[$USRPART]} ${INSTALLTYP[$USRPART]} ${YESTYP[$USRPART]} linux${$KERNELTOREINST}-generic linux-headers-generic"
和:
local COMMAND="${APTTYP[$USRPART]} ${INSTALLTYP[$USRPART]} ${YESTYP[$USRPART]} linux-generic linux-headers-generic"
并boot-repair
从任务栏菜单重新启动。
它工作正常并修复了我的启动问题,在我的克隆磁盘上恢复了 grub。
快速操作方法
Boot-Repair
照常启动,但关闭自动启动boot-repair
工具- 从任务栏菜单打开终端
- 输入
sudo su -
以获取 root shell - 类型
leafpad &
- 文本编辑器将打开。
\usr\share\boot-sav\gui-actions-purge.sh
用它打开文件。 寻找
local COMMAND="${APTTYP[$USRPART]} ${INSTALLTYP[$USRPART]} ${YESTYP[$USRPART]} linux${$KERNELTOREINST}-generic linux-headers-generic"
用。。。来代替:
local COMMAND="${APTTYP[$USRPART]} ${INSTALLTYP[$USRPART]} ${YESTYP[$USRPART]} linux-generic linux-headers-generic"
- 保存文件,关闭
Leafpad
- 让根终端保持打开状态,稍后您将需要它,因为它
boot-repair
会要求您运行一些命令。 - 从任务栏菜单运行
boot-repair
并按照其说明进行操作。
答案2
我解决这些困境的一般方法是对所涉及的磁盘进行映像,然后重新开始。
我知道技术上没有帮助,但我的建议仍然是。