reference: https://blog.csdn.net/greenapple_shan/article/details/52799631

https://blog.csdn.net/lyd135364/article/details/78623119

使用虚拟机的过程中,遇到LINUX开辟的硬盘过小的情况;直接VM扩容需要对文件系统进行调整,会影响到原来的文件系统;直接使用挂载虚拟硬盘的方法,避免了如上问题,同时也灵活;

在虚拟机关闭的状态下,打开硬件设置;选择硬件中添加选项;添加硬盘,下一步;选择一个硬盘格式,设定大小,然后完成;

接下来,就按照实际物理硬盘的挂载方法即可;  如下为整个过程:

注意: 挂载硬盘时,不要直接挂载在自己的根目录下,应该在根目录下重新建一个挂载点,否则影响用户启动(血泪教训啊);

Ubuntu系统的硬盘空间不够用了,需要增加新的硬盘扩容。将硬盘分区、格式化、自动挂载配置的整个过程记下来,备忘。

一、硬盘分区 | Hard disk add new partition

1、显示硬盘及所属分区情况。在终端窗口中输入如下命令:

sudo fdisk -lu

显示当前的硬盘及所属分区的情况。如下图所示:
系统提示:DIsk /dev/sdb doesn't contain a valid partition table。

2、对硬盘进行分区。在终端窗口中输入如下命令:

sudo fdisk /dev/sdb

如下图所示:
在Command (m for help)提示符后面输入m显示一个帮助菜单。

在Command (m for help)提示符后面输入n,执行 add a new partition 指令给硬盘增加一个新分区。
 出现Command action时,输入e,指定分区为扩展分区(extended)。
 出现Partition number(1-4)时,输入1表示只分一个区。
 后续指定起启柱面(cylinder)号完成分区。

在Command (m for help)提示符后面输入p,显示分区表。
系统提示如下:
Device Boot                 Start                End                   Blocks          Id             System
/dev/sdb1                           1            26108           209712478+           5          Extended

在Command (m for help)提示符后面输入w,保存分区表。
系统提示:The partition table has been altered!

在终端窗口中输入如下命令:

sudo fdisk -lu

如下图所示:
系统已经识别了硬盘 /dev/sdb 的分区。

二、硬盘格式化 | Format hard disk

1、显示硬盘及所属分区情况。在终端窗口中输入如下命令

sudo mkfs -t ext4 /dev/sdb

说明:
-t ext4 表示将分区格式化成ext4文件系统类型。

三、挂载硬盘分区 | Mount hard disk partition

1、显示硬盘挂载情况。在终端窗口中输入如下命令

sudo df -l

新硬盘分区没有挂载,无法进入和查看。

在终端窗口中输入如下命令

sudo mount -t ext4 /dev/sdb /devdata

说明:
指定硬盘分区文件系统类型为ext4 ,同时将 /dev/sdb 分区挂载到目录 /devdata。

再次在终端窗口中输入如下命令

sudo df -l

新硬盘分区已经挂载,如下图最下面的红色方框内容。

2、配置硬盘在系统启动自动挂载。在文件 /etc/fstab 中加入如下配置

# /devdata was on /dev/sdb
UUID=37eaa526-5d96-4237-8468-603df5216ce9     /devdata     ext4     defaults     0     3

==========================  /etc/fstab 配置 注意!!==========================

这一部分我的设置与原作者不同,用上面无法成功自动挂载的话,请尝试下面的配置:

其中,“/Projects”与“/AMAX”都是挂载点,可以根据需要自定义。

上面是ext4格式硬盘为例子。如果是ntfs,则“ext4”要修改为“auto”,“defaults”要修改为“nosuid,nodev,nofail”。

在Ubuntu,可以使用更直观的方式:用系统自带的Disks或者Disk Utility界面化工具。

=========================================================================

附录1:fdisk命令详解 | Appendix part 1:  fdisk command syntax

fdisk 命令的语法如下:

fdisk [-b sectorsize] device     
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk -v

