交代一下使用场景,个人平时经常使用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. 玩爆你的手机联系人--T9搜索

        自己研究了好几天联系人的T9搜索算法, 先分享出来给大家看看. 欢迎指教.如果有大神有更好的T9搜索算法, 那更好啊,大家一起研究研究,谢谢. 第一部分是比较简单的获取手机联系人. 获取联系人 ...

  2. work08

    day09作业: 必做题:========================================第一题: 1.定义一个Animal类,包含如下行为: eat() 打印"要吃饭&qu ...

  3. Idea SpringBoot 子模块 加载不到该子模块根目录config下面的配置文件

    Idea SpringBoot 子模块 加载不到该子模块根目录config下面的配置文件 import org.mybatis.spring.annotation.MapperScan; import ...

  4. Java验证集合空或验证对象空的方法

    import java.util.ArrayList; import java.util.List; import java.util.Objects; import org.springframew ...

  5. 异步任务处理注解方法@Async实现异步多线程

    异步任务处理注解方法@Async实现异步多线程 1.定义配置类,设置参数2.定义任务执行类3.执行Spring 中的ThreadPoolExecutor是借助JDK并发包中的java.util.con ...

  6. redis简单应用demo - 订单号自增长的思路:业务编码+地区+自增数值

    redis简单应用demo1.字符串127.0.0.1:6379> set hello toneyOK127.0.0.1:6379> type hellostring127.0.0.1:6 ...

  7. Windows批处理文件(.bat和.cmd)

    cmd文件和bat文件的区别 从文件描述中的区别是,cmd文件叫做:Windows命令脚本,bat文件叫:批处理文件,两者都可以使用任意一款文本编辑器进行创建.编辑和修改,只是在cmd中支持的命令要多 ...

  8. SpringBoot定义异步任务类需要获取结果

    注意点: 要把异步任务封装到类里面,不能直接写到Controller 增加Future<String>返回结果AsyncResult<String>("task执行完 ...

  9. 把nodejs程序打包成可执行文件

    在写好之后的nodejs程序,想发给同事的电脑上运行程序,就不得不下载node环境,还要安装第三方依赖包,非常的麻烦. 因此,可以借助一些插件来完成nodejs程序的打包,变成可以执行的文件. 将No ...

  10. Swift开发基础07-内存布局

    了解Swift的内存布局和底层原理对于编写高性能和内存高效的应用非常重要.接下来,我将更详细地介绍Swift的内存管理机制和一些底层实现细节,包括内存布局.ARC(自动引用计数).引用类型和值类型的区 ...