VMware虚拟机中为Linux 添加虚拟硬盘(VirtualBox方法类似)
修改1:2014-06-24 11:38:21
Linux添加硬盘是在原来安装的硬盘空间不够或者需要使用其他硬盘上的东西时候的解决办法,因为大多数初学者习惯使用虚拟机,这里以在Vmware虚拟机中实现Linux添加硬盘的具体步骤来详细介绍说这个问题。
Vmware中为linux增加硬盘
1. 在vmware的setting中为虚拟机增加一个硬盘。



对于VirtualBox:

2. 在vmware中看见 第1个硬盘是 /dev/sda , 第2个硬盘是 /dev/sdb
pengdl@localhost:~$ sudo fdisk -l
[sudo] password for pengdl: Disk /dev/sdb: 53.7 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x00000000 Disk /dev/sdb doesn't contain a valid partition table Disk /dev/sda: 107.4 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0006effe Device Boot Start End Blocks Id System
/dev/sda1 * Linux
/dev/sda2 Extended
/dev/sda5 Linux swap / Solaris
pengdl@localhost:~$
3. 创建硬盘信息
fdisk /dev/sdb
a. 按n添加分区,选p(主分区);
b. 选1,也就是sdb1;
c. 然后就是空间划分,一路回车。默认是使用整个磁盘空间。
d. 然后按w写入分区信息
pengdl@localhost:~$ sudo fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xfd7fb007.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u'). Command (m for help): n
Command action
e extended
p primary partition (-)
p
Partition number (-):
First cylinder (-, default ):
Using default value
Last cylinder, +cylinders or +size{K,M,G} (-, default ):
Using default value Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.
pengdl@localhost:~$
4. 格式化硬盘
mkfs.ext3 /dev/sdb1 (之前我用mkfs -t ext3 /dev/sdb1,当启动时总是失败)
pengdl@localhost:~$ sudo mkfs.ext3 /dev/sdb1
mke2fs 1.41. (-May-)
文件系统标签=
操作系统:Linux
块大小= (log=)
分块大小= (log=)
Stride= blocks, Stripe width= blocks
inodes, blocks
blocks (5.00%) reserved for the super user
第一个数据块=
Maximum filesystem blocks=
block groups
blocks per group, fragments per group
inodes per group
Superblock backups stored on blocks:
, , , , , , , , ,
, , 正在写入inode表: 完成
Creating journal ( blocks): 完成
Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every mounts or
days, whichever comes first. Use tune2fs -c or -i to override.
pengdl@localhost:~$
pengdl@localhost:~$ sudo fdisk -l Disk /dev/sdb: 53.7 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0xfd7fb007 Device Boot Start End Blocks Id System
/dev/sdb1 Linux Disk /dev/sda: 107.4 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0006effe Device Boot Start End Blocks Id System
/dev/sda1 * Linux
/dev/sda2 Extended
/dev/sda5 Linux swap / Solaris
pengdl@localhost:~$
5. 创建需要mount的目录
mkdir -p /opt
6. mount到指定的目录
mount /dev/sdb1 /opt -o rw
7. 如果需要每次启动加载,修改/etc/fstab文件
在fstab文件里面添加一行:
/dev/sdb1 /opt ext3 defaults 1 1
这样我们就完成了在虚拟机上Linux添加硬盘问题的解决。
最后,为了防止误删这个文件夹,可以参考:Linux下防止文件误删方法
补充:
这里重点说明一下/etc/fstab如何填写:
- 使用UUID进行挂载
UUID 全称是 Universally Unique Identifier,也就是说,每个分区有一个唯一的 UUID 值,这样就不会发生分区识别混乱的问题了
操作方法:
参见
http://www.cnblogs.com/pengdonglin137/p/3805504.html
http://www.cnblogs.com/pengdonglin137/p/3805457.html
- 如何填写fatab的其他字段
参见:
http://www.cnblogs.com/pengdonglin137/p/3805457.html
一个简单的 /etc/fstab,使用内核名称标识磁盘:
/etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>
tmpfs /tmp tmpfs nodev,nosuid 0 0
/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2
字段定义
/etc/fstab 文件包含了如下字段,通过空格或 Tab 分隔:
<file system> <dir> <type> <options> <dump> <pass>
- <file systems> - 要挂载的分区或存储设备.
- <dir> - <file systems>的挂载位置。
- <type> - 要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:
ext2,ext3,ext4,reiserfs,xfs,jfs,smbfs,iso9660,vfat,ntfs,swap及auto。 设置成auto类型,mount 命令会猜测使用的文件系统类型,对 CDROM 和 DVD 等移动设备是非常有用的。 - <options> - 挂载时使用的参数,注意有些mount 参数是特定文件系统才有的。一些比较常用的参数有:
-
auto- 在启动时或键入了mount -a命令时自动挂载。noauto- 只在你的命令下被挂载。exec- 允许执行此分区的二进制文件。noexec- 不允许执行此文件系统上的二进制文件。ro- 以只读模式挂载文件系统。rw- 以读写模式挂载文件系统。user- 允许任意用户挂载此文件系统,若无显示定义,隐含启用noexec,nosuid,nodev参数。users- 允许所有 users 组中的用户挂载文件系统.nouser- 只能被 root 挂载。owner- 允许设备所有者挂载.sync- I/O 同步进行。async- I/O 异步进行。dev- 解析文件系统上的块特殊设备。nodev- 不解析文件系统上的块特殊设备。suid- 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。nosuid- 禁止 suid 操作和设定 sgid 位。noatime- 不更新文件系统上 inode 访问记录,可以提升性能(参见 atime 参数)。nodiratime- 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。relatime- 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)。flush-vfat的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。defaults- 使用文件系统的默认挂载参数,例如ext4的默认参数为:rw,suid,dev,exec,auto,nouser,async.
- <dump> dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 <dump> 应设为 0。
- <pass> fsck 读取 <pass> 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。
atime 参数
使用 noatime, nodiratime 或 relatime 可以提升 ext2, ext3 及 ext4 格式磁盘的性能。 Linux 在默认情况下使用atime选项,每次在磁盘上读取(或写入)数据时都会产生一个记录。这是为服务器设计的,在桌面使用中意义不大。默认的 atime 选项最大的问题在于即使从页面缓存读取文件(从内存而不是磁盘读取),也会产生磁盘写操作!
使用 noatime 选项阻止了读文件时的写操作。大部分应用程序都能很好工作。只有少数程序如 Mutt 需要这些信息。Mutt 的用户应该使用 relatime 选项。使用 relatime 选项后,只有文件被修改时才会产生文件访问时间写操作。nodiratime 选项仅对目录禁用了文件访问时间。relatime 是比较好的折衷,Mutt 等程序还能工作,但是仍然能够通过减少访问时间更新提升系统性能。
noatime 已经包含了 nodiratime。不需要同时指定。综合考虑:
我们这样填写fatab:
UUID=XXXXXXXXX /opt ext3 defaults,noatime 0 2
下面是我的配置截图:

