交代一下使用场景,个人平时经常使用Ubuntu系统,由于不喜欢总在一个地方呆但是来回搬电脑又不是十分的方便,于是想到了一个好的方案,那就是把Ubuntu系统安装到移动硬盘中,这样不论是在家还是在实验室带着一个移动硬盘走就可以了,十分的方便。因为如此,于是就有了这样的一个需求,就是把Ubuntu系统安装到一个移动硬盘中,该系统可以通过硬盘插拔的方式在任何一个X86-64电脑上启动。

需要注意的是Windows系统是不支持非pcie方式启动的,Ubuntu等Linux系统是支持非pcie启动的,这样把安装Ubuntu系统的移动硬盘插入到usb3.0的接口上通过非PCIE的方式即可启动该硬盘上的系统。

=========================================

有了这个方案剩下的就是具体的安装了,和安装双系统一样把Ubuntu系统安装到移动硬盘中也是类似的操作,但是不同的是安装双系统时Windows和Ubuntu都在主机硬盘中,但是把Ubuntu安装到移动硬盘中我们需要保证主机在不插入移动硬盘时也是可以正常启动的,这里我们假设主机系统时Windows系统,插入移动硬盘后通过bios的启动顺序选择也是可以选择使用移动硬盘启动系统的,这时启动的则是移动硬盘上的Ubuntu系统。

硬件准备:

主机系统为Windows10,一个刻录好的Ubuntu20.04的启动盘,一个移动硬盘。

将移动硬盘和刻录好U盘启动盘插入主机后启动,进入到U盘启动盘的系统内,将Ubuntu20.04系统安装到移动硬盘中,注意的是此时需要在移动硬盘上为移动硬盘的Ubuntu系统设置uefi分区,并且系统引导分区设置为主机磁盘分区。这里需要注意的一点,那就是如果安装Ubuntu20.04系统时如果将引导分区设置为移动硬盘上的Ubuntu系统,那么主机在不插入该移动硬盘的时候是读取不到引导分区的,这样的话主机的Windows系统便无法在不插入该移动硬盘的情况下被引导启动了。

通过上面的操作后虽然移动硬盘上已经设置了uefi分区,但是启动分区还是设置在主机分区上,此时将Ubuntu系统安装到移动硬盘上后移除u盘重启主机,然后就可以通过grub的启动设备选择界面选择进入到主机的Windows10系统或者进入到移动硬盘的Ubuntu系统中。不过这样就出现了一个问题,那就是移动硬盘中虽然设置了uefi分区,但是并没有设置启动分区,这样的话这个移动硬盘插入到其他主机后是无法通过修改BIOS的启动顺序来进入到移动硬盘下的Ubuntu系统的,这时就需要对移动硬盘里的Ubuntu进行uefi启动修复和grub启动修复,在网上了找了很多对ubuntu的uefi分区和grub启动进行修复的操作,最后亲测可以的:

https://www.cnblogs.com/bcode/p/12161913.html

对移动硬盘上的Ubuntu系统的uefi启动修复和grub启动修复:

假设移动硬盘上设置了Ubuntu的两个分区,一个是几百兆的UEFI分区,和一个系统分区“/” ,分别标记为 sda1 和sda2。

(uefi分区为sda1,  “/” 分区为sda2 , 移动硬盘中分区的标记需要自己在系统中具体查看)

使用u盘上的Ubuntu启动盘(Ubuntu PE系统)来启动主机,并将移动硬盘插入到主机中:

进入系统后终端执行命令:

#将系统盘挂载到 预览系统的 /mnt中,上面说了 我的系统盘是sda2,所以将sda2挂载到了 /mnt下。
sudo mount /dev/sda2 /mnt #再把UEFI分区挂载到 sda2的boot目录下 efi目录中
sudo mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done #切换到原系统环境进行修复
sudo chroot /mnt
grub-install /dev/sda
update-grub

这样操作后即可修复好移动硬盘上的uefi分区及启动分区。

需要注意的是此时主机上是插着系统启动U盘和移动硬盘的,如果我们拔掉U盘和移动硬盘后开机发现Windows的启动被破坏导致无法开机,此时则需再次插入启动U盘,然后在启动U盘中进行boot-repair的修复启动工作即可。这样我们就得到了有着正确uefi分区和启动分区的移动硬盘版Ubuntu系统。

其实给移动硬盘安装Ubuntu系统最为便捷的方式则是主机无硬盘或者主机硬盘中无启动系统,这样的话在把Ubuntu系统安装到移动硬盘的操作就可以正确的安装uefi分区和启动分区,而不需要本文上面的修复操作了。

本文中在把Ubuntu系统安装到移动硬盘后对其进行uefi和grub修复的原因就是主机上已经有其他系统存在的前提,因为主机有其他的系统则必然有其他的uefi分区,这样的话在把Ubuntu系统安装到移动硬盘后在移动硬盘中设置的uefi和grub并不会真正实现,因此则有了本文的这些操作,如果主机中是没有系统的(或者说是没有硬盘的)这样我们把Ubuntu安装到移动硬盘时uefi分区和grub则会正确的安装到移动磁盘中。

========================================================

