|
你要用SDK,就得用VirtualBox3.2,而VirtualBox3.2支持虚拟硬盘的动态扩展,也就是VDI文件的大小随着guest使用的容量而增大,但是动态扩展的上限为最初指定的虚拟硬盘的大小。
, G# z$ P& r6 J2 W+ f9 m
$ X; W% v% \0 S7 d! [9 _, v 也许是因为心理的原因,这个值你指定的过小了,你使用了一段时间才会发现这个问题。Virtualbox没有修改虚拟磁盘大小的功能。现在VirtualBox还没有提供改变虚拟硬盘大小上限的功能。其实安装guest时完全可以指定一个很大的值,毕竟它不会占用多余的硬盘空间,仅仅占用guest真正利用到的空间而已。但是问题已经出现了,重新来过显然太过麻烦了,办法还是有的。答案就是用一块更大容量的虚拟硬盘来替换原来的虚拟硬盘,把原来的内容完整的clone到新的虚拟硬盘上来。这次不要吝啬了,把虚拟硬盘设置的大一点吧。5 p/ W+ X3 q( i) @* }" J
1 F1 i, l% x3 l! R方法1——简单办法,步骤如下:
* q* A, S8 c! _. |) m
4 ]; D) j1 N$ L% x& L) F. v1、在guest的HDD设置里面新建IDE硬盘,并挂载在primary slave接口上,原来的硬盘在primary master上,当然你也可以随便挂,但会影响到后面的硬盘编号。
8 |0 n3 ?( z4 I4 @- J/ [* {' e2 h! t9 i7 ]: a+ V$ ]3 X _1 O; c
2、下载GParted LiveCD(http://gparted.sourceforge.net/),将下载的ISO文件挂载到guest的光驱上面,并且从光驱启动。简单的回车默认启动就可以。
; R# I8 l2 q/ h9 C3 t! }" I' n- m
# a, H/ k+ W) G7 p. F0 w" N7 ?3、拷贝旧硬盘的MBR到新硬盘(新硬盘的MBR为空),这样才能正常启动。启动terminal终端,输入fdisk -l //可查看到硬盘设备号,按上面的设置,旧硬盘应该是sda,而新硬盘是sdb
, O& y3 b$ G+ @7 i# @3 ?) Hdd if=/dev/sda of=/dev/sdb bs=512 count=1 //拷贝sda的mbr到sdb上,命令如前所示
7 k3 ~' |$ E% ~0 j: V6 y切记不要搞反了,否则旧硬盘的MBR就成空白了。MBR里面包含有分区表信息,这样拷贝以后新硬盘里面也有了一个和旧硬盘一般大小的分区,我们不需要,可直接删除。删除办法如下:& \0 S8 K& n; W. A9 q- |" u6 _ K
fdisk /dev/hdb,然后输入fdisk命令d也就是在Command (m for help):后面输入d就可以删除掉这个分区,然后输入fdisk命令w把改变写回硬盘,然后q退出。+ d+ O2 N: M4 K# w$ c/ W: X9 m& E! s
0 ]# i( m; T% A3 I6 K4 y' C- k
4、启动GParted程序。GParted会扫描到这两个硬盘。在旧硬盘hda的分区(我的是主分区hda1)上面右击选择copy,然后选择新硬盘hdb,在其上右击选择paste,并把目的分区拖到最大,起码我的guest只要一个主分区就可以了,如下图所示。最后点击apply进行真正的拷贝动作。耐心的等待一段时间。
4 \0 m/ R$ s h+ s9 L
: ?& c: W' \( _; W7 f5 Z; g5、在新硬盘的主分区sdb1上右击选择”manage flags”,为此分区添加boot标志,以便从该分区启动。
' n9 |* Q {- y* Z( v+ J
. ~) c5 S% D8 E9 z6、从虚拟机设置里面为guest去掉cd rom,去掉旧的虚拟硬盘,把新虚拟硬盘挂载到IDE的Primary master上面,启动guest。第一次用新硬盘启动可能会遇到磁盘检查。1 v7 _3 n% F( ~' L" v0 Q- R& [
& k6 ~; B" Z6 X0 U# \/ }
到此应该就OK了,以后新建guest的时候一定要把虚拟硬盘搞大一点,省的这么麻烦。
, c5 i; x; b5 J' K———–: |; n) | ?8 K2 D Y$ {& k% P
; v' e7 Y7 X0 [
ps. Ubuntu 8.04 Grub修复7 I/ {& K! J" c2 G: v
# l! D& ~4 {3 d; O$ EUbuntu的Live CD,启动,终端4 d+ V) \/ u/ d1 F
m9 t+ d) ]. D+ g. a4 |$ }' z2 Isu //进入根用户* i3 z% F, G1 m ?* a( @3 c, @
! A* k* U6 X6 t9 {
fdisk -l 查看分区情况 我的/ 是 sda1
' v9 n" h0 ?5 }9 u7 d
6 l" g4 u% [2 e3 U! E5 n" p2 u* F$ N# Wmount 挂载到/mnt
' g5 J% N& ?* f$ j: |* G {0 f. e) f# |0 i
grub-install --root-dircetory=/mnt /dev/sda( u9 W0 | `8 i. A" u6 _
% L# m$ \9 L! k, r' |$ O/ h9 h# @update-grub% l$ w: [$ `# X9 {' G! N" r
8 L* X# p/ v( L' C* Agrub>root (hd0,0) 我的/是0,boot没有单独划分% h f- R& c- K. L/ t
0 S* y- b0 y xgrub>setup (hd0)
# H0 H1 w/ h& B0 a' F
+ ]# Y/ {( s- h( Ygrub>quit+ M8 n' U0 c3 K+ D
0 \7 M2 [4 F" X* u9 r n搞定
* b$ F' U0 Z' |/ t. P: y3 A
, U( [4 ]6 V6 V方法2:
$ V) D: Y" p; L" m0 P* b0 V( i
" A5 ]; m% ` w$ q) csudo apt-get install gparted 5 u" o2 g- `) O! y
sudo apt-get install ntfsprogs' b/ r* v0 P" i7 M2 j6 l
//在Ubuntu中,gparted在默认情况下并不支持NTFS分区,必须还要使用如下指令安装ntfsprogs d& U r* C. Q0 C* W# @ c) ~% k
sudo gparted //启动gparted
1 z5 A1 D6 W8 ~' n这种安装方式只能用于非系统分区并且是尚未挂载的分区调整,所以在上图中,当选中一个Ubuntu所在的安装分区/dev/sda3时,点击“分区”菜 单,其中的调整分区相关的菜单项都是被禁用的,同时该分区的名称后显示了一个“锁定”的图标,表示该分区不能进行调整。建议直接在gparted的官网http://gparted.sourceforge.net中下载其Live CD的ISO光盘映象文件,然后將其该录成光碟。gparted的Live CD中自带了一个简版的Debian系统,利用该光碟启动计算机之后,可以直接硬盘上的任意支持格式的分区进行创建、删除或大小调整。 ——详见方法1
7 i o# u2 U$ x4 u# H |
|