把Ubuntu安装到移动硬盘_ubantu装入移动硬盘优缺点-程序员宅基地

技术标签: ubuntu  linux  系统安装  

把Ubuntu安装到移动硬盘

关于想把Ubuntu安装到移动硬盘这个想法,起因是我在日常开发中经常用到 Linux 开发环境,但是在家里和公司之间环境同步不方便,碍于笔记本的代码编译性能比较低,所以萌发了干脆把 Ubuntu 安装到移动硬盘的想法;这样一来,在公司和家中两地电脑进行开发时就不用重复部署开发环境,把移动硬盘插到电脑上,开机时选择从移动硬盘启动即可。

先说一下安装思路,首先下载一个官方提供的 ISO 镜像。然后可以利用虚拟机加载该镜像并进入 LiveCD 模式,就可以把 Ubuntu 安装到多种存储介质上了,包括硬盘,U盘等。

1. 准备工作

  • 工欲善其事,必先利其器。首先,你需要准备一个移动硬盘,最好是固态硬盘,容量最好不低于128GB;
    这里解释一下为什么选择容量大一点的固态硬盘。选择固态硬盘的原因的机械硬盘的读写性能太低,最终会影响开发效率。选择大容量是因为后期扩容比较麻烦,为了尽可能多存几个项目,需要选择容量大一点的。

  • 然后,安装好 VMware WorkStation 虚拟机软件;
    不会安装这个虚拟机软件的朋友请善用百度。

  • 最后,下载一个你想安装的Ubuntu发行版ISO镜像;
    这里提供几个备选版本,嫌麻烦的朋友可以直接从下面的链接下载镜像。
    ubuntu-18.04.6-desktop-amd64.iso
    ubuntu-20.04.3-desktop-amd64.iso
    ubuntu-21.10-desktop-amd64.iso

2.从Ubuntu镜像新建一个虚拟机

(1)打开 Vmware WorkStations ,创建新的虚拟机

  • 如图所示,点击“创建新的虚拟机”。
    在这里插入图片描述
  • 新建虚拟机的时候选择“自定义(高级)”选项,这样的话才可以加载想要的 ISO 镜像文件。
    在这里插入图片描述
  • 选择自己想要安装的ISO镜像,然后点击下一步。
    在这里插入图片描述
  • 限于篇幅,其他配置选项说明这里省略了,对有虚拟机配置经验的小伙伴来说很简单,没有配置过直接狂点“下一步”就 OK 了。虚拟机创建的最后一步如下图所示。一般来说,“创建后开启虚拟机” 这个复选框是默认被选中的,这里我们要去掉,然后点击“完成”按钮。
    在这里插入图片描述
  • 创建完成之后会进入下图界面。
    在这里插入图片描述

(2)配置虚拟机

  • 到目前为止,我们已经创建了一个加载 Ubuntu 18.04 镜像的虚拟机,下面要配置一些选项,保证我们的安装系统能正常启动。

  • 首先,把虚拟机中虚拟硬盘删掉,防止 ISO 镜像自动安装到虚拟硬盘。先点击“编辑虚拟机设置”进入虚拟机设置界面。然后如下图所示,选择“硬件”,然后点击“硬盘”,最后点击“移除”按钮。
    在这里插入图片描述

  • 打开虚拟机的 “USB3.0 兼容性”,现在大多数移动硬盘都是支持 USB3.0 接口的,如果这里不设置,会造成Linux驱动识别异常,从而无法安装操作系统。选择“硬件”,然后点击“USB控制器”,最后选择 “USB 3.0”。

在这里插入图片描述

  • 然后选择“选项”,点击高级,选择固件类型为UEFI,最后点击“保存”即可。

    这里解释一下为什么要选择UEFI。BIOS和UEFI只是两种不同的引导方式,两者都属于BootLoader,只不过UEFI比BIOS出现的更晚,功能比BIOS完善的多,支持很多新的硬件驱动,甚至集成了网络和shell功能。要注意的是,只有老古董电脑还在使用BIOS引导,2010年后出厂的电脑几乎都支持UEFI,所以这里选择了UEFI作为引导。
    在这里插入图片描述

3. 打开虚拟机,安装Ubuntu

  • 以上设置完成之后运行虚拟机。点击“开启此虚拟机”按钮启动虚拟机, ISO 镜像加载之后会有几个选项。如下图所示,选择 “Try Ubuntu without Installing”,敲击回车,就可以进入 LiveCD 模式。我们将在 LiveCD 模式下将 Ubuntu 安装到移动硬盘。

在这里插入图片描述

  • 等待数秒之后,Ubuntu LiveCD 模式成功启动,进入下面的界面。
    在这里插入图片描述
  • 接下来,连接你的移动硬盘到电脑。这时,虚拟机会识别该硬件,然后按照下图的步骤把该移动硬盘接入到虚拟机。选择“连接到虚拟机”,然后点击虚拟机的名称,最后点击确定。
    在这里插入图片描述
  • 移动硬盘接入虚拟机之后,如果要确认是否识别,需要使用 lsblk 命令查看硬盘是否识别。下图中的 sda 设备就是移动硬盘。如果这里没有识别到,请检查 Linux 的 usb 设备枚举情况和驱动情况,自行排查问题,有可能你使用的移动硬盘不被Linux官方驱动所支持。

在这里插入图片描述

  • 下一步,我们开始安装。点击桌面上的安装图标,进入安装程序。

在这里插入图片描述

  • 安装的过程比较繁琐,需要设置很多选项,例如语言、时区、账号等。读者按自己的需求设置就好了,这里这贴出部分截图,供读者参考。

在这里插入图片描述
在这里插入图片描述

  • 选择正常安装即可。
    在这里插入图片描述

  • 这个选项比较重要,需要清空这个磁盘。选择了这个选项之后,硬盘会被格式化,然后重新分区,并写入新的数据!!!
    在这里插入图片描述

在这里插入图片描述

  • 时区设置
    在这里插入图片描述
  • 账号设置。
    在这里插入图片描述
  • Ubuntu 正在安装中。。。
    在这里插入图片描述
  • 安装完成了
    在这里插入图片描述
  • 安装完成之后,关闭虚拟机,移动硬盘不用拔。
    在这里插入图片描述

4. 从固态硬盘启动Ubuntu

(1)设置BIOS

  • 这里你需要事先打开BIOS中U盘引导的开关,并提高U盘引导的优先级(具体方法请百度自己电脑的BIOS设置方法)。这样,在插入移动硬盘的时候,系统将优先从移动硬盘上的Ubuntu系统启动。

在这里插入图片描述

(2)选择从U盘启动

  • 目前大多数电脑都支持启动选择菜单。例如笔者使用的神舟笔记本,开机的时候按“F7”,就可以选择从U盘启动了。

在这里插入图片描述

  • 有的人可能会疑惑,我们明明是从移动硬盘启动,为什么要选择U盘呢?其实移动硬盘和U盘一样,用的是USB接口,相当于一个大号的U盘。

(3)启动效果展示

  • 下图是Ubuntu 进入桌面之后截图,总体体验比虚拟机流畅很多。
    在这里插入图片描述

5. 总结

理论上该方法可以推广,安装到U盘等存储介质,需要读者自己尝试。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31810147/article/details/122844083

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签