- 论坛徽章:
- 0
|
写了一篇小文章,关于在虚拟环境下扩展XP或者2003系统C盘空间的比较简单易行的方法,
分享一下:
http://blog.lalacafe.com/?p=108
以前在Xen下的XP的虚拟机的磁盘空间安装在一个8G大的虚拟磁盘文件上,
在虚拟机上安装了Office之后,现有空间已经容纳不下CS3或者Flash,Firefox等软件,
尝试了用NTbackup将C盘备份到外置USB移动硬盘的20G分区上之后,
XP并没有正常启动,显示找不到ntoskrnl.exe文件。具体原因我并没有去调查,
也不感兴趣,无法理解的事情便是为什么windows不能实现我很单纯的目的,
便是把C盘上的文件完完全全的拷贝到其他硬盘上。在Linux或者Unix系统下,
有很多工具可以很简单的达到这个目的。比如说dump,tar,cpio,cp,mv等等。
以前工作上用过这样的流程来实现Windows系统的备份和还原:
- 用NTbackup完全备份系统到一个备份文件或者磁带
- 换装新的磁盘,然后重新安装Windows系统
- 在新的系统上执行NTbackup,把之前备份的文件还原到C盘。
上述方法太麻烦了,需要重新安装系统,查了一些资料之后,
找到了下面这个简单易行的方法,可适用于一般的DOS/V主机,
也可以适用于KVM或者Xen+qemu的虚拟机上,用于系统备份,还原,移植磁盘空间。
达到Linux下的dump或者dd的目的,同时启动空间(MBR)也将被完全拷贝。
- 假设对象XP主机或者虚拟机的操作系统安装在C盘空间,大小为8G
- 移植对象为大小为20G的新硬盘
- 把20G的新硬盘挂载到主机上。
- 利用Knoppix或者一些LiveLinux启动主机,8G的旧硬盘和20G的新硬盘分别为sda和sdb
- 用dd复制磁盘空间:# dd if=/dev/sda of=/dev/sdb bs=1M
(如果你的磁盘比较大的话,可能需要一些时间,比如说200G的C盘,也许会花上几个小时) - 复制结束后启动WindowsXP,可以看到新硬盘的第一分区为8G(即D盘),剩余未使用空间为约12G。
- 利用XP自带的diskpart命令扩展NTFS空间。
- 卸载旧的8G磁盘(C盘),用20G的硬盘启动。
上述操作如果在XenDomian下执行的话,只需要修改DomU的配置文件或者在Virt-Manager下添加或者删除磁盘即可。
以下是我在本地Xen虚拟空间上的操作记录:
- 修改DomU的配置文件如下:
- [root@gate ~]# cat /etc/xen/xp01/xp01.cnf
- kernel = “/usr/lib/xen/boot/hvmloader”
- device_model = “/usr/lib64/xen/bin/qemu-dm”
- builder=”hvm”
- name = “xp01″
- memory = “1536″
- vcpus = “1″
- #disk = [ 'file:/opt/xen/xp01.img,ioemu:hda,w' ]
- disk = [ 'file:/opt/xen/xp01.img,ioemu:hda,w',
- 'phy:/dev/disk/by-id/usb-I-O_DATA_HDPX-U.WP_00000026B676-0:0-part4,hdb,w' ]
- vif = [ 'mac=00:16:3e:7e:67:2c, bridge=eth0, type=ioemu', 'mac=00:16:3e:7b:31:36, bridge=vnet0, type=ioemu' ]
- usb = “1″
- usbdevice = “tablet”
- vncunused = “1″
- vnc = “1
复制代码
其中xp01.img为一个大约8G的虚拟磁盘文件,里面安装了虚拟机的XP系统。
/dev/disk/by-id/usb-I-O_DATA_HDPX-U.WP_00000026B676-0:0-part4为外置USB移动硬盘的第四风区,约为20G,将作为虚拟机的新系统盘。
- 利用dd命令把xp01.img的数据复制到20G的U盘空间,大约花了10分钟。
- [root@gate ~]# dd if=/opt/xen/xp01.img of=/dev/disk/by-id/usb-I-O_DATA_HDPX-U.WP_00000026B676-0:0-part4 bs=1M
复制代码 在其他终端窗口用 kill -10 “dd命令的进程ID”可以看到复制的详细进度。 - 用xm delete删除现有虚拟机信息,然后用xm create命令,
在Xen下启动XP,看到的D盘空间如下:
![]() - 启动XP的命令行,执行diskpart命令,进入diskpart命令行提示符:
- C:\>diskpart
- Microsoft DiskPart version 5.1.3565
- Copyright (C) 1999-2003 Microsoft Corporation.
- Computer: XP01
- DISKPART> list volume
- Volume ### Ltr Label Fs Type Size Status Info
- ---------- --- ----------- ---- ---------- ------- --------- --------
- Volume 0 C NTFS Partition 19 GB healthy system
- Volume 1 D NTFS Partition 8001 MB healthy system
- DISKPART> select volume 1
- Volume 1 is now the selected volume.
- DISKPART> extend
- DiskPart Successfully extended Volume 1
- DISKPART> exit
- DISKPART>
复制代码 - 之后磁盘管理器下可以看到D盘的文件系统已经被扩展到大约18G
![]() - 最后关闭XP电源,修改domU配置文件,将disk的配置修改如下,然后用xm new文件添加新的domU,启动XP虚拟机,硬盘空间移植结束。
- disk = [ 'phy:/dev/disk/by-id/usb-I-O_DATA_HDPX-U.WP_00000026B676-0:0-part4,hda,w' ]
复制代码
如果有更简单方便的方法请介绍一下。
[ 本帖最后由 ports 于 2008-9-24 03:43 编辑 ]
|
|