出于各种需求,很多用户可能经常会在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. 代码段编辑器SnippetEditor 2.1

    1.选择程序版本 2.可以创建文件夹 3.新建片段 4.给片段取名 5.双击进行编辑 6.点击保存 7.直接使用

  2. hdu 1042

    貌似之前也写过这个题目的解题报告...老了,记性不好 从贴一遍吧! 代码理解很容易 AC代码: #include <iostream> #include <stdio.h> # ...

  3. bootstrap table使用小记

    bootstrap table是一个非常不错的,基于bootstrap的插件,它扩展和丰富了bootstrap表格的操作,如格式化表格,表格选择器,表格工具栏,分页等等. 最近基于bootstrap开 ...

  4. (转)在Repeater中嵌套使用Repeater

    在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加 ...

  5. npm和gulp学习笔记

    原文链接:[gulpfile.js文件常见配置]

  6. javascript字符类型操作函数

    //获取字符串的长度 String.prototype.getByteLength = function() { var bytes=0,i=0; for (; i<this.length; + ...

  7. PHP学习系列(1)——字符串处理函数(1)

    从09年开始使用JAVA到现在差不多5年多了,然后由于即将要去的公司(研究僧终于要毕业了!)是使用PHP,Python作为后台开发语言的,所以要开始一段双P的学习旅程.用过PHP的都说这是很简单的一门 ...

  8. 前端开发攻城师绝对不可忽视的五个HTML5新特性

    HTML5已经火了一段时间了,相信作为web相关开发工程师,肯定或多或少的了解和尝试过一些HTML5的特性和编程.还记得以前我们介绍过的HTML5新标签. 作为未来前端开发技术的潮流和风向标,HTML ...

  9. linux 下进程状态及进程控制

    系统状态检测及进程控制1,/proc 是系统的一个窗户,可以透视内核2,建议将hosts里localhost,locahost.locadomain 解析为127.0.0.1 把系统域名解决为局域网的 ...

  10. C#文本文件导入数据库

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windo ...