现在的位置: 首页 > 综合 > 正文

为VMware添加新硬盘并挂载到指定位置扩容

2018年05月28日 ⁄ 综合 ⁄ 共 3165字 ⁄ 字号 评论关闭

在Scientific Linux虚拟机中安装arm-linux-gcc交叉编译工具时,由于先前分盘草率,导致目录/usr空间不够,无法将文件arm-linux-gcc-4.3.2.tgz解压完整。

于是根据《鸟哥的Linux私房菜》一书使用dd命令在目录/home下制作了一个512M的空文件:

# dd if=/dev/zero of=/home/loopdev bs=1M count=512

/dev/zero是会一直输出0的设备。然后进行格式化:

# mkfs -t ext4 /home/loopdev

在进行手动挂载:

# mount -o loop /home/loopdev /usr/local/arm

# df        显示各分区的磁盘空间使用及挂载情况

为了将/home/loopdev每次开机都自动挂载到/usr/local/arm,修改了/etc/fstab文件:

# vim /etc/fstab

在最后一行中写入/home/loopdev /usr/local/arm ext4 defaults 1 2

由于先前手动挂载过,故必须先卸载:

# umount /usr/local/arm

由于笔者进入了目录/usr/local/arm而未退出,故出现/usr/local/arm is busy的信息,由于笔者此时不知,没有成功卸载而直接往下操作,导致后面Linux无法正常启动的问题,故提醒各位Linuxer注意:

# mount -a     把/etc/fstab文件中列出的文件系统都挂载上

# reboot         重启系统

悲剧来临......................................系统无法再次启动

后好不容易找到解决方法:进入单用户模式

对于grub,在系统启动时按键盘“e”编辑启动项


进入后选择kernel xxxxxxxxx按键盘“e”编辑所选命令:

在行末尾加一个空格single,然后回车按键盘“b”启动系统,系统将进入单用户模式,此时/是readonly的状态,当然也无法修改/etc/fstab,可利用下面指令:

# mount -n -o remount,rw /

之后就可以修改/etc/fstab文件了,将之前误写的最后一句删掉,保存后reboot,系统可正常启动!

从上面的经历笔者发现加载/home/loopdev到/usr/local/arm须使用选项# mount -o -loop才行,这也是系统无法正常启动的原因。

看来此法不通,只能在网上搜有何良方:终于发现dawning126的博客,在此感谢!

一:首先介绍硬盘扩容的方法: 
1、vmware提供一个命令行工具,vmware-vdiskmanager.exe,位于vmware的安装目录下,比如 
C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe. 
在windows的cmd窗口中,转到vmware的安装目录 
即:cd C:\Program Files\VMware\VMware Workstation\ 
vmware-vdiskmanager.exe 可以查看帮助 
2. 对于扩容,可以输入下列命令: 
vmware-vdiskmanager -x 4Gb "D:\VMware\WinXP\myLinux.vmdk" 
参数"-x"表示要扩展虚拟机硬盘空间,紧随其后的数字是要扩展到的大小(本例为扩展到4GB,这是一个磁盘总量,包含了原先的磁盘容量)。 
最后是指定要操作的虚拟机磁盘的具体文件,要是路径名中有空格,必须以双引号括起来。按回车键开始执行,执行完毕,退出命令提示符窗口, 
重启VMware,会发现虚拟机硬盘空间已变成4GB了。 
网上的说明大都到这一步就结束了,其实不然。我们重启虚拟机后,发现虚拟机的硬盘是变成4GB了,但进入linux系统后,用"df -ah"查看发现硬盘空间还是原先那么大。 
虽然已经扩大了磁盘,但是由于还没有经过分区,指定文件系统,所以linux操作系统无法识别(其实就相当于你的硬盘虽然大了,但是你并没有对其进行分区是一个道理)。下面我们进行分区处理。 
3. 分区: 
fdisk命令: fdisk -l  :打印当前的磁盘分区表,这时我们可以看到磁盘的总量的确增加到4GB了,但是分区只有以前的那几个原有的分区。 
键入命令:fdisk /dev/sda   “sda就是经过扩容的硬盘,为SCSI硬盘,IDE类型硬盘对应为hda,是对该硬盘进行操作” 
键入 :   m    “ 列出fdisk的帮助” 
我们在这里是要添加一个新分区,即将扩容出来的那部分做成一个新分区,这样才能被操作系统挂载识别。 
键入:    n    ” 命令n用于添加新分区" 
此时,fdisk会让你选择添加为逻辑分区呢(编号从5开始)还是主分区(编号1到4)。选择主分区吧,则键入p;选择逻辑分区键入l。 
我们选择主分区于是: 
键入:   p               " 选择创建主分区" 
此时,fdisk会让你选择主分区的编号,如果已经有了主分区sda1,sda2,那么编号就选3,即要创建的该分区为sda3. 
键入:    3 
此时,fdisk又会让你选择该分区的开始值这个就是分区的Start 值(start cylinder);这里最好直接按回车, 
如果您输入了一个非默认的数字,会造成空间浪费; 
此时键入:w              "保存所有并退出,分区划分完毕" 
我们现在还不能用这个分区,为什么? 没格式化呀,呵呵! 
4. 格式化该新添加的分区: 
键入:mkfs -t ext3  /dev/sda3  
或者  mkfs.ext3     /dev/sda3 格式化指定的分区,依次类推,现在的系统大部分都是 ext3 格式,如果你需要其它的,可以查看mkfs的帮助。 
此时我们就可以使用该新增分区啦: 
5、挂载该分区: 
手动挂载,则键入:mount /dev/sda3  /home/work/         "表示将该新分区挂载到/home/work/这个目录下面" 
开机自动挂载,则修改/etc/fstab文件,在这个文件里面添加一行: 
/dev/sda3       /home/work      ext3    defaults,        0       1      "关于该文件的格式,以后写文章讨论^_^" 
以后每次开机都会将该分区挂在大work目录下面了。 

到这里就可以使用该新加分区啦 。 

二:另外一种方法就是首先在虚拟机上添加一块硬盘,然后挂载。这样就相当于又买了个硬盘,可以缓解磁盘空间紧张的问题了。 
1、启动虚拟机,选择"Edit virtual machine settings",点按钮“adding",按照向导默认添加一块磁盘,一般都是SCSI设备。 指定硬盘容量,然后重启进入系统。 
root用户操作: 
2、 fdisk -l 会看到有一块新的设置,如果你先前有一块硬盘(sda1, sda2...),新加的这块应该是(/dev/sdb)。 
看到就说明系统已经识别出这块硬盘了,接下来我们给这块硬盘分区,格式化。 
fdisk /dev/sdb (当然如果你添加的IDE设置,会是 hdx) x 代表数字,1到4指主分区编号,5以上指逻辑分区。具体的资料可以在网上搜到。 
3、分区格式化: 
操作和上面的分区格式化大致相同,只需注意把/dev/sda 改成/dev/sdb,后面的操作也都一致。 
到这里vmware添加新硬盘 挂载新硬盘 硬盘扩容 说完了,相信硬盘扩容这个问题大家都解决了。


注意:修改/etc/fstab文件后需先卸载# umount /dev/sdb1,再使用# mount -a  和 # df测试文件/etc/fstab正确与否,否则易出现笔者一开始遇到的系统无法正常启动情况!

抱歉!评论已关闭.