美文网首页
系统 | 把 Grub 安装到 U 盘上 / 重建 Grub 引

系统 | 把 Grub 安装到 U 盘上 / 重建 Grub 引

作者: imrdr | 来源:发表于2020-05-10 16:51 被阅读0次

    这篇文章同样适用于重建 Grub 引导。

    熟悉我写作风格的小伙伴都应该知道,我的文章,只放干货。
    但是,不把背景交代清楚也不行,干货就容易噎着。
    不喜欢的可以直接跳到分割线以后,直接看干货。

    最近,因为一些原因,用 Windows 比较多,就重装了一下,就把 Grub 引导覆盖掉了。

    吐槽:Windows 就是这么专横,这也是我不喜欢它的原因之一。
    也可能是我还不会装 Windows [尴尬]

    喜欢 Linux 的原因之一,就是因为它可以 DIY,把你自己的电脑打造成你想要的样子。
    比如:

    • 我想把它装到 U 盘中;
    • 我想让它和其他 OS 并存;
    • 我想把它 “阉割”,只保留我想要的功能......

    ——它都可以!

    ---------------------我是分割线---------------------

    我的需求

    • 当我想打开 Linux 的时候,正常选择想要打开的操作系统;
    • 当我不用的时候,让其他人打开 Windows,不想在引导界面看到一大堆操作系统的菜单。就好像 Linux 不存在一样。

    许多装双系统的小伙伴应该都有这样的经历。尤其是像我这样的狂热的软件试用者 DB,我在我的 1 个 G的硬盘上装了 10 个操作系统(包括 Win)。

    那么,如何实现呢?

    示例说明

    目标 U 盘:/dev/sdb1 # 你的可能是其他的

    错误的示例

    # 错误的示例
    grub-install --target=i386-pc /dev/sdb
    grub-mkconfig -o /boot/grub/grub.cfg
    

    得到错误:
    error: failed to get canonical path of `overlay'.

    正确的做法是:

    如果你的 Grub 分区(就是你想把 Grub 安装到的那个分区)包含完整的操作系统安装

    sudo mount /dev/sdb1 /mnt
    sudo chroot /mnt
    sudo update-grub2
    grub-install --target=i386-pc /dev/sdb # 注意:不是 'sdb1',没有这个 '1'。
    grub-mkconfig -o /boot/grub/grub.cfg
    

    如果 Grub 分区(在这里是我的目标 U 盘)是空的

    我不得不首先将大部分系统引入 chroot 环境:

    #!/bin/bash
    mkdir /mnt/chrootdir
    mount /dev/sdb1 /mnt/chrootdir
    for dir in proc dev sys etc bin sbin var usr lib lib64 tmp; do
        mkdir /mnt/chrootdir/$dir && mount --bind /$dir /mnt/chrootdir/$dir
        # 你要是不嫌麻烦,一个一个创建,一个一个 mount 也是可以的.
    done
    chroot /mnt/chrootdir
    grub-install --target=i386-pc /dev/sdb # 注意:不是 'sdb1',没有这个 '1'。
    grub-mkconfig -o /boot/grub/grub.cfg
    # 你要是 **确定** 你的操作参数,直接在上面这段代码中更改,复制粘贴创建一个脚本,一键完成,也是可以的。
    # 像我们这些新手还是建议一行一行敲代码,掌握的实在。
    

    用法:

    • 插上 U 盘,打开你想要的系统;
    • 拔掉 U 盘,其他用户感觉不到 Linux 的存在。

    但是,你的电脑可能还达不到这样的效果,因为,你的双系统的 Grub 引导还在你的硬盘上。其他用户打开的时候,还是会看到原来的引导界面。
    如果你想达到这样的效果,也不是不可以,那就是用 Windows 引导修复工具‘修复’ Windows 引导(也就是用 Windows 引导把 Grub 引导覆盖掉),这样的工具很多,比如:某毛桃,某度。

    GoodLuck!

    参考链接
    Grub 官网
    某百科

    相关文章

      网友评论

          本文标题:系统 | 把 Grub 安装到 U 盘上 / 重建 Grub 引

          本文链接:https://www.haomeiwen.com/subject/yybjnhtx.html