出于各种需求,很多用户可能经常会在Windows系统中安装虚拟机,然后在虚拟机中安装Linux系统。使用虚拟机的优点是可以同时使用多个系统,而缺点也是显然的,也就是程序运行效率较差。
 
而实际上,Linux系统也可以完全安装到U盘中(注意这里不是用UltraISO、UNetBootin、Universal USB Installer那样的基于Live CD的安装,而是以在U盘中创建ext分区的方式进行安装)。顺便说一下,Windows系统(不包括PE)直到Windows 8才支持完全将系统安装到U盘上。
 
而一个更好的消息是:我们可以将安装在虚拟机中的Linux系统迁移到U盘中!安装到U盘之后,系统就能随时携带,随时使用了,当然电脑需要支持U盘引导系统。
 
顺便说一下,在使用最新的USB 3.0高速U盘的情况下,装在U盘中的系统运行还是比较流畅的,和普通的机械硬盘差不多。笔者最近一段时间使用的U盘都是 ADATA S102 PRO。
 
本文以 Ubuntu 10.04 / VirtualBox 4.2 环境为例讲解如何进行系统的迁移。
 
操作步骤

I. 在虚拟机中安装系统
 
1. 创建一个Virtual Box虚拟机,将硬盘容量设置为14.3G、固定容量,这样几乎所有的16G U盘都能装的下了
2. 载入虚拟光驱安装 Ubuntu 10.04,按照自己的喜好进行分区(笔者分别将8G和5G的分区挂载到了 / 和 /home,另留1G作swap分区)
3. 安装完系统后,升级内核至最新版
4. 安装各种需要的软件:vim、g++、gnome-mplayer、chromium-browser、compiz、emerald、texlive...
 
II. 使用dd创建整个硬盘的镜像文件
 
1. 首先关机
2. 使用VirtualBox创建一个新的虚拟硬盘
3. 使用Live CD启动系统,然后打开终端,使用cd进入到新硬盘挂载的目录下,输入以下命令:
sudo dd if=/dev/sda bs=4M | gzip > ubuntu-usb.disk.gz
 
III. 将创建得到的dd镜像写入U盘
 
1. 将准备好的16GU盘插到电脑上,并加载到虚拟机里,这里假设设备名为 /dev/sdc
2. 修改设备权限:
sudo chmod  /dev/sdc

3. 将dd压缩镜像写到U盘里(注意该步骤可能会持续一到两个小时,请耐心等待):

sudo gzip -dc ubuntu-usb.disk.gz | dd of=/dev/sdc bs=4M

4. 关闭虚拟机,重启主机,在开机时选择从U盘引导,这样就可以进入U盘中的Linux系统了

后记:笔者一直都有把Linux系统装到U盘里的习惯,本来安装的时候都是使用两块U盘:一块用来做Live CD安装盘,另一块用来做目标系统盘,然后用Live CD启动系统再安装。最近突然想到或许可以有一个更简单的方式:可以一边使用Windows做其它事一边装系统,等系统的配置工作都差不多了,再写到U盘里,于是就在实践这个想法的同时写下了这篇文章,而最后也成功了。至于为什么系统还是用10.04呢,其实这是Ubuntu最后一个基于Gnome 2的版本,桌面的主题支持很丰富,另外也可以使用 Compiz / Emerald,至于如果实在需要最新的软件,那么PPA或者自行编译也能解决问题。

最后放张图片留个纪念

