qemu可以直接跑kernel和initrd, 我想,有没有办法让主机的Linux系统,不
用通过重新在虚拟机中安装,就做为一个虚拟机跑起来。
kernel和initrd都比较简单,我直接指定从kernel加载,并指定相应的initrd
就可以运行了:
/usr/bin/qemu -kernel '/boot/vmlinuz-2.6.28-17-generic' -initrd
'/boot/initrd.img-2.6.28-17-generic' -boot c -m 256 -hda
'/home/kermit/qemu/image' -net nic,vlan=0 -net user,vlan=0 -localtime &
Could not open '/dev/kqemu' - QEMU acceleration layer not activated: No
such file or directory
qemu: loading initrd (0x740e50 bytes) at 0x0f8af000
这个能够跑到:
[ 5.604010] ...trying to set up timer as Virtual Wire IRQ ...
然后停下来,暂时还没有找到原因。
请问,如果内核可以加载到initrd,那么有没有什么办法,能够把主机上的文件系
统做到qemu可以识别的镜像磁盘文件里面,这样在虚拟机中再跑一个主机的克隆版本?
Thanks
B.R
Kermit
停留在:
[ 5.756010] .. MP-BIOS bug: 8254 timer not connected to IO-APIC
另外,我不仅仅想在本机运行这个“克隆”的系统,我还想把我的系统作为一个qemu
镜像,拿到别的机器上运行,来让所有人能够在qemu中使用我现在的系统。
Thanks
B.R
Kermit
dd if=/dev/sda of=/your/qemu/image.img bs=1M
--
Live like a child, think like the god.
dd | gzip | nc
2010/2/4 Kermit Mei <kermi...@gmail.com>:
2010/2/4 机械唯物主义 : linjunhalida <linjun...@gmail.com>:
这是个很常用的技巧。
我担心的唯一问题是,你的image本身是否在/dev/sdXX,为了避免这种问题
你最好把输出的image放到另一个分区/硬盘上。很明显你应该知道这个。
难道/home/me/share下的内容也被生成进去了?
Thanks
��ʹӲ�̱����ǿյģ�����ɵ�image���д�룬Ȼ���ٱ�dd��ȡ����д�룬��
������ѭ����ô�� ����Ǻ���⡭��
лл��
Kermit
我不认为如此,读/dev/sdXX是从物理上进行读,而你挂载的smbfs/CIFS是软件上的,
也就是说物理上是不相关的。(我并没有看内核代码,只是感觉应该如此。)
这里有个地方我不是很理解:即便是插一个USB移动硬盘,也是挂在在/media/disk
目录下面,既然samba被复制进去了,难道 /media/disk就不会吗?
即使硬盘本身是空的,但生成的image会不断写入,然后再被dd读取,再写入,这
不就死循环了么? 这个不是很理解……