红联Linux门户
Linux帮助

Oracle VM VirtualBox下ubuntu虚拟机存储空间不够解决方案

发布时间:2016-09-30 09:27:57来源:linux网站作者:wojiushiwoba
工作环境为Oracle VM VirtualBox下安装的Ubuntu虚拟机,原有虚拟机的虚拟机硬盘为20G,在安装新的软件时提示没有足够的剩余空间安装软件。
由于接触linux操作系统时间较短,只能问度娘如何解决,现根据度娘提供的可以实施下去的方案说一下过程。
大致思路为虚拟机添加另外一块虚拟硬盘,并把/home目录下的文件移动到新的虚拟硬盘中,再把新加的虚拟硬盘挂载到/home下,这样系统就有足够的空间用于安装软件、升级等操作。
 
1.关闭要增加虚拟硬盘的虚拟机。
 
2.在vbox管理器中右键虚拟机,设置->存储->控制器SATA,右键 添加虚拟硬盘,根据提示设置需要添加的虚拟硬盘容量,存储位置,另注意设置为VDI格式和动态分配,这样用的容量比较小的时候,不会占用很多系统空间。此处虚拟机的虚拟硬盘已添加完成,下面进入系统进行硬盘挂载。
 
3.打开虚拟机,进入命令行,输入 fdisk -l,正常在最后一样会有Disk /dev/dm-1doesn't contain a valid partition table这样一句话,意思是有硬盘没有挂载。
 
4.接下来进行分区格式化,挂载等。
[root@sunny-laptop~]# fdisk /dev/sdb     sdb磁盘分区,有很多选项,我们选择m帮助信息
Device containsneither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOSdisklabel. Changes will remain in memory only,
until you decideto write them. After that, of course, the previous
content won't be recoverable.
The number ofcylinders for this disk is set to 2610.
There is nothingwrong with that, but this is larger than 1024,
and could incertain setups cause problems with:
1) software thatruns at boot time (e.g., old versions of LILO)
2) booting andpartitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalidflag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m forhelp): m                              选择m即可看到帮助信息
Command action
a  toggle a bootable flag
b  edit bsd disklabel
c  toggle the dos compatibility flag
d  delete a partition
l  list known partition types
m  print this menu
n   add a new partition                           创建一个新分区
o  create a new empty DOS partition table
p  print the partition table
q  quit without saving changes
s  create a new empty Sun disklabel
t  change a partition's system id
u  change display/entry units
v  verify the partition table
w  write table to disk and exit
x  extra functionality (experts only)
Command (m forhelp): n                              创建一个新分区
Command action
e  extended
p  primary partition (1-4)
p                                         选择p添加主分区
Partition number(1-4): 1              选择主分区编号为1, 这样创建后的主分区为sdb1
First cylinder(1-2610, default 1):         选择格式化分区从第几个柱面开始
Using defaultvalue 1                          直接“回车”默认从第1个柱面开始
Last cylinder or+size or +sizeM or +sizeK (1-2610, default 2610): 选择格式化分区从第几个柱面结束
Using defaultvalue 2610                 直接“回车”默认从最后1个柱面结束
这样我们就创建完一个分区,如果要创建更多分区可以照上面的步骤继续创建。
Command (m forhelp): w               键入w,保存设置并退出,完成新磁盘分区表创建
The partitiontable has been altered!
Calling ioctl() tore-read partition table.
Syncing disks.
[root@sunny-laptop~]# fdisk –l         我们在看一下系统磁盘空间分配情况
Disk /dev/sda:21.4 GB, 21474836480 bytes
255 heads, 63sectors/track, 2610 cylinders
Units = cylindersof 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks  Id  System
/dev/sda1   *          1          13      104391  83  Linux
/dev/sda2              14        2610   20860402+  8e  Linux LVM
Disk/dev/sdb: 21.4 GB, 21474836480 bytes    这时我们可以看到新磁盘已经加入分区表了
255heads, 63 sectors/track, 2610 cylinders
Units =cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks  Id  System
/dev/sdb1               1        2610   20964793+  83  Linux
下面我们给新磁盘的/dev/sdb1分区进行格式化操作
[root@sunny-laptop~]# mkfs -t ext4 /dev/sdb1   用ext4格式对/dev/sdb1分区进行格式化
到此我们的新分区格式化完毕,下面我们就要挂载上分区就可以使用啦!
 
5.挂载分区,新建挂载目录,这里新建为newdisk,命令为mkdir /newdisk,挂载硬盘到 /newdisk,输入命令mount /dev/sdb1 /newdisk,至此我们就把硬盘挂载完成了。
 
6.把/home目录下的所有文件都移动到/newdisk下,可以使用命令行,也可以使用图形界面,这里就部详细罗列了。
 
7.设置系统上电自动挂载硬盘到 /home目录,在/etc/fstab文件中新增一行。内容:
/dev/sdb1       /home           ext4    defaults                 0       0
保存文件,重新启动系统,用df -h查看硬盘挂载情况,然后查看/home目录下的数据是否和原来一样,根目录的空余空间会增多。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24599.html