首页 > 代码库 > 创建可引导的U盘系统,及dd命令进行Linux的ghost

创建可引导的U盘系统,及dd命令进行Linux的ghost

1,通过iso创建可引导的U盘系统。

1.0,格式化U盘为FAT32格式

linux下可以使用命令

mkfs.vfat U盘的设备路径

例如:

mkfs.vfat /dev/sdb

其中U盘的路径可以通过命令df来查看

1.1,最简单的方法(但有些情况会失败,而且U盘不能再放其他文件,需要格式化后才能再使用):

dd if=ISO的路径 of=U盘的设备路径

例如:

dd if=CentOS-6.5-LiveDVD.iso of=/dev/sdb4

1.2,使用工具

很多工具都可以完成这个工作,Windows下的UltraISO就可以,感谢王涛,你懂的。

这里推荐UNetBootin,它是一个跨平台的开源小工具,界面很友好,这里不赘述了。

http://unetbootin.sourceforge.net/

这类工具一般要求

1.3,通过iso引导或安装系统

重启机器,选择使用USB设备引导。

如果写入的是一个Live系统(类似WinPE),那么就可以引导一个光盘/U盘系统。


2,创建磁盘镜像

有时候需要大规模安装一样的系统(如安装hadoop机群),一个机器一个机器的安装配置明显不现实,可以在一台机器上装好配置好,然后创建镜像,在其他机器上直接导出镜像就可以了。

可以使用第三方工具Ghost4Linux,但是它功能很受限制,有时候会失效,这里介绍如何使用linux内置命令dd来完成这个任务。

2.0,使用U盘/光盘启动一个系统

理论上可以不这样做,而直接使用硬盘系统制作镜像,但是在创建镜像的时候如果系统关键文件正好处于一个不稳定的状态,你创建出来的镜像在其他机器上可能启动不了。

2.1,创建镜像

创建镜像并写入U盘上的某个文件

sudo dd bs=BYTES if=输入磁盘 of=输出文件

例如:

sudo dd bs=128K if=/dev/sda1 of=ghost.img

其中bs参数表示一次操作多少个字节,默认是512字节,适当大一点可以提高效率,但是需要注意最好是512的倍数,因为磁盘读写的最小单位是扇区,而一个扇区是512字节。具体参数可以使用命令dd --help来查看,个人最重要的就是“K=1024,KB=1000”

2.1.1,压缩镜像

如果镜像很大,可以考虑压缩,可以创建后使用tar压缩,也可以创建时压缩。

sudo dd bs=128K if=/dev/sda1 | gzip > ghost.img.gz

sudo dd bs=128K if=/dev/sda1 | bzip2 > ghost.img.bz2

gzip快,bzip2小,看需求决定。

2.2,恢复镜像

用U盘/光盘启动其他机器,将镜像写入。

sudo dd bs=128K if=ghost.img of=/dev/sda1

2.2.1,恢复压缩镜像

当然可以现解压再按照上面的方法来做,还可以一遍解压一遍写入:

gzip -dc ghost.img.gz | dd bs=128K of=/dev/sda1

bzcat ghost.img.bz2 | dd bs=128K of=/dev/sda1



原载于http://blog.csdn.net/yanxiangtianji

转载请注明出处



以下来自:http://blog.csdn.net/shendl/article/details/7384755

提醒:
       如果你把镜像恢复到另一台计算机上,你可能会发现你的网卡是eth1,而不是eth0。这是因为
/etc/udev/rules.d/70-persistent-net.rules   文件把你做镜像的计算机的网卡作为eth0登记了。  
     如果你的网络脚本对eth0进行了处理,而没有对eth1进行处理,那么不修改网络脚本,你可能就无法上网了。
    也许你会希望在做镜像之前,先删除 /etc/udev/rules.d/70-persistent-net.rules 文件。这样你恢复镜像时,网卡的名字就是eth0。   就不会造成你在恢复后的计算机上无法上网的问题了。