如何修复ubuntu的uefi启动——如何将Ubuntu安装入移动硬盘中的更多相关文章

  1. 删除Ubuntu的UEFI启动项

    bcdedit 删除 千万不要手贱用diskpart之类的命令直接删除文件夹,大写的没,有,用! 感谢这个视频的up主,youtube看不到请翻墙.https://www.youtube.com/wa ...

  2. 装机篇:将ubuntu 14.04安装在移动硬盘中

    这样做有诸多好处,最大的好处莫过于获得新鲜感. 需要注意的只有一点,要把bootloader装在整个硬盘的MBR而不是单独某个分区的DBR里. 另,我所成功的版本为14.04.1,之前使用14.04. ...

  3. UEFI启动模式下安装Ubuntu 16.04教程【转】

    本文转载自:http://blog.csdn.net/Jesse_Mx/article/details/61425361 前言 最近常帮人安装Ubuntu,也算积累了一些经验.这篇博文主要谈一谈如何在 ...

  4. 安装Win10+Ubuntu14.04双系统(uefi启动版)

    说明 本教程基于个人电脑(型号:神舟K550d-i7 D1)成功安装测试发布,不同硬件环境可能有细微差异,为预防安装过程中出现意想不到的报错,重要数据请提前备份 硬件环境 cpu:Intel i7-4 ...

  5. 重装win10+ubuntu 双系统 UEFI启动模式

    有较强的时效性!!先看一眼日期是否太古老! 任务 卸载双系统中的Ubuntu14,安装Ubuntu16 环境 操作系统: Win10 + Ubuntu14双系统 硬盘: 固态硬盘 + 机械硬盘,电脑的 ...

  6. 【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统

    本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html 动机 最近在自学MIT6.828 Operating S ...

  7. (转)如何修复ubuntu的UEFI引导

    (转自: http://jingyan.baidu.com/article/335530da883e0b19cb41c325.html)(ps: 完美的解决了我的问题.) 最近有些手贱,偏偏要进入BI ...

  8. Win10+Ubuntu18.04 UEFI启动模式SSD+HDD

    新手操作徒手安装Ubuntu,踩坑无数. 分享一篇好的经验:https://blog.csdn.net/xrinosvip/article/details/80428133(下附原博客) 踩坑大集合: ...

  9. 默认系统为UEFI启动的GPT分区的WIN7(8),如何安装VHD的UEFI WIN8(7)

    默认系统为UEFI启动的GPT分区的WIN7(8),如何安装VHD的UEFI WIN8(7) 情况A:如果默认系统为UEFI启动.GPT分区的WIN7,想安装个VHD的UEFI WIN8.1 1:系统 ...

  10. UEFI 启动GPT分区 Win10和Ubuntu16.04双系统安装

    测试机器:联想小新锐7000 工具:UltraISO 系统下载 为Ubuntu分配空间 右键“我的电脑”——>“管理”——>“磁盘管理”,(win+x快捷键)选择一个有很大空闲空间的磁盘, ...

随机推荐

  1. python rabbitmq官方文档demo

    1.生产者 #!/usr/bin/env python import pika import json # https://www.rabbitmq.com/tutorials/tutorial-on ...

  2. python xlrd excel读取操作

    import xlrd wb = xlrd.open_workbook("test.xlsx") sheet1 = wb.sheets()[1] # 通过索引顺序获取 #table ...

  3. ThreadLocal本地局部线程demo

    ThreadLocal本地局部线程demo import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Hash ...

  4. Python 安装 matlabengin 时遇到报错:setup.py install is deprecated. !! 以及 Cannot update time stamp of directory 'dist\matlabengine.egg-info' 的解决方案

    目录 Python 安装 matlabengin 时遇到报错:setup.py install is deprecated. !! 以及 Cannot update time stamp of dir ...

  5. Python 导入包失败,提示“most likely due to a circular import”

    详细报错信息如下: ImportError: cannot import name 'DoReplace' from partially initialized module 'common.do_r ...

  6. ClickHouse介绍(二)MergeTree引擎

    MergeTree引擎 ClickHouse中有多种表引擎,包括MergeTree.外部存储.内存.文件.接口等,6大类,20多种表引擎.其中最强大的当属MergeTree(及其同一家族中)引擎.我们 ...

  7. AI Agent实战:智能检索在Kingbase数据库管理中的优势应用

    前言 在信息技术飞速发展的今天,数据库管理已成为IT专业人员日常工作中不可或缺的一部分.然而,面对复杂的SQL问题,传统的web搜索往往难以提供精准的答案,尤其是在针对特定数据库系统,如金仓数据库时, ...

  8. 深度学习领域的名词解释:SOTA、端到端模型、泛化、RLHF、涌现 ..

    SOTA (State-of-the-Art) 在深度学习领域,SOTA指的是"当前最高技术水平"或"最佳实践".它用来形容在特定任务或领域中性能最优的模型或方 ...

  9. Qt--共享内存监听工具

    共享内存概述 共享内存的特点: 1)共享内存是进程共享数据的一种最快的方法. 一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容. 2)使用共享内存要注意的是多个进程 ...

  10. .Net Core 全局捕获异常-过滤器

    1.代码版本 .Net Core 版本 2.2 2.自定义异常捕获类 新建一个类 CustomerExceptionFilter.cs 继承 Microsoft.AspNetCore.Mvc.Filt ...