[小技巧] 把虚拟机中的Linux系统安装到U盘中

出于各种需求,很多用户可能经常会在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 777 /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盘中

    出于各种需求,很多用户可能经常会在Windows系统中安装虚拟机,然后在虚拟机中安装Linux系统.使用虚拟机的优点是可以同时使用多个系统,而缺点也是显然的,也就是程序运行效率较差.   而实际上,L ...

  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. IE6下jquery ajax报error的原因

    用jquery ajax()方法,在其他浏览都通过,IE7以上都通过,唯独在ie6不行. 我这边的解决方案是:必须保证ajax里面的所有数字为小写,ie6对大小写敏感. 错误: $.ajax({ ur ...

  2. 从.net复制源代码中国农历阵列,必要做日历

    从.net复制源代码中国农历阵列,必要做日历 const { 闰月的月份.春节的阳历日期(农历正月初一).农历的每一个月天数 } c_arrLunarInfo: array [1900 .. 2100 ...

  3. 我的vi/vim配置文件

    位于/etc/vim/的vimrc " All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by & ...

  4. CSS知识点:清除浮动

    开场白 我们平时工作中,很容易遇到浮动效果.一个DIV中嵌套多个DIV,左边显示一个DIV,右边显示一个DIV,外层DIV的高度随着内层内容的高度变化.这就是最基本的浮动效果.下图的百度搜索结果就是一 ...

  5. redmine的邮件配置

    redmine的邮件配置 2012-01-04 18:09:21|  分类: 默认分类|举报|字号 订阅     redmine里要用到邮件通知,本来以为很是简单,网上也有许多教程,谁知忙活了一下午, ...

  6. linux sar 命令详解(转载)

    linux sar 命令详解 2013-04-01 11:05 [小 大] 来源: 开源中国社区 评论: 0 分享至: 百度权重查询 词库网 网站监控 服务器监控 SEO监控 手机游戏 iPhone游 ...

  7. CSS3中文手册基础知识

    CSS3手册是学习CSS3的最佳文档,不管是自己写博客,还是买书,手册少不了.今天我给大家介绍一些CSS3有哪些分类及其使用. 具体参考:http://caibaojian.com/css3/ 上来进 ...

  8. GIT+云盘作 做 文档管理工具

    GIT+云盘作 做 文档管理工具 在工作中, 会遇到公司的文档 和 自己家里的 文档进行同步的问题, 通常我们使用U盘作为传输节制, 但是不是非常好,文档的改动都不能发现, 导致回家同步的时候, 出各 ...

  9. 玩转python之测试一个对象是否是类字符串

    提到类型测试,我首先想到python中“鸭子类型”的特点,所谓鸭子类型,即如果它走路像鸭子,叫声也像鸭子, 那么对于我们的应用而言,就可以认为它是鸭子了!这一切都是为了功能复用. 我们总是需要测试一个 ...

  10. 3 MySQL SQL基础

    目录 1. SQL概述2. 数据库操作3. 表操作4. 记录操作 1. SQL概述 SQL,结构化查询语言(Structured Query Language),一种数据库查询和程序设计语言,用于存取 ...