说明:

  • -b    指定每个分区的大小。也可以执行fdisk device(如:fdisk /dev/sdb)后,在系统提示时指定。
  • -l    列出指定的外围设备的分区表状况。如果仅执行 fdisk -l ,系统会列出已知的分区。
  • -u   搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址。
  • -s        将指定的分区的大小输出到标准输出上,单位为区块。
  • -v   显示fdisk的版本信息。

附录2:mkfs命令详解 | Appendix part 2:  mkfs command syntax

mkfs 命令的语法如下:

mkfs [-V] [-t fstype] [fs-options] filesys

说明:

  • -V   显示简要的使用方法。
  • -t    指定要建立何种文件系统,如:ext3, ext4。
  • fs   指定建立文件系统时的参数。
  • -v   显示版本信息与详细的使用方法。

附录3:mount命令详解 | Appendix part 3:  mount command syntax

mkfs 命令的语法如下:

mount [-afFnrsvw] [-t vfstype] [-L label]  [-o options] device dir
mount [-lhv]

说明:

  • -a    加载文件/etc/fstab中设置的所有设备。
  • -f     不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。
  • -F    需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。
  • -t vfstype   指定加载的文件系统类型,如:ext3, ext4。
  • -L label      给挂载点指定一个标签名称。
  • -l     显示分区的label。
  • -h    显示帮助信息。
  • -v    显示mount的版本信息。
  • device       要挂载的分区或文件。如果device是一个文件,挂载时须加上 -o loop参数。
  • dir             分区的挂载点。

附录4:fstab配置详解 | Appendix part 4:  fstab detail configuration

/etc/fstab 中一共有6列:

  • file system:指定要挂载的文件系统的设备名称(如:/dev/sdb)。也可以采用UUID,UUID可以通过使用blkid命令来查看(如:blkid  /dev/sdb)指定设备的UUID号。
  • mount point:挂载点。就是自己手动创建一个目录,然后把分区挂载到这个目录下。
  • type:用来指定文件系统的类型。如:ext3, ext4, ntfs等。
  • option dump:0表示不备份;1表示要将整个中的内容备份。此处建议设置为0。
  • pass:用来指定fsck如何来检查硬盘。0表示不检查;挂载点为分区/(根分区)必须设置为1,其他的挂载点不能设置为1;如果有挂载ass设置成大于1的值,则在检查完根分区后,然后按pass的值从小到大依次检查,相同数值的同时检查。如:/home 和 /boot 的pass 设置成2,/devdata 的pass 设置成3,则系统在检查完根分区,接着同时检查/boot和/home,再检查/devdata。

---------------------
作者:limanjihe
来源:CSDN
原文:https://blog.csdn.net/limanjihe/article/details/81282290?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

