|
你要用SDK,就得用VirtualBox3.2,而VirtualBox3.2支持虚拟硬盘的动态扩展,也就是VDI文件的大小随着guest使用的容量而增大,但是动态扩展的上限为最初指定的虚拟硬盘的大小。" Y2 ?9 j5 M# p+ c$ }
2 e6 W$ T F0 S- ^1 U 也许是因为心理的原因,这个值你指定的过小了,你使用了一段时间才会发现这个问题。Virtualbox没有修改虚拟磁盘大小的功能。现在VirtualBox还没有提供改变虚拟硬盘大小上限的功能。其实安装guest时完全可以指定一个很大的值,毕竟它不会占用多余的硬盘空间,仅仅占用guest真正利用到的空间而已。但是问题已经出现了,重新来过显然太过麻烦了,办法还是有的。答案就是用一块更大容量的虚拟硬盘来替换原来的虚拟硬盘,把原来的内容完整的clone到新的虚拟硬盘上来。这次不要吝啬了,把虚拟硬盘设置的大一点吧。" \4 d5 \* G( Y
% y: U: p) E# l方法1——简单办法,步骤如下:
* |$ \4 A- a3 {0 [# S. M# y( V6 _1 t+ W+ O. T; C- A* @
1、在guest的HDD设置里面新建IDE硬盘,并挂载在primary slave接口上,原来的硬盘在primary master上,当然你也可以随便挂,但会影响到后面的硬盘编号。! |* Q( _8 w5 F" j: L! o
0 w6 h" I$ B3 N
2、下载GParted LiveCD(http://gparted.sourceforge.net/),将下载的ISO文件挂载到guest的光驱上面,并且从光驱启动。简单的回车默认启动就可以。
- L( Z8 R6 N- I1 B/ z% S1 L7 l% B
3、拷贝旧硬盘的MBR到新硬盘(新硬盘的MBR为空),这样才能正常启动。启动terminal终端,输入fdisk -l //可查看到硬盘设备号,按上面的设置,旧硬盘应该是sda,而新硬盘是sdb
. Z# O0 J& d9 _7 m; z3 Fdd if=/dev/sda of=/dev/sdb bs=512 count=1 //拷贝sda的mbr到sdb上,命令如前所示/ G; P( z, S1 o6 J
切记不要搞反了,否则旧硬盘的MBR就成空白了。MBR里面包含有分区表信息,这样拷贝以后新硬盘里面也有了一个和旧硬盘一般大小的分区,我们不需要,可直接删除。删除办法如下:( ?# i( `& T1 E3 J) X' L2 d b
fdisk /dev/hdb,然后输入fdisk命令d也就是在Command (m for help):后面输入d就可以删除掉这个分区,然后输入fdisk命令w把改变写回硬盘,然后q退出。" U. B( k: R7 X) C1 w: A# c3 E
% m# u! }/ E* N0 k4、启动GParted程序。GParted会扫描到这两个硬盘。在旧硬盘hda的分区(我的是主分区hda1)上面右击选择copy,然后选择新硬盘hdb,在其上右击选择paste,并把目的分区拖到最大,起码我的guest只要一个主分区就可以了,如下图所示。最后点击apply进行真正的拷贝动作。耐心的等待一段时间。% @( K5 ~1 x3 G; \2 p; p
" e s3 [- s) B) O5、在新硬盘的主分区sdb1上右击选择”manage flags”,为此分区添加boot标志,以便从该分区启动。: A" h4 X- z" z, T
& {" J/ f, w# H# Z* l6、从虚拟机设置里面为guest去掉cd rom,去掉旧的虚拟硬盘,把新虚拟硬盘挂载到IDE的Primary master上面,启动guest。第一次用新硬盘启动可能会遇到磁盘检查。
4 \0 ~8 L- R3 G) k c
! z# i1 L+ {& V+ r& {0 W到此应该就OK了,以后新建guest的时候一定要把虚拟硬盘搞大一点,省的这么麻烦。
( g! n! {$ v& Y0 _) F& ^———–
: q+ s, a9 B8 P4 n$ ^$ e1 \! i! Q
ps. Ubuntu 8.04 Grub修复) R, v6 v7 G9 K3 x
. f; j0 x0 I5 @, V+ P
Ubuntu的Live CD,启动,终端
; ]4 d# l( j- i' ]% a0 m) f2 p% ^
* k; t. d$ {8 H. }su //进入根用户
5 K6 |5 V& J1 W$ F% ]6 L. j) y- ^6 t4 B& O. }) G
fdisk -l 查看分区情况 我的/ 是 sda1
$ F; V a" P, M# w7 X$ r N: R
- ~. \* x( `' l5 _& b& G6 k Gmount 挂载到/mnt
% R3 Z* K( Q( v
! o9 i; p- _9 X% T" ?grub-install --root-dircetory=/mnt /dev/sda
9 ]" i. d4 H0 ]% B7 a2 N; J: j
* D, ~1 n' y4 Fupdate-grub
) E, i. r( {: d+ e1 r( ^/ j, Y* j: [0 ]$ A( [+ h B- p8 ^3 d$ W: ]
grub>root (hd0,0) 我的/是0,boot没有单独划分
7 b( I/ V1 K& x4 a8 e0 u7 O
+ b. G* E0 f5 K. E6 U/ Ugrub>setup (hd0)
/ L! v! }. r$ E0 q" q% E* r
- e. D. L- e& y$ H' ]grub>quit
# b O3 f. X( w, \% {) W0 O! Y7 C$ U- ~
搞定8 ?- Q% Q4 `0 ]1 F2 d2 l" N0 B
" r9 q1 X1 i- F9 l2 k方法2:
- R9 P/ `$ E+ f$ A0 j a# H! c+ L* ?) e! ^
sudo apt-get install gparted
7 O0 K; I" s ?sudo apt-get install ntfsprogs4 R; M/ ]/ f/ \ g C
//在Ubuntu中,gparted在默认情况下并不支持NTFS分区,必须还要使用如下指令安装ntfsprogs, k# V* a( C8 m* H+ z6 L! S
sudo gparted //启动gparted4 i! i5 M% M* F h
这种安装方式只能用于非系统分区并且是尚未挂载的分区调整,所以在上图中,当选中一个Ubuntu所在的安装分区/dev/sda3时,点击“分区”菜 单,其中的调整分区相关的菜单项都是被禁用的,同时该分区的名称后显示了一个“锁定”的图标,表示该分区不能进行调整。建议直接在gparted的官网http://gparted.sourceforge.net中下载其Live CD的ISO光盘映象文件,然后將其该录成光碟。gparted的Live CD中自带了一个简版的Debian系统,利用该光碟启动计算机之后,可以直接硬盘上的任意支持格式的分区进行创建、删除或大小调整。 ——详见方法1
; ?- t4 \" I6 w z8 u1 b |
|