歡迎您光臨本站 註冊首頁

Xen虛擬環境下擴展XP系統盤空間的方法,也可以適用於普通DOS/V主機

寫了一篇小文章,關於在虛擬環境下擴展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的配置文件如下:
# 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分鐘。# 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盤空間如下:
http://blog.lalacafe.com/wp-content/uploads/2008/09/xp01-300x200.png[*]啟動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
http://blog.lalacafe.com/wp-content/uploads/2008/09/xp02-300x200.png[*]最後關閉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 編輯 ]
《解決方案》

回復 #1 ports 的帖子

好東西,虛擬化學習一下,不過還是很佔用資源的

[火星人 ] Xen虛擬環境下擴展XP系統盤空間的方法,也可以適用於普通DOS/V主機已經有1010次圍觀

http://coctec.com/docs/service/show-post-7074.html