当前位置: 首页 > article >正文

Ubuntu双系统无损扩容实战:从Windows磁盘管理到ext4挂载

1. 双系统扩容前的准备工作很多朋友在安装Windows和Ubuntu双系统时常常会低估Ubuntu系统所需的空间。我当时也是这样给Ubuntu只分了50GB结果装了几个开发环境就发现空间告急。重装系统太麻烦其实完全可以通过无损扩容来解决这个问题。首先我们需要明确几个关键点扩容操作需要在Windows和Ubuntu两个系统中完成整个过程不会影响现有系统数据需要提前备份重要文件以防万一在开始之前建议准备一个U盘作为应急启动盘。我上次操作时就遇到一个小意外好在有启动盘才没耽误工作。另外建议在操作前关闭所有不必要的程序特别是那些会占用磁盘的应用程序。2. Windows端的磁盘空间划分2.1 进入Windows磁盘管理在Windows搜索栏输入磁盘管理选择创建并格式化硬盘分区。这里会显示你所有的磁盘和分区情况。我建议先花点时间熟悉下界面看清楚哪些分区是属于Windows的哪些是Ubuntu的。找到你要缩减的分区通常是C盘右键选择压缩卷。系统会计算可压缩的空间大小。这里有个小技巧如果你发现可压缩空间比预期小很多可能是因为系统文件被锁定了。可以尝试运行磁盘清理或者禁用休眠文件powercfg -h off。2.2 创建未分配空间输入要压缩的空间量单位MB建议至少留出20GB给Ubuntu使用。点击压缩后你会看到一块黑色的未分配空间。这部分空间就是我们准备给Ubuntu扩容用的。这里有个重要提示千万不要在这个未分配空间上创建新卷或格式化我们需要保持它的原始状态留给Ubuntu系统处理。我曾经犯过这个错误结果导致后续步骤无法进行。3. Ubuntu端的磁盘挂载准备3.1 识别新增的磁盘空间重启进入Ubuntu系统打开终端输入以下命令查看磁盘情况lsblk -f这个命令会列出所有磁盘和分区信息。你应该能看到一个没有文件系统的新分区通常标记为/dev/sdaXX代表数字。记下这个设备名称我们后续操作都会用到它。如果你不确定哪个是新分区可以对比大小来判断。我之前就靠这个办法找到了Windows端划分出来的100GB空间。3.2 格式化分区为ext4确认好分区后我们需要将其格式化为Ubuntu使用的ext4文件系统sudo mkfs -t ext4 /dev/sdaX这个操作会清空分区上的所有数据所以再次强调一定要确认分区正确格式化过程很快通常几秒钟就能完成。完成后可以再次使用lsblk命令检查现在这个分区应该显示为ext4类型。4. 挂载新分区到系统目录4.1 创建挂载点并临时挂载我习惯把新空间挂载到/home下的一个目录比如/home/username/data。首先创建这个目录mkdir ~/data然后进行临时挂载sudo mount -t ext4 /dev/sdaX ~/data挂载成功后你可以通过文件管理器查看这个目录或者用df -h命令确认挂载情况。这时候如果往这个目录存文件实际上就是存储在新分区上了。4.2 设置开机自动挂载为了让系统每次启动都自动挂载这个分区我们需要编辑/etc/fstab文件。首先获取分区的UUIDls -l /dev/disk/by-uuid找到对应/dev/sdaX的UUID值然后编辑fstab文件sudo nano /etc/fstab在文件末尾添加一行根据你的实际情况修改UUID和挂载点UUID你的UUID /home/username/data ext4 defaults 0 0保存退出后可以先用这个命令测试配置是否正确sudo mount -a如果没有报错说明配置成功了。重启系统后新分区就会自动挂载到指定目录。5. 扩容后的优化与使用技巧5.1 转移用户目录到新分区如果你希望将整个用户目录迁移到新分区可以这样做创建新目录结构sudo mkdir /data/home复制现有文件sudo cp -rp /home/* /data/home/备份原home目录sudo mv /home /home.backup创建新挂载点sudo mkdir /home修改fstab中的挂载点为/home这个操作需要谨慎建议先在虚拟机中练习。我上次迁移时漏掉了隐藏文件导致一些配置丢失折腾了好久才恢复。5.2 为新分区设置权限有时候挂载后会发现权限问题特别是多用户环境下。可以通过以下命令设置合适的权限sudo chown -R username:username /home/username/data sudo chmod -R 755 /home/username/data这样就能确保你对这个目录有完全的读写权限。如果是在服务器环境下可能还需要考虑其他用户的访问权限设置。6. 常见问题排查与解决方案6.1 挂载失败的可能原因如果mount命令报错可能是以下原因分区未格式化先用mkfs.ext4格式化挂载点不存在确保目标目录已创建文件系统损坏可以尝试fsck修复UUID错误重新检查UUID值我遇到最棘手的情况是分区表损坏最后用了testdisk工具才修复成功。所以再次强调备份的重要性6.2 fstab配置错误导致无法启动如果fstab配置错误导致系统无法启动可以进入恢复模式在GRUB界面选择恢复模式选择root shell输入mount -o remount,rw /挂载根目录为可写修改错误的fstab配置执行mount -a测试重启系统这个技巧救过我多次特别是早期不熟悉fstab语法的时候。建议新手在修改fstab前先备份原文件。7. 进阶技巧LVM动态扩容如果你经常需要调整分区大小可以考虑使用LVM逻辑卷管理。虽然设置起来复杂一些但后续扩容会方便很多。基本步骤包括创建物理卷pvcreate /dev/sdaX创建卷组vgcreate vg_name /dev/sdaX创建逻辑卷lvcreate -L 50G -n lv_name vg_name格式化并挂载LVM最大的优势是可以随时扩展空间而不用重新分区。我在服务器上全部使用LVM确实省心不少。不过对于普通桌面用户标准的ext4分区通常就够用了。

相关文章:

Ubuntu双系统无损扩容实战:从Windows磁盘管理到ext4挂载

1. 双系统扩容前的准备工作 很多朋友在安装Windows和Ubuntu双系统时,常常会低估Ubuntu系统所需的空间。我当时也是这样,给Ubuntu只分了50GB,结果装了几个开发环境就发现空间告急。重装系统太麻烦,其实完全可以通过无损扩容来解决这…...

MT4 ServerAPI隐藏功能挖掘:从内存管理宏到高频交易插件开发

MT4 ServerAPI深度开发:内存管理与高频交易插件实战指南 1. 内存管理宏的底层机制与性能优化 MT4 ServerAPI中的HEAP_ALLOC和HEAP_FREE宏是高频交易插件开发的核心利器。这些宏直接调用了Windows系统的HeapAlloc和HeapFree函数,绕过了标准库的内存管理开…...

Chrome文字转语音终极指南:如何用Web Speech API打造个性化语音助手

Chrome文字转语音实战:用Web Speech API构建智能语音交互系统 当我们在浏览器中阅读一篇长文时,眼睛容易疲劳;当我们需要在开车时获取信息,双手又无法离开方向盘;当视障用户访问网页时,视觉信息成了难以逾越…...

解决NX二次开发DLL签名问题:从编译到部署的完整避坑指南

解决NX二次开发DLL签名问题:从编译到部署的完整避坑指南 在工业设计领域,NX作为一款功能强大的CAD/CAM/CAE软件,其二次开发能力为企业的定制化需求提供了无限可能。然而,许多开发者在进行NX二次开发时,常常会遇到一个令…...

遨博协作机器人ROS实战 - 机械臂URDF模型优化与RViz可视化调试

1. 从“能用”到“好用”:为什么你的机械臂URDF模型需要优化? 大家好,我是老张,在机器人圈子里摸爬滚打了十几年,从最早的工业机械臂编程到现在的协作机器人应用开发,踩过的坑比走过的路还多。今天咱们不聊…...

AI赋能机器人决策:使用快马Kimi模型生成智能清洁机器人行为树代码

最近在做一个模拟清洁机器人的小项目,想试试用AI来辅助生成它的“大脑”——也就是决策逻辑的代码。这个想法源于一个很实际的痛点:为机器人设计复杂的行为树或状态机时,既要考虑各种传感器输入的组合,又要确保逻辑清晰、易于维护…...

PyTorch DDP训练卡死?NCCL通信失败的3个常见坑及解决方案

PyTorch DDP训练卡死?深入剖析NCCL通信失败的底层逻辑与实战排障 最近在几个大规模模型训练项目中,团队频繁遭遇一个令人头疼的问题:训练过程毫无征兆地卡住,日志停止输出,GPU利用率跌至谷底,等待许久后最终…...

HighGo数据库密码策略实战:如何避免7天后账号被锁定的尴尬

HighGo数据库密码策略实战:如何避免7天后账号被锁定的尴尬 第一次接触HighGo数据库的运维工程师,往往会在某个周一早晨收到这样的报错:"FATAL: password authentication failed for user"。这不是密码输错了,而是踩中了…...

快速上手Python开发:Miniconda-Python3.8镜像环境搭建与问题解决

快速上手Python开发:Miniconda-Python3.8镜像环境搭建与问题解决 1. 为什么选择Miniconda-Python3.8 Python作为当今最流行的编程语言之一,在数据科学、机器学习和Web开发等领域广泛应用。但Python版本和依赖管理一直是开发者面临的挑战。Miniconda-Py…...

ArcGIS精准集成天地图WMTS:从密钥申请到无偏加载全攻略

1. 天地图WMTS服务与ArcGIS集成概述 天地图作为国家地理信息公共服务平台,提供了丰富的在线地图服务资源。其中基于WMTS(Web Map Tile Service)标准的服务接口,能够与ArcGIS平台无缝集成。我在实际项目中发现,很多GIS工…...

【LLM】llama.cpp:GGUF 模型分片合并与跨平台部署实战

1. 为什么需要合并GGUF模型分片? 第一次接触大语言模型部署的朋友,经常会遇到这样的困惑:明明下载的是同一个模型,为什么会有七八个文件名相似的文件?比如DeepSeek-V3-0324-Q3_K_M-00001-of-00007.gguf这样的命名。这其…...

矩阵乘法复杂度优化实战:从理论到应用

1. 矩阵乘法复杂度优化的核心价值 第一次接触矩阵乘法复杂度优化时,我正在处理一个推荐系统的项目。当用户量突破百万级别后,传统的矩阵运算突然变得异常缓慢,整个推荐流程需要近10分钟才能完成——这对于实时推荐来说简直是灾难性的。正是这…...

LangChain4j 赋能 SpringBoot:构建基于 Ollama 的本地智能对话服务

1. 为什么选择LangChain4j SpringBoot Ollama组合? 如果你正在寻找一种在Java生态中快速构建智能对话服务的方法,这个技术组合可能是目前最实用的选择。我最近在一个企业内部知识问答系统项目中实际采用了这套方案,发现它完美平衡了开发效率…...

Audio Pixel Studio开源镜像价值:替代Adobe Audition基础功能的免费方案

Audio Pixel Studio开源镜像价值:替代Adobe Audition基础功能的免费方案 1. 引言:音频处理的新选择 在数字内容创作领域,专业的音频处理软件往往价格昂贵且学习曲线陡峭。Adobe Audition作为行业标杆,虽然功能强大,但…...

十五五规划明确发力基础软件:中间件成为企业数字化与合规升级的刚性需求

一、政策信号:中间件从“可选项”变为“必选项”《国民经济和社会发展第十五个五年规划纲要》及配套的“产业基础能力提升”专项部署中,基础软件被列为核心攻关领域,中间件与操作系统、数据库并列,成为全链条技术突破和国产化替代…...

ROS混合A*路径规划插件实战:为阿克曼转向模型小车解锁连续可行路径

1. 为什么传统A*算法不适合阿克曼转向车辆? 当你第一次尝试用ROS的Navigation包为阿克曼转向小车做路径规划时,可能会发现车辆像喝醉了一样左右摇摆,甚至对着障碍物直冲过去。这不是代码写错了,而是传统A*算法和车辆运动特性之间的…...

PyTorch实战:手把手教你搭建VAE生成模型(附CelebA数据集训练技巧)

PyTorch实战:从零构建高保真VAE人脸生成模型 人脸生成一直是计算机视觉领域最具挑战性的任务之一。不同于传统分类任务,生成模型需要学习数据分布的潜在规律,并具备创造新样本的能力。本文将带你用PyTorch实现一个专业级的变分自编码器&#…...

Phi-3-Mini-128K效果展示:128K上下文下跨多个技术文档的联合推理能力

Phi-3-Mini-128K效果展示:128K上下文下跨多个技术文档的联合推理能力 1. 模型与工具介绍 Phi-3-Mini-128K是基于微软Phi-3-mini-128k-instruct模型开发的轻量化对话工具。这个工具严格遵循官方推荐的加载与推理规范,支持128K超长上下文、bfloat16半精度…...

3步掌握专业级3D格式转换:FBX2glTF全流程技术指南

3步掌握专业级3D格式转换:FBX2glTF全流程技术指南 【免费下载链接】FBX2glTF A command-line tool for the conversion of 3D model assets on the FBX file format to the glTF file format. 项目地址: https://gitcode.com/gh_mirrors/fbx/FBX2glTF 在3D内…...

为什么RIFE能秒杀SuperSlomo?深入解析IFNet的中间流估计黑科技

为什么RIFE能秒杀SuperSlomo?深入解析IFNet的中间流估计黑科技 在视频处理领域,帧插值技术一直是提升视觉体验的核心利器。从早期的影视特效到现在的实时直播增强,这项技术经历了从简单线性混合到复杂光流预测的演变。而在这个进化过程中&…...

Python实战:5行代码搞定WGS84到ENU坐标转换(附完整代码)

Python实战:5行代码搞定WGS84到ENU坐标转换(附完整代码) 当无人机在天空划出优美的航迹,或是自动驾驶汽车在城市中精准导航时,背后都离不开一个关键技术——坐标系转换。全球定位系统(GPS)提供的…...

解密HDMNet:小样本语义分割中的分层匹配结构与自注意力机制

解密HDMNet:小样本语义分割中的分层匹配结构与自注意力机制 在计算机视觉领域,语义分割一直是一个极具挑战性的任务。传统的语义分割方法需要大量标注数据进行训练,这在医疗影像、遥感图像等专业领域往往难以实现。小样本语义分割&#xff08…...

FBX2glTF技术指南:从格式转换到工作流优化

FBX2glTF技术指南:从格式转换到工作流优化 【免费下载链接】FBX2glTF A command-line tool for the conversion of 3D model assets on the FBX file format to the glTF file format. 项目地址: https://gitcode.com/gh_mirrors/fbx/FBX2glTF 一、核心价值解…...

2026-03-15 全国各地响应最快的 BT Tracker 服务器(电信版)

数据来源:https://bt.me88.top 序号Tracker 服务器地域网络响应(毫秒)1http://211.75.205.188:6969/announce广东广州电信372http://211.75.210.221:6969/announce上海电信393http://43.250.54.137:6969/announce北京电信1314udp://45.134.88.121:6969/announce天津…...

【luckfox】从零开始:开发环境搭建全攻略

1. 开发环境准备:Ubuntu系统配置 如果你是第一次接触Luckfox开发板,搭建开发环境可能会觉得有点复杂。别担心,跟着我的步骤来,保证你能顺利搞定。我刚开始接触Luckfox时也踩过不少坑,现在把这些经验都分享给你。 首先你…...

5大维度解析GSE高级宏编译引擎:构建高效序列执行系统的技术实践

5大维度解析GSE高级宏编译引擎:构建高效序列执行系统的技术实践 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. It uses Travis for UnitTests, Coveralls to report on test cover…...

OLED屏IIC地址搞不清?手把手教你用CH592同时驱动SSD1306和SSD1315双屏

双屏协同开发实战:基于CH592的I2C地址冲突解决方案与性能优化 在物联网设备开发中,多屏协同正成为提升用户体验的关键设计。当我们需要在同一个I2C总线上同时驱动SSD1306(0x3C)和SSD1315(0x78)两种OLED屏幕…...

RALF文件编写到UVM寄存器模型生成:VCS环境下全流程自动化指南

RALF文件编写到UVM寄存器模型生成:VCS环境下全流程自动化指南 在芯片验证领域,寄存器模型是连接硬件寄存器与验证环境的关键桥梁。传统手动编写寄存器模型的方式不仅效率低下,更难以应对现代SoC设计中数以千计的寄存器配置。本文将深入解析基…...

Unity游戏窗口设置:5分钟搞定无边框全屏与保留任务栏的两种模式

Unity游戏窗口高级设置:无边框全屏与保留任务栏的实战指南 当你在开发一款PC端Unity游戏时,窗口模式的选择往往直接影响玩家的第一印象和操作体验。传统的全屏模式虽然沉浸感强,但切换应用不便;标准窗口模式又显得不够专业。本文将…...

Python实战:用NumPy实现拉格朗日插值法(附完整代码与可视化)

Python实战:用NumPy实现拉格朗日插值法(附完整代码与可视化) 在数据分析和科学计算领域,插值技术是处理离散数据的重要工具。当我们只有有限个数据点却需要估计未知点的值时,拉格朗日插值法提供了一种优雅的数学解决方…...