13

linux下创建可引导的U盘系统,使用dd命令进行Linux的ghost

 3 years ago
source link: https://blog.csdn.net/yanxiangtianji/article/details/26396781
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

linux下创建可引导的U盘系统,使用dd命令进行Linux的ghost

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

1.0,格式化U盘为FAT32格式

linux下可以使用命令:

mkfs.vfat U盘的设备路径

mkfs.vfat /dev/sdb

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

扩展:mkfs命令用法:以特定文件系统格式化分区,文件系统通过直接在命令后面加点和文件系统名来指定(命令行下可以通过双击Tab键来查看当前系统都支持创建那些类型的文件系统)

mkfs.vfat ->创建fat32分区

mkfs.ntfs ->创建ntfs分区

mkfs.ext2 ->创建ext2分区

mkfs.ext4 ->创建ext4分区

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

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

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

1.2,使用工具

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

这里推荐UNetBootin,它是一个跨平台的开源小工具,界面很友好,这里不赘述了。(2014年6月11日发布的“深度启动盘制作工具”的后端使用的就是UNetBootin)

http://unetbootin.sourceforge.net/

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

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

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

2,创建与恢复磁盘镜像

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

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

2.0,使用U盘/光盘引导一个操作系统

虽然理论上可以不这样做,而直接使用硬盘中的操作系统制作镜像,但是这种用法仅局限于备份非关键位置分区。具体来说:(1)如果要创建一个关于操作系统的镜像,在创建镜像的时候如果系统的某个关键文件正好处于一个不稳定的状态,你创建出来的镜像在其他机器上可能启动不了。(2)另一种常见的问题是,需要创建的镜像是针对整个磁盘的而不是对某个分区的,那么显然不能让输出的镜像文件位于正在被备份的本地磁盘上。

所以理论上还可以选择将要操作(备份/还原)的磁盘挂载再另一台机器上,作为从盘来操作。

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小,看需求决定。

博主实测表明:不压缩创建的镜像大小为磁盘大小。。。。。必须压缩

博主的一次实验:
压缩BS值速度(M/s)-128K284gzip128K113gzip512K120gzip1M130gzip10M128

机器各有差异,这里的具体数据可能不具有太大的参考价值,只是想以此简单说明一下压缩与否和bs值对于速度的影响情况。

结论:建议采用1M或2M作为bs值,太小速度慢,太大没意义。

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 文件(博主注:这个文件记录pci设备标示与显示的设备名称的关系,启动时自动检测,若不存在会自动根据当前设备连接情况生成新的对应文件,可以放心大胆删除)。这样你恢复镜像时,网卡的名字就是eth0(博主注:如果你的设备有不只一块网卡,那么对于某些情况还是需要手动调整)。就不会造成你在恢复后的计算机上无法上网的问题了。


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK