如何修复ubuntu的uefi启动——如何将Ubuntu安装入移动硬盘中
交代一下使用场景,个人平时经常使用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安装入移动硬盘中的更多相关文章
- 删除Ubuntu的UEFI启动项
bcdedit 删除 千万不要手贱用diskpart之类的命令直接删除文件夹,大写的没,有,用! 感谢这个视频的up主,youtube看不到请翻墙.https://www.youtube.com/wa ...
- 装机篇:将ubuntu 14.04安装在移动硬盘中
这样做有诸多好处,最大的好处莫过于获得新鲜感. 需要注意的只有一点,要把bootloader装在整个硬盘的MBR而不是单独某个分区的DBR里. 另,我所成功的版本为14.04.1,之前使用14.04. ...
- UEFI启动模式下安装Ubuntu 16.04教程【转】
本文转载自:http://blog.csdn.net/Jesse_Mx/article/details/61425361 前言 最近常帮人安装Ubuntu,也算积累了一些经验.这篇博文主要谈一谈如何在 ...
- 安装Win10+Ubuntu14.04双系统(uefi启动版)
说明 本教程基于个人电脑(型号:神舟K550d-i7 D1)成功安装测试发布,不同硬件环境可能有细微差异,为预防安装过程中出现意想不到的报错,重要数据请提前备份 硬件环境 cpu:Intel i7-4 ...
- 重装win10+ubuntu 双系统 UEFI启动模式
有较强的时效性!!先看一眼日期是否太古老! 任务 卸载双系统中的Ubuntu14,安装Ubuntu16 环境 操作系统: Win10 + Ubuntu14双系统 硬盘: 固态硬盘 + 机械硬盘,电脑的 ...
- 【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统
本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html 动机 最近在自学MIT6.828 Operating S ...
- (转)如何修复ubuntu的UEFI引导
(转自: http://jingyan.baidu.com/article/335530da883e0b19cb41c325.html)(ps: 完美的解决了我的问题.) 最近有些手贱,偏偏要进入BI ...
- Win10+Ubuntu18.04 UEFI启动模式SSD+HDD
新手操作徒手安装Ubuntu,踩坑无数. 分享一篇好的经验:https://blog.csdn.net/xrinosvip/article/details/80428133(下附原博客) 踩坑大集合: ...
- 默认系统为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:系统 ...
- UEFI 启动GPT分区 Win10和Ubuntu16.04双系统安装
测试机器:联想小新锐7000 工具:UltraISO 系统下载 为Ubuntu分配空间 右键“我的电脑”——>“管理”——>“磁盘管理”,(win+x快捷键)选择一个有很大空闲空间的磁盘, ...
随机推荐
- metal invalid pixel format xx
这个时候要考虑CAMetalLayer.pixelFormat是否设置设置正确,虽然MTLPixelFormat有很多枚举值,但是CAMetalLayer支持的也就只有五个: MTLPixelForm ...
- C++类与对象详解
什么是类和对象 类和对象的概念 类是对象的抽象,对象是对客观事物的抽象. 用通俗的话来说: 类是类别的意思,是数据类型. 对象是类别下的具体事物. 也就是说: 类是数据类型,对象是变量. 比如: 水果 ...
- Python 引用不确定的函数
在Python中,引用不确定的函数通常意味着我们可能在运行时才知道要调用哪个函数,或者我们可能想根据某些条件动态地选择不同的函数来执行.这种灵活性在处理多种不同逻辑或根据不同输入参数执行不同操作的场景 ...
- Vue3 如何接入 i18n 实现国际化多语言
1. 基本方法 在 Vue.js 3 中实现网页的国际化多语言,最常用的包是 vue-i18n,通常我们会与 vue-i18n-routing 一起使用. vue-i18n 负责根据当前页面的语言渲染 ...
- Jenkins插件管理(Manager Plugins)【快速提升项目构建和部署实施的工作效率】
Jenkins 是一个很棒的开源自动化平台.它有一些开箱即用的强大功能.然而,在我看来,让它脱颖而出的是它的社区和它开发的插件.有超过一千个插件可用于支持几乎所有用于构建.部署和自动化项目的技术.工具 ...
- 屏幕分辨率基础概念PX,PT,DP,DPR,DPI说明
屏幕分辨率基础概念说明 缩写 全称 说明 PX Device Pixels 设备像素,指设备的物理像素 PX CSS Pixels CSS像素,指CSS样式代码中使用的逻辑像素 DOT Dot 点,屏 ...
- Linux自己制作rpm包
制作rpm包 由源码包---->rpm包 安装制作rpm包工具包rpm-build 在制作过程中需要源码包和配置文件 rpmbuild制作rpm包的原理: 1.首先rpmbuild会先将源码包进 ...
- SQL Server 新增函数大全(各版本)
SQL Server 2017 CONCAT_WS ( separator, argument1, argument2 [, argumentN]... ) --采用可变数量的字符串自变量,并将它们串 ...
- PHP现代化构建工具: 无需修改任何代码和扩展将你的ThinkPHP项目性能提高20倍
我要分享一个令人激动的黑科技:PRipple 使用这个项目能够在无需修改任何代码且无需第三方扩展的前提下,将你的 Laravel 项目性能提高 20 倍.他仅仅依赖于PHP原生的 pcntl/posi ...
- Vite本地构建:手写核心原理
前言 接上篇文章,我们了解到vite的本地构建原理主要是:启动一个 connect 服务器拦截由浏览器请求 ESM的请求.通过请求的路径找到目录下对应的文件做一下编译最终以 ESM的格式返回给浏览器. ...