VMware虚拟机中为Linux 添加虚拟硬盘(VirtualBox方法类似)的更多相关文章
- VMware虚拟机中调整Linux分区大小手记(转发)
前段时间用VMware5.5安装了CentOS5.3,安装的时候分配了5Gb的虚拟硬盘空间给Linux系统,系统安装选择很多组件和软件,后面使用时又安装也一些软件,结果导致虚拟硬盘空间不足.查看分 ...
- VMware虚拟机中调整Linux分区大小——使用gparted
虚拟机分配了50G大小的空间,最近发现不够用,于是将扩展一下分区的大小,查了几种方法都不是很好,后来借助了gparted分区空间完成了,这个工具简单,方便,下面就简单的介绍一下.扩展分区主要要分为两步 ...
- 如何通过SSH工具(SecureCRT、XShell)连接Vmware虚拟机中的Linux(CentOS7)
本文主要解决的问题:如何通过SSH工具连接到VMWare中改的Linux系统(CentOS7) 核心内容:Linux中需要安装openssh-server,并且启动了openssh-server服务. ...
- VMware虚拟机中安装Linux操作系统(ubuntu)
一.准备工作: 1.下载VMware虚拟机 下载地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evalua ...
- linux 添加新硬盘的方法
在服务器上把硬盘接好,启动linux,以root登陆. 比如我新加一块SCSI硬盘,需要将其分成三个区: #fdisk /dev/sdb 进入fdisk模式: Command (m for help) ...
- Linux入门到放弃之一《在VMware虚拟机中安装Linux系统(RedHat)》
1.启动VMware: 2.新建虚拟机: 3.自定义配置(1安装客户机操作系统点击"稍后安装操作系统"2选择客户机操作系统为Linux,版本为Red Hat Enterprise ...
- 详解VMware 虚拟机中添加新硬盘的方法
一.VMware新增磁盘的设置步骤 (建议:在设置虚拟的时候,不要运行虚拟机的系统,不然添加了新的虚拟磁盘则要重启虚拟机) 1.选择“VM”----“设置”并打开,将光标定位在“硬盘(SCSI)”这一 ...
- 虚拟机中给linux 系统添加硬盘以后,进行分区挂载
当自己虚拟机中的linux 系统硬盘不够用的时候需要添加硬盘给系统使用,所以可以通过以下的步骤实现 1.关闭自己的客户机,然后执行以下步骤 2. 上面的步骤完成以后,重点来了,下面打开客户机,执行以下 ...
- VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程
VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...
随机推荐
- PHP文件操作函数二
PHP部分文件访问函数总结: 1.filetype("文件路径") //可以输出相关文件类型,返回之为:dir/file... 2.stat("文件名") / ...
- shelve,xml,re模块
一.shelve模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve ...
- python通过POST提交页面请求
http://blog.csdn.net/liyzh_inspur/article/details/6294292 #网页POST提交数据 import urllibimport urllib2url ...
- Spark优化之一:分布式下的map操作是闭包
例如对一个JavaPairRDD<String, String>做遍历操作,常见的,我们可以通过先通过collect()操作将它转化为Map对象再进行遍历,也可以使用Spark提供的map ...
- phpstorm+xdebug详解
1.run->edit configurations StartUrl最好是网址,不然容易出错,Server选择的是配置时添加的Servers,详可参考:http://www.cnblogs.c ...
- 拒绝平庸——浅谈WEB登录页面设计
用户活跃度是检验产品成功与否的重要指标之一,传统行业的商家极为重视门面的装潢,因为一个好的门面可以聚集人气,招揽更多的顾客.古时候的大户人家院子门口的石狮子或其他的摆件的摆放极为讲究,有一定的风水学说 ...
- Android动画之仿美团加载数据等待时,小人奔跑进度动画对话框(附顺丰快递员奔跑效果)
Android动画之仿美团加载数据等待时,小人奔跑进度动画对话框(附顺丰快递员奔跑效果) 首句依然是那句老话,你懂得! finddreams :(http://blog.csdn.net/finddr ...
- AC日记——[FJOI2007]轮状病毒 bzoj 1002
1002 思路: 打表找规律: dp[i]=dp[i-1]*3-dp[i-2]+2; 套个高精就a了: 代码: #include <cstdio> #include <cstring ...
- linux查看cpu内存信息
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...
- ( 转 ) .net 操作 JWT
GitHub: https://github.com/jwt-dotnet/jwt 1.JWT定义 JWT(Json Web Token)是一种用于双方之间传递安全信息的简洁的.URL安全的表述性声明 ...