双系统Ubuntu分区扩容过程记录

本人电脑上安装了Win10 + Ubuntu 12.04双系统。前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了。于是,从硬盘又分出来一部分空间,分给Ubuntu。于是有了这篇Ubuntu扩容过程记录,也可以当作是一篇教程吧。


1. 起因

最近在做一个项目,有关KinectFusion算法,需要用到CUDA。但是在我的Ubuntu中安装CUDA的时候,提示根分区空间不足,无法完成安装。

  1. Not enough space on parition mounted at /.
  2. Need 3548872704 bytes.
  3. Disk space check has failed. Installation cannot continue.

于是,开始着手对Ubuntu分区进行扩容。

2. 扩容前后各分区状态

在此次扩容前,我的整个硬盘上的各分区状态如下:

(注:上图是在分区扩容前在Ubuntu系统中安装的GParted软件显示得到的。)

其中可以看出,在整个硬盘的末尾有大约20G空间分配给了Ubuntu,并分成了几个分区,按顺序依次为:

  • /boot分区190M
  • swap分区(虚拟内存分区)3.81G
  • /分区(根分区)11.44G
  • /home分区4.55G

(注:由于分区格式化需要占用一部分空间,因此上面显示的分区大小小于实际的分区大小)

经过扩容操作,最后的Ubuntu分区状态如下:

(注:上图以及以下各相似图片是在分区扩容过程中在Parted Magic启动盘中的GParted软件显示得到的。)

其中可以看出,整个分配给Ubuntu的空间增加了15G,并且调整了个Ubuntu分区之间的顺序,各分区按顺序依次为:

  • /home分区9.55G(增加了5G)
  • /分区(根分区)21.26G(增加了10G)
  • /boot分区190M
  • swap分区(虚拟内存分区)4G

PS:调整分区的顺序的原因是:

  1. /boot分区和swap分区一般不会需要扩容,也就是说以后一般不会变动,因此将其放到磁盘最后;
  2. /home分区和/分区今后可能会再次扩容,而扩充需要的空间是从前面的Windows分区压缩来的,所以放在靠近Windows分区的位置。

3. 分区扩容操作步骤

下面详细记录分区扩容操作步骤。

(1) 制作Parted Magic启动盘

Parted Magic是一个轻量的Linux发布版(可用来制作U盘启动盘),包含了许多可用于硬盘分区以及数据恢复的自由软件。

参考:Parted Magic 分区魔术师 2015.11.15-dev版 BIOS,UEFI双启 —不再更新 - USB启动区 - 无忧启动论坛 - Powered by Discuz!

下载地址:http://pan.baidu.com/s/1pJ6vlgR

我下载的是镜像文件pmagic_2016_03_02.iso

下载完成之后插入U盘,用UltraISO打开pmagic_2016_03_02.iso,然后点击菜单“启动”->“写入硬盘映像”,然后点击“写入”开始制作启动盘。

制作完成之后拔出U盘即可。

(2) 从U盘启动电脑

将刚才的U盘插入电脑,然后将电脑重启,选择从U盘启动(具体操作依不同电脑型号有所区别,在此不赘述)。

从U盘启动后会看到该启动盘系统的界面如下:

(3) 打开GParted分区软件

打开GParted分区软件,即双击桌面上的图标:

(4) 调整分区顺序并扩容

因为要调整分区顺序,所以先将/home分区复制到前面空余的未分配的磁盘部分,然后将/boot分区和swap分区移动到原来/home分区所在的位置。具体步骤如下:

① 将/home分区复制到前面空余的未分配的磁盘部分的最前端,并调整大小为9.55G;
② 删除原/home分区;
③ 将swap分区复制到原/home分区的最后端,并调整大小为4G;
④ 将/boot分区复制到原/home分区除去现swap分区后剩余部分的最后端,也就是紧挨着现swap分区,大小不变(注意:此步需将Free space sollowing设为1M,否则会出错,但忘记当时出了什么错了);
⑤ 删除原/boot分区和原swap分区;
⑥ 调整/分区大小,使其充满所有剩余空间。

(5) 修复启动

参考:GParted – Frequently Asked Questions
Fixing Operating System Boot Problems

此时分区扩容已经完成,但是如果此时重启,会发现系统无法正常启动,因为分区变化导致引导程序出错了。

因此还需修复启动。

还是在启动盘系统中,打开终端,即点击下方任务栏中的图标:

执行以下命令(以root身份):

  1. mkdir /tmp/mydir
  2. mount /dev/sda8 /tmp/mydir (注:其中的`/dev/sda8`为我的`/`分区标识,根据自己情况修改为自己的`/`分区标识)
  3. mount /dev/sda11 /tmp/mydir/boot (注:同上,`/dev/sda11``/boot`分区标识)
  4. mount --bind /dev /tmp/mydir/dev
  5. mount --bind /proc /tmp/mydir/proc
  6. mount --bind /sys /tmp/mydir/sys
  7. chroot /tmp/mydir (此步可能输出一些信息,可以无视)
  8. grub-install /dev/sda (注:其中的`/dev/sda``/`分区所在硬盘的标识)
  9. exit

下面是我执行上面命令的截图:

(6) 重启系统

重启系统,搞定!



来自为知笔记(Wiz)


转载于:https://www.cnblogs.com/jloveu/p/Ubuntu-partition-expansion-record.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装JAVA8要登录_JDK8的安装及环境配置

原文链接:https://www.cnblogs.com/chenxj/p/10137221.html1、下载JDK;b、或百度网盘:链接:https://pan.baidu.com/s/1S14y4_3eN9G6oOVfhmbe_w提取码:0cf62、双击安装程序,点击下一步安装目录若不修改,可直…

早期访问中带有NetBeans的Oracle公共云Java服务

谁期望发生这种情况:Oracle正在开发公共云产品,并且即将开始正式启动的迹象已经出现。 在正式宣布之后将近一年,我被邀请加入所谓的“抢先体验”计划,以试驾新服务并提供反馈。 多亏负责产品的经理Reza Shafii ,我才可…

App Engine中的Google Services身份验证,第2部分

在本教程的第一部分中, 我描述了如何使用OAuth进行Google API服务的访问/身份验证。 不幸的是,正如我稍后发现的那样,我使用的方法是OAuth 1.0,显然现在Google正式弃用了OAuth 1.0,改用OAuth 2.0版本。 显然&#xff0…

[51nod1297]管理二叉树

一个初始为空的二叉搜索树T,以及1到N的一个排列P: {a1, a2, ..., aN}。我们向这个二叉搜索树T添加这些数,从a1开始, 接下来是 a2, ..., 以aN结束。在每一个添加操作后,输出T上每对节点之间的距离之和。例如:4 7 3 1 8 …

Java Swing中的聊天气泡

本文将向您解释“如何在Java swing应用程序中绘制聊天气泡?” 聊天气泡与呼出气泡或思想气泡相同。 今天,大多数聊天应用程序都以这种格式显示转换,因此本文将帮助您在用Java swing创建的桌面应用程序中进行相同的操作。 以下课程用于绘制第一…

java内存模型按照线程隔离性_深入理解Java多线程与并发框(第③篇)——Java内存模型与原子性、可见性、有序性...

一、Java内存模型Java Memory Modle,简称 JMM,中文名称 Java内存模型,它是一个抽象的概念,用来描述或者规范访问内存变量的方式。因为各中计算机的操作系统和硬件不同,方式机制也可能不同,Java内存模型用于…

ZK实际应用:样式和布局

在之前的ZK in Action帖子中,我们使用ZK MVVM实现了CRUD功能 。 我们还快速浏览了一些样式代码,可能需要更多的解释。 在本文中,我们将讨论如何在ZK小部件上附加新CSS样式规则,以及如何覆盖现有样式。 我们还将介绍ZK中UI布局的一…

Tornado(一)

Tornado 特点 Tornado是一个用Python写的相对简单的、不设障碍的Web服务器架构,用以处理上万的同时的连接口,让实时的Web服务通畅起来。虽然跟现在的一些用Python写的Web架构相似,比如Django,但Tornado更注重速度,能够…

Android下Opengl ES实现单屏幕双眼显示

http://blog.csdn.net/u011371324/article/details/68946779 默认情况下,Opengl ES使用系统提供的帧缓冲区作为绘图表面,一般情况下,如果只在屏幕的表面绘图的话,系统提供的默认帧缓冲区很高效,但是很多应用程序需要渲…

Oracle Service Bus –线程阻塞案例研究

本案例研究描述了在AIX 6.1和IBM Java VM 1.6上运行的Oracle Service Bus 11g遇到的线程阻塞问题的完整根本原因分析过程。 本文也是您提高线程转储分析技能的绝佳机会,我强烈建议您学习并正确理解以下分析方法。 与过早的中间件(Weblogic)重…

java 可以重载等于号码_Java面试之Java基础4——重载与重写的区别

目录重载与重写的概念重载与重写的区别重载与重写的总结构造器是否能被重写override为什么函数不能根据返回类型来区分重载重载与重写的概念重载:同样一个方法可以根据输入参数列表的不同,做出不同的处理。普通方法和构造器方法都能够重载。方法重载&…

二维数组、多维数组

二维数组: 定义二维数组 int[,] myArray new int[几个一维数组,数组中的个数]; 数组可以具有多个维度。例如,下列声明创建一个四行两列的二维数组(可以理解为4个1维数组,数组中包含2个元素): int[,] myArray new int[4,2]; int[…

一张大图片有多个小图片

这个页面也是我看到别人的写的,感觉不错,就自己留下了为了以后自己可以容易找到,也希望可以方便到别人。 写这个页面 需要注意的是: 1.写每一个小图片的位置时候,要用id,这样等级就高了,不然不起作用。 2.因…

Android Studio混淆

这一篇说一下Android Studio的代码混淆: 第一步:要想使混淆生效,要修改项目(App)下的build.gradle一处内容:minifyEnabled 的值 设置为true,当前项目就可以使用混淆了。 apply plugin: com.and…

Java 8:测试Lambda水

Java 8大约有一年的时间了,它具有我非常期待的语言功能: Lambda Expression 。 令人遗憾的是,另一个重要功能Java平台模块已延迟到Java9。但是,将lambda表达式(或闭包)添加到该语言中将使Java编程变得更好。…

基于阀值的工作流引擎设计

最近在做工作流处理流程部分的工作,顺便研究了一下工作流引擎的一些设计理念和原理。由于以前接触过人工智能神经网络的一些东西,发现工作流引擎和神经网络还是颇有一些相似之处,都是满足一定的条件下向下一个节点传递。在神经网络的神经元中…

Git之安装管理

1.Git安装部署 Git是分布式的版本控制系统,我们只要有了一个原始Git版本仓库,就可以让其他主机克隆走这个原始版本仓库,从而使得一个Git版本仓库可以被同时分布到不同的主机之上,并且每台主机的版本库都是一样的,没有主…

Java执行程序服务类型

ExecutorService功能是Java 5附带的。它扩展了Executor接口,并提供了线程池功能来执行异步简短任务。 使用Java 6提供的ExecutorService接口有五种异步执行任务的方法。 ExecutorService execService Executors.newCachedThreadPool(); 这…

MySQL的主动优化和被动优化_MySQL“被动”性能优化汇总!

年少不知优化苦,遇坑方知优化难。 ——村口王大爷本文内容导图如下:我之前有很多文章都在讲性能优化的问题,比如下面这些:当然,本篇也是关于性能优化的,那性能优化就应该一把梭子吗?还是要符合一…

python2

一、管理库的安装 安装pip 提示报错:安装pip提示No module named setuptools Windows环境下Python默认是没有安装setuptools这个模块的,这也是一个第三方模块。下载地址为http://pypi.python.org/pypi/setuptools。下载后直接运行ez_setup.py 参考地址&…