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

时间:2023-02-04 16:33:31
出于各种需求,很多用户可能经常会在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盘中