我拿起了一个HP Simplesave外置驱动器。它带有一些对我没有用的花哨的软件,因为我不使用 Windows。与当前许多面向消费者的备份驱动器一样,备份软件实际上包含在驱动器本身中。我想保存驱动器的初始状态,以便在我决定出售时可以恢复它。
备份盒本身有点定制:除了硬盘驱动器设备外,它在/dev/sr0. 我认为这个 cdrom 设备的目的是通过 Windows 自动播放位于磁盘本身的备份应用程序进行引导。我不认为它是如何做到这一点的任何保证,因此保留磁盘的确切状态似乎很重要。
该驱动器被格式化为一个 500GB 的 NTFS 分区。
我最初的想法是用来dd转储磁盘 ( /dev/sdb) 本身,但事实证明这是不切实际的,因为生成的文件并不稀疏。这似乎是因为 NTFS 空白空间不是用零填充,而是用 16 个字节的重复序列填充。
我尝试 gzip 输出dd. 这将文件缩小到可管理的大小——第一个 18GB 被压缩到 81MB,而 47MB 用于压缩已安装文件系统的内容——但是在我公认的有点废弃的 Pentium M 处理器上它非常慢。完成第一个 18GB 的时间大约是 30 分钟。
所以我不得不分别转储磁盘状态和分区数据。
我已经转储了分区状态
sfdisk -d /dev/sdb > sfdisk.-d.out
Run Code Online (Sandbox Code Playgroud)我还创建了 NTFS 分区(磁盘上唯一的一个)的压缩映像
ntfsclone --save-image --output - /dev/sdb1 | gzip -c > ntfsclone.img.gz
Run Code Online (Sandbox Code Playgroud)还有什么我应该做的,以确保我可以恢复驱动器的精确原始状态?
我希望使用嵌入式 Linux 发行版(例如 Tiny Core)作为自动恢复类型工具。
基本上,用户会选择从启动菜单启动到 Tiny Core,然后如果插入的 USB 包含驱动器的幻影类型映像(它将包含一个唯一的 UUID,udev 规则将检测到它,然后它才会开始映像),它将恢复整个硬盘驱动器。现在我的问题是找到一个像 Ghost for Linux 这样的实用程序来进行映像。
关于 Ghost 最好的部分是
dd由于这个原因显然不是一个选项,它复制驱动器的每个扇区并且它没有动态调整大小的能力,因此如果由于某种原因目标驱动器甚至比源驱动器小 1 个字节,它也会失败。partimage有类似的问题。
CloneZilla 是我见过的唯一一款强大到足以执行此类操作的 Linux 工具,但显然它是自己的发行版,无法集成到 Linux 发行版中。由于 CloneZilla 只是一组低级工具,有人知道它实际上是如何克隆硬盘的吗?
做这样的事情的最佳方法是什么?多年来,我一直在寻找有关此问题的答案,但仍未找到可靠的解决方案。'直到今天,我们使用古老版本的 Ghost,因为它可以完美地映像我们需要的任何内容,但我们希望摆脱专有工具和 DOS,转向开源解决方案。
我有一个 500GB 的外置硬盘,我需要拯救其中的内容。不幸的是,我只有两个 400GB 的分区来保存内容。我可以将磁盘映像拆分为:
~$ cd /mnt/part1/Recovery/
/mnt/part1/Recovery/$ ddrescue -f -n -i0 -s250...00 /dev/disk disk.part1.ddraw disk.part1.log
/mnt/part1/Recovery/$ cd /mnt/part2/Recovery/
/mnt/part2/Recovery/$ ddrescue -f -n -i250...00 /dev/disk disk.part2.ddraw disk.part2.log
Run Code Online (Sandbox Code Playgroud)
(为方便起见,数字值缺少几个零)。也就是说,我可以使用-i和-s标志手动将磁盘映像分成两部分吗?
其次,有没有办法可以将图像的两个部分安装为一个?
我在我的计算机上设置了一个 Apache 2 服务器,用于本地测试。需要明确的是,它不是在互联网上托管网站。它仅用于本地调试和设计。
我使用的是 Ubuntu Linux,但现在我有一台使用 Linux Mint 的新计算机。我想要做的是获取我在旧 Ubuntu 机器上拥有的所有 Apache 站点和设置,并在新的 Linux Mint 机器上复制它们。
我只知道如何手动执行此操作,一次一个站点,从头开始。为目录中的每个站点创建一个文件sites-available并使用a2ensite. 然后对任何配置文件进行编辑,例如在我的php.ini文件中添加一些行以启用 Xdebug,并希望我没有遗漏任何内容。
我确信我这样做的效率很低,而且很容易出现人为错误。
是否不可能以某种方式在我的 Ubuntu 机器上复制整个 Apache 2 设置和站点,然后一次性将它们放在我的 Linux Mint 机器上?或者至少,以最少的步骤重新创建每个站点并从头开始设置?
请注意,我更像是一名设计师而不是管理员,所以请假设我对 Linux 命令和服务器设置的了解很少。
我已经使用 备份了一个分区sudo dd bs=8M if=/dev/sda2 | gzip > /someFolderOnSDB/sda2.img.gz。
图像存储在单独的磁盘上sdb。当使用 恢复它时gunzip -k /mnt/bkp/sda2.img.gz | sudo dd of=/dev/sda2,我注意到图像被解压缩到someFolderOnSDBgz 文件所在的文件夹中,并且我认为同时被写入ddto sda2。
我不想要这样。我希望解压缩发生在内存中,而不是在内存中,sdb并且解压缩的部分直接sda写入dd.
解压后的镜像大小为 300GB。我考虑过使用tee或/和重定向运算符>,但不确定如何使用。
我有一个 32GB 的 SD 卡,其中包含一些 pi 小工具的 Armbian 安装。我想将内容克隆到 16GB 卡中。使用 GParted,我将分区缩小到小于 16GB,这里是 SD 卡的状态,如 中所示fdisk。有2个分区,一个是Armbian,一个是FAT32小分区,用来和windows共享文件。
Disk /dev/sdk: 29,74 GiB, 31914983424 bytes, 62333952 sectors
Disk model: USB3.0 CRW-SD/MS
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x22563e30
Device Boot Start End Sectors Size Id Type
/dev/sdk1 8192 25690111 25681920 12,3G 83 Linux
/dev/sdk2 25690112 26509311 819200 …Run Code Online (Sandbox Code Playgroud) 假设我不小心跑了sudo dd if=/dev/sda of=/dev/sda而不是sudo dd if=/dev/sda of=/dev/sdb
而且我不想等待 500gb 操作完成才知道我是否破坏了系统。
有谁知道结果会是什么,所以我可以安静地等待它完成,或者只是中断它并从全新安装开始这么长时间?
编辑:这是结果输出
$ time sudo dd if=/dev/sda of=/dev/sda bs=64K conv=sync,noerror status=progress
512001769472 bytes (512 GB, 477 GiB) copied, 9084 s, 56.4 MB/s
dd: error writing '/dev/sda': No space left on device
7814181+1 records in
7814181+0 records out
512110190592 bytes (512 GB, 477 GiB) copied, 9088.72 s, 56.3 MB/s
real 151m28.774s
user 0m28.459s
sys 5m33.146s
Run Code Online (Sandbox Code Playgroud) 已为 Raspberry pi 配置了 SD 卡。目标是精确复制 SD 卡(操作系统、应用程序、数据),以便副本在 rPi 中的功能与原始 \ 主 SD 卡完全相同。
更新:假设:
带有 SD 卡插槽和 USB SD 卡读卡器/写卡器的 Ubuntu HP 笔记本电脑有哪些 UNIX 克隆选项可用。
USB SD卡RW是读卡器还是写卡器有区别吗?
一个目标(约束)是避免购买额外的硬件。
date; sudo sh -c 'cat sdcard.image >/dev/mmcblk0'; date
Run Code Online (Sandbox Code Playgroud)
Mon Jun 3 17:53:18 EDT 2019 [sudo] 用户密码:Mon Jun 3 23:42:17 EDT 2019
date; sudo sh -c 'pv sdcard.image >/dev/mmcblk0'; date
Run Code Online (Sandbox Code Playgroud)
Tue Jun 4 00:33:50 EDT 2019 [sudo] …
如果我克隆一个分区(我可以使用dd命令或 clonezilla 软件或任何东西),ext4格式为分区xfs格式:
我会有任何问题/错误吗?
结果数据/分区将被ext4或xfs格式化?
我有一个 gpt 分区的驱动器,最后有未分区的空间,我使用 dd 将它克隆到另一个较小的驱动器。不幸的是,Linux 不会看到克隆驱动器上的分区。
我的理解是 GPT 有两个分区表副本,在 MBR 表之后开始的主副本和末尾的辅助副本。因此应该可以修复克隆驱动器上的分区,如果可以使用任何工具来执行此操作?
一切都在我的串口上工作。我已经将我的 FTDI 转换器连接到我的电脑,设置我的 COM 端口......
ln -s /dev/ttyUSB0 ~/wine/dosdevices/COM1
但现在我想“克隆”这个端口。
我正在使用 wine 来运行 u-center 一个 GPS 可视化工具,我有一台运行 Ubuntu 的 Linux 计算机
谁能帮忙?