[小技巧] 把虚拟机中的Linux系统安装到U盘中的更多相关文章

  1. 把虚拟机中的Linux系统安装到U盘中

    [小技巧] 把虚拟机中的Linux系统安装到U盘中 出于各种需求,很多用户可能经常会在Windows系统中安装虚拟机,然后在虚拟机中安装Linux系统.使用虚拟机的优点是可以同时使用多个系统,而缺点也 ...

  2. 【转】在VMware中为Linux系统安装VM-Tools的详解教程

    在VMware中为Linux系统安装VM-Tools的详解教程 如果大家打算在VMware虚拟机中安装Linux的话,那么在完成Linux的安装后,如果没有安装Vm-Tools的话,一部分功能将得不到 ...

  3. VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程

    VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...

  4. 1008win7与虚拟机中的linux共享文件的(详细)方法

    转自http://jingyan.baidu.com/article/ca00d56c74dde4e99eebcfd2.html 好东西一起分享 win7与虚拟机中的linux共享文件的(详细)方法 ...

  5. 用SSH登录局域网中使用网络设置为NAT的虚拟机中的linux

    环境描述: A客户机,安装有putty软件使用SSH方式登录B主机中的虚拟机中的linux:A机的网络地址:192.168.1.2 B主机为Windows7平台,B主机的网络地址为:192.168.1 ...

  6. 配置SecureCRT连接本地虚拟机中的Linux系统

    转自:http://www.pythoner.com/196.html 由于平时公司开发时都是使用SecureCRT连接的Linux服务器,所以也想使用SecureCRT在自己电脑上连接本地虚拟机中的 ...

  7. Hadoop开发第2期---虚拟机中搭建Linux

    注:关于如何将hadoop源码导入Eclipse详见http://pan.baidu.com/s/1hq8ArUs 一.Hadoop配置软件(我的电脑是Windows7旗舰--64bit) 1. VM ...

  8. 虚拟机中实现Linux与Windows之间的文件传输

    虚拟机中实现Linux与Windows之间的文件传输 标签: linux 2016年06月28日 11:17:37 2092人阅读 评论(0) 收藏 举报  分类: linux(2)    一.配置环 ...

  9. VMware虚拟机中为Linux 添加虚拟硬盘(VirtualBox方法类似)

    修改1:2014-06-24 11:38:21 Linux添加硬盘是在原来安装的硬盘空间不够或者需要使用其他硬盘上的东西时候的解决办法,因为大多数初学者习惯使用虚拟机,这里以在Vmware虚拟机中实现 ...

随机推荐

  1. Ftp实现文件同步

    通常在做服务器与服务器文件.服务器与本地文件同步时通过Ftp服务实现,下面就以服务器文件和本地同步为例,介绍一下Ftp同步文件:首先建立一个Ftp站点服务,基本身份验证登陆,端口号为默认的21:Ftp ...

  2. XShell连接 Linux系统,显示中文乱码

    摘要: Linux系统,中文显示乱码 XShell是一个强大的安全终端模拟软件,它支持SSH1, SSH2及 Microsoft Windows平台的Telnet NetSarang Xshell 4 ...

  3. BitmapFactory 加载图片到内存

    Bitmap占用内存分析 Android的虚拟机是基于寄存器的Dalvik,它的最大堆(单个进程可用内存)大小一般是16M,当然不同设备是不一样的,可以查看/system/build.prop文件,[ ...

  4. web前端技术

    在网上找了点前端资料,记录下来,以便后面工作可能用到. Flat UI:一个WEB界面工具组件库.很多漂亮的菜单.按钮等. stickUp:一个jquery插件,可以将页面中的元素固定.经常用在把菜单 ...

  5. (转)ASP.NET MVC 学习第一天

    天道酬勤0322   博客园 | 首页 | 发新随笔 | 发新文章 | 联系 | 订阅  | 管理 随笔:10 文章:0 评论:9 引用:0 ASP.NET MVC 学习第一天 今天开始第一天学习as ...

  6. 关于CSRF攻击及mvc中的解决方案 [ValidateAntiForgeryToken]

    http://blog.csdn.net/luck901229/article/details/8261640

  7. C#方法的重载

    方法的重载 参数不同,个数可以相同 参数相同,个数不能相同 static void Main(string[] arr) { Console.WriteLine(M(,)); Console.Read ...

  8. EC2.0开启多规格后,编辑无法获取规格数据

    我们其实一共碰到2个问题, 1. 一个是弹出了货品编辑画面,但是货品的明细没有2.有货品明细但是货品明细各个字段都是空的, 上面2种情况数据库都是有值的. 第一个问题解决方案: 修改html中的JS ...

  9. 重写Collections实现自定义排序

    Collections.sort(List<Object>, new Comparator<Object>() { public int compare(Object o1, ...

  10. GO语言练习ONE