2008年2月18日星期一

VMware使用物理硬盘来启动已安装的Linux系统

看了些文章: <<一种穷人利用vmware玩FreeBSD的方法>>
"1)要做很大工作量的东西,用真实机器开FreeBSD。
2)当要用windows做些东西的时候用vmware开FreeBSD。
但是这两种情况都是用同一份FreeBSD",这就是我想要的, 文中更提到 "注意一定要第一个硬盘" ,有点不解."因为,如果从真实的物理硬盘(phisical hardisk)启动,该物理磁盘必须是要接在主盘。"vmware手册还在翻. http://www.freebsdchina.org/foru%20...%20mp;highlight=vmware

<<虚拟与现实的完美结合>> 这篇文章的主要思想是不同的VMware虚拟机可以通过共享虚拟机硬盘文件,可以建立配置不同的虚拟机(比如网络不同) 和我要的效果有点不.
http://fanqiang.chinaunix.net/adm/net/2005-03-17/2941.shtml
觉的VMware的使用物理硬盘功能是个很好的方法。
特别对我现在的情况是很有帮助的。
我现在的状态(学习需要):
真实机器安装了windows xp 和 RHEL5+oracle+其他服务器.
同时又在windows下装VMware里面装了RHEL5+oracle+其他服务器:
为了开发和调试方便。 现在我就有了两份RHEL5+oracle+其他服务器. 又占空间又同步麻烦。
如果我能用vmware去启动我的物理RHEL, 同时又可以使用oracle等服务,那就很完美了。
现在是初步目的,wmware能启动RHEL.也不用启动X-window,跑level3就可以了。 因为物理机器很vmware硬件的不同,可能在启动中和使用中会碰到很多问题,不知道有没有人有这方面经验(可能对linux的掌握要求更多)。也许需要有个新的内核和另外一套配置。这样物理RHEL启动用一套,vmware来启动用另一套。

目的:
在虚拟机VMware中启动原来物理安装的Linux.系统描述:两块IDE硬盘,硬盘1分了3个区,C盘装了Windows XP, 硬盘2也分了几个区,其中1个是FAT32,放windows下数据的,剩下的装了个RHEL5.启动相关信息:RHEL5 分区比较简单, /boot没有特别分区, GRUB装在 /hdb1 (第二块硬盘第一主分区,这就是我开始的问题所在), 用dd命令( dd if=/dev/hdb1 of=/mnt/file/rhel5.lnx bs=512 count=1) rhel5.lnx 用windows os loader 引导(在boot.ini中添加).
下面是我的尝试:一开始vmware建立个虚拟机,在选硬盘是选择使用整个硬盘(硬盘2),启动vmware,屏幕卡在GRUB _ 一开始我以为是grub背景图得不到,去掉背景后还是不行.在看VMware手册时看到,vmware启动先去看MBR, 现在我把硬盘2给vmware用,在vmware看来,它有个硬盘,但是这个硬盘的MBR是空的. 为了测试是否就是它引起的,我重启进BIOS把硬盘2改为第一启动,硬盘1不启动.重启发现屏幕卡在GRUB _. 确定了问题所在. 接下去就看我怎么做吧.
下面是我的做法:不是很完美,但是目前我的目的已经达到了.根据VMware 文档描述, 使用物理硬盘是比较危险的,大家不清楚不要轻易尝试,要记得备份数据.为了避免不必要的问题. 我先把硬盘2里的FAT32分区在windows中删除(不会删数据),我的电脑右键-->管理-->磁盘管理 选中分区 右键"更改驱动器名和路径"再"删除".真实启动到RHEL5,grub-install /dev/hdb (将GRUB装到硬盘2 BMR,原来是装在/dev/hdb1).
修改/etc/inittab ,run level改为3,不启动X-window,因为原来的显卡驱动在vmware下肯定用不了.id:5:initdefault: 改为 id:3:initdefault:
添加一个入口在grub.conf (menu.lst). 原来:
title Red Hat Enterprise Linux Server (2.6.18-8.e15)
root (hd1,0)
kernel /boot/vmlinux-2.6.18-8.e15 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.18-8.e15.img
添加( root (hd0,0) 因为VMware认为其硬盘是在主硬盘处的):
title Red Hat Enterprise Linux Server (2.6.18-8.e15) start in vmware
root (hd0,0)
kernel /boot/vmlinux-2.6.18-8.e15 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.18-8.e15.img
确定/etc/fstab没有挂载其他硬盘分区.
重启, 修改BIOS,设置第一启动为硬盘2,重启出现GRUB菜单(不再卡在GRUB_),确认GRUB安装是正确的.
现在可以进入windows,新建虚拟机,选择使用整个硬盘2. 启动,出现grub菜单,选择 Red Hat Enterprise Linux Server (2.6.18-8.e15) start in vmware 就可以进入.
Ok. 这样就可以虚拟机内使用原来安装在硬盘2上的linux上了.

接下去要做的和目前的不足:
1.现在想要物理启动硬盘2上的linux就需要改BIOS设置了.
2.vmware下现在还不能启动X-window.
至少因为虚拟机下的显卡和真实显卡不一样,真实机器已装了nvidia的启动.需要X-window暂时解决方法可以在 Host OS中开X (比如Xmanager).
3.硬盘2的linux分了很多区,怎么办. fstab在真实和虚假间需要不同.暂时解决方法:手动挂载
4.根据别人的提示,网卡将会有两套。一个真实的一个vmware虚拟的。这应该也是个问题。
其实完美的解决方案就是在grub那里,如果不同titile的grub入口通过不同参数的指定可以调用不同Xorg配置,fstab配置等等. 改天再看看grub的参数.(如好像 grub 有个 init=/sbin/init 的参数,重新写一份init给vmware用,来使用vmware下的xorg和fstab 等等)

回国科学上网姿势 软路由 通过apple私有Mac地址动态切换

回国科学上网姿势 软路由 通过apple私有Mac地址动态切换 断断续续的尝试了很多科学上网方式,自己搭VPS,家里路由器也升级了好几次,都是为了能装可以跑科学上网的固件,但是最大的问题是性能都一般,速度也不是很稳定。 最近软路由被提到较多,最吸引人的是可以达的速度非常高,可以看...