linux克隆硬盘?mount命令挂载硬盘

大家好,今天来为大家分享linux克隆硬盘的一些知识点,和mount命令挂载硬盘的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

LINUX能不能用GHOST来克隆

linux下是无法使用ghost的.

因为ghost只能识别很少的老旧Linux文件系统,也无法识别grub和LILO等引导加载程序。

Linux下也有ghost工具,最著名的有g4l—ghostForLinux。

如果是整个磁盘的复制和恢复,还算简单。但是,没办法实现对一个或者几个分区的恢复。

一条dd命令就可以实现任意复杂的镜像复制和恢复的需求了.grub,还是ext4,btrfs,FAT32,NTFS...都可以支持。

进入Linux操作系统,打开命令行,执行如下命令:

sudo fdisk-u-l

可以查看所有磁盘上的所有分区的尺寸和布局情况。

-u,让start和end中数字的单位是512字节,也就是一个sector扇区的大小。

假设我有一个/dev/sda磁盘,有100GB大小。我安装了一个Ubuntu操作系统。使用了如下分区:

/dev/sda1 5GB

/dev/sda2 1GB扩展分区

/dev/sda5 1GB扩展分区

/dev/sda2是所有扩展分区,它的大小和/dev/sda5重合。

/dev/sda1是ext4格式的文件系统。用于安装ubuntu操作系统。

/dev/sda5是swap格式的文件系统,作为交换分区。

这里,可以使用一条dd命令就生成6GB的镜像。然后可以在任意硬盘大于6GB的计算机上恢复出完整的系统,包括MBR和3个分区sda1,sda2,sda5。

具体步骤

找一个U盘,安装UbuntuLive Cd系统。【具体如何制作U盘启动的UbuntuLive CD,可以参考Ubuntu官方网站的帮助。】

UbuntuLive Cd和WindowsPE系统类似,是光盘/U盘引导的Ubuntu操作系统,不需要安装就可以直接使用。

U盘启动,进入盘上的Ubuntu系统,打开命令行,执行:

sudo fdisk-u-l/dev/sda

查看硬件的分区情况。

然后执行:

dd bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sda of=/ghost.img

这样,就可以把我需要的分区数据全部copy到ghost.img文件中。镜像制作完成了!

然后,我们就可以把U盘插到其他系统上,用U盘启动,进入UbuntuLiveCD,打开命令行,执行如下命令:

dd if=/ghost.img of=/dev/sda

完成后,拔掉U盘,启动计算机,就可以看到我们的Linux系统已经安装完毕了!

注意:

不要直接在计算机上用本地磁盘启动系统后执行dd命令生成本地磁盘的镜像。而应该使用livecd启动计算机。

因此计算机运行时会对系统盘产生大量写操作。直接对运行中的系统盘生成的镜像,在恢复到其他硬盘上时,很可能会无法启动!

一样适用于非Linux操作系统

在linux上用dd命令实现系统镜像备份和恢复,是不是很简单呢?

对于Windows系统,甚至Mac等等任意系统,其实都可以用dd命令实现系统镜像的备份和恢复。

因为,Linux的fdisk命令能够识别任意系统下的分区格式。fdisk并不关系分区上的文件系统,甚至有无文件系统都不关心。fdisk总是可以报告分区占用了哪些扇区。

dd命令也不关心磁盘的文件系统格式,它只是简单地按照要求从指定的位置,复制多少字节数据而已。

dd命令实现镜像备份和恢复,比Ghost软件简单和强大多了。使用ghost软件,依然需要用户进行复杂而危险的磁盘分区操作。

而使用fdisk和dd这两条命令,一切都免了!

压缩和解压缩

可能我们需要备份的分区很大,使用dd命令生成的镜像文件也就很大。存储和传输这些镜像不太方便。我们也可以使用压缩程序压缩生成的镜像文件。这里,我选择使用gzip程序,配合dd命令一起使用。

gzip参数:

-c表示输出到stdout

-d表示解压缩

-1表示最快压缩

-9表示最好压缩

默认使用的是-6压缩级别。

要使用 dd和 gzip生成压缩的镜像文件,可以执行命令:# dd bs=512

count=[fdisk命令中最大的end数+1] if=/dev/sda| gzip-6>/ghost.img.gz

还原时,可以执行下列命令:# gzip-dc/ghost.img.gz.gz| dd of=/dev/sda

提醒:

如果你把镜像恢复到另一台计算机上,你可能会发现你的网卡是eth1,而不是eth0。这是因为

/etc/udev/rules.d/70-persistent-net.rules文件把你做镜像的计算机的网卡作为eth0登记了。

如果你的网络脚本对eth0进行了处理,而没有对eth1进行处理,那么不修改网络脚本,你可能就无法上网了。

也许你会希望在做镜像之前,先删除/etc/udev/rules.d/70-persistent-net.rules文件。这样你恢复镜像时,网卡的名字就是eth0。就不会造成你在恢复后的计算机上无法上网的问题了。

注意:

最好在dd生成镜像之前,先umount所有 if和of设备的分区。这样可以确保在dd的过程中文件系统没有被改变。

在完成dd(生成镜像和恢复镜像)后,执行sudo sync,确保数据被真正写入到硬盘上。

另外,如果你想要对整个硬盘进行备份和恢复,而不是只备份和恢复部分分区,那么就请把dd命令中的 count=[fdisk命令中最大的end数+1]去掉。bs=512也可以去掉。

Linux如何全盘克隆

Linux如何全盘克隆?

在Linux系统中,可以使用dd命令进行全盘克隆。具体步骤如下:

1.准备一个空白的硬盘或者U盘,确保其容量大于要克隆的硬盘容量。

2.在Linux系统中打开终端,使用以下命令查看要克隆的硬盘的设备名称: ``` sudo fdisk-l ```找到要克隆的硬盘的设备名称,如/dev/sda。

3.使用以下命令进行全盘克隆: ``` sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync ```其中,if表示输入文件,即要克隆的硬盘;of表示输出文件,即空白的硬盘或U盘;bs表示块大小,可以根据需要进行调整;conv=noerror,sync表示在出现错误时跳过错误并保持同步。

4.等待克隆完成,这可能需要一些时间,具体时间取决于硬盘容量和计算机性能。

5.克隆完成后,可以将新的硬盘或U盘插入另一台计算机中,即可使用与原始硬盘相同的操作系统和数据。需要注意的是,全盘克隆是一项风险较高的操作,如果操作不当可能会导致数据丢失或系统崩溃。因此,在进行全盘克隆之前,建议备份重要数据,并谨慎操作。

把整个Linux系统迁移到另一个硬盘

原来机械硬盘是msdos分区表,新固态硬盘是gpt分区表,数据大小在100GB以内,所以使用 dd命令迁移。

我系统都是只装在一个分区中,所以直接在 root模式下执行迁移:

大概一个小时就迁移完成了。

这里要注意的是拷贝的源和目标分别是/dev/sda1和/dev/sdb1这两个分区,而不是/dev/sda和/dev/sdb这两个硬盘名称。

最后更新一下硬盘信息(不然显示的大小信息等还是旧硬盘的信息):

dd工具会将 uuid也一起拷贝,所以拷贝完成之后,只要将旧的硬盘拆卸下来,替换上新的硬盘,不用修改/etc/fstab文件,就能按照你以前的设置自动挂载。

重新启动电脑,顺便修改下Grub,因为莫名其妙出现了一个error问题(具体忘了,上午的事)。

修改文件/etc/default/grub:

最后更新一下:

阅读剩余
THE END