虚拟机中扩展linux系统存储空间的更多相关文章

  1. 配置SecureCRT连接本地虚拟机中的Linux系统

    转自:http://www.pythoner.com/196.html 由于平时公司开发时都是使用SecureCRT连接的Linux服务器,所以也想使用SecureCRT在自己电脑上连接本地虚拟机中的 ...

  2. 虚拟机中给linux 系统添加硬盘以后,进行分区挂载

    当自己虚拟机中的linux 系统硬盘不够用的时候需要添加硬盘给系统使用,所以可以通过以下的步骤实现 1.关闭自己的客户机,然后执行以下步骤 2. 上面的步骤完成以后,重点来了,下面打开客户机,执行以下 ...

  3. SSH安装篇之——SecureCRT连接(内网和外网)虚拟机中的Linux系统(Ubuntu)

    最近在学习Linux,看了网上很多SecureCRT连接本地虚拟机当中的Linux系统,很多都是需要设置Linux的配置文件,有点繁琐,所以自己就摸索了一下,把相关操作贴出来分享一下. SecureC ...

  4. SSH实现在WIN7系统下访问虚拟机中的Linux系统

    使用的是centos6.4进行练习的,安装的是vmware8虚拟机.以下是总结的一些步骤: 一.确保vmware使用NAT的连接方式,如做地址.端口映射 首先查看vmware的中网络连接的一些方式:E ...

  5. SecureCRT连接(内网和外网)虚拟机中的Linux系统(Ubuntu)

    最近在学习Linux,看了网上很多SecureCRT连接本地虚拟机当中的Linux系统,很多都是需要设置Linux的配置文件,有点繁琐,所以自己就摸索了一下,把相关操作贴出来分享一下. SecureC ...

  6. SecureCRT连接虚拟机中的Linux系统(Ubuntu)

    最近在学习Linux,看了网上很多SecureCRT连接本地虚拟机当中的Linux系统,很多都是需要设置Linux的配置文件,有点繁琐,所以自己就摸索了一下,把相关操作贴出来分享一下. SecureC ...

  7. 2017.8.9在虚拟机中安装linux系统

    0 安装前提 已经安装好VM,并且配置好,具体过程参看随笔:2017.8.5 VMware的介绍与安装 相关随笔:2017.8.5 Linux达人养成计划 I 需要知道的概念:VMWare,虚拟机,真 ...

  8. Linux之最最最最基础(包括在虚拟机中安装linux系统)

    这里是以CentOS 6.5  64bit为例(学习用这个,Kali神马的有兴趣自己研究(这个系统是玩渗透用的)) 一 ---->配置Vmware Workstation     自定义--选择 ...

  9. 虚拟机中如何Linux系统如何访问PC硬盘中的文件(如何将windows下的文件夹挂载到linux虚拟机下)

    这段时间决定学习嵌入式,变打算安装个Linux系统先熟悉一下Linux系统的使用,但自己电脑上安装的win7系统又不想装双系统,一是闲麻烦,二是由于对Linux系统不熟悉担心会因为自己的误操作而损坏系 ...

随机推荐

  1. linux: 安装jdk(java)

    作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考. 0.下载jdk8 登录网址:http://www.oracle.com/t ...

  2. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形网格惰性加载节点

    jQuery EasyUI 树形菜单 - 树形网格惰性加载节点 有时我们已经得到充分的分层树形网格(TreeGrid)的数据. 我们还想让树形网格(TreeGrid)按层次惰性加载节点. 首先,只加载 ...

  3. Win10 | Mac 在server上统一办公

    一个非常实际的问题,通常我们主要有三个工作的地点:1,server,用于大型数据的分析和处理:2,办公室的电脑,正式办公:3.自己的电脑,偶尔加班. 不同的工作平台之间很难同步,导致我们的工作和思维分 ...

  4. JS过渡和变形效果演示(举例:鼠标滑过图片放大) --JS案例

    1.代码: <!DOCTYPE html><html><head> <meta charset="utf-8"> <title ...

  5. android -------- 错误Attribute application@allowBackup value=(true) from AndroidManifest.xml

    开发中遇到一个问题,运行项目时,出现了一个这如下这样的问题 问题: Manifest merger failed : Attribute application@allowBackup value=( ...

  6. Spring Batch 使用场景

    一个标准的批处理程序通常会从数据库,文件或者队列中读取大量的数据和记录,然后对获取的数据进行处理,然后将修改后的格式写回到数据库中. 通常 Spring Batch 在离线模式下进行工作,不需要用户干 ...

  7. 【洛谷p2430】严酷的训练

    (这个题有一个很神奇的地方) 严酷的训练[传送门] 算法标签(显然01背包了最近一直在练) (他居然没写……) 这个题啊,试了好几遍没a 最后发现在第二层循环的时候应该是j>=rqyt[p[i] ...

  8. 使用telnet模拟邮件的收发

    smtp协议是一个简单的邮件传输协议,利用它我们可以将邮件发送给别人,这里将通过telnet这个程序利用smtp协议从网易向gmail发送一封邮件 基本步骤如下: 1.使用telnet连接smtp服务 ...

  9. shiro中INI配置

    4.1 根对象SecurityManager 从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的:也就是所有操作都是自它开始的,这个对象是线程安全 ...

  10. 3月26 document的练习

    1.Window.document对象 一.找到元素: docunment.getElementById("id"):根据id找,最多找一个:     var a =docunme ...