我正在尝试使用 dd 的 Windows 版本将 RHEL iso 复制到 USB 记忆棒。但是,我想先将驱动器清零,以确保在写出之前没有文件系统。在 Windows 中是否有等效的 /dev/zero 可以用作 infile?
我正在清理驱动器dd。它是一个 USB 设备,容量为 120GB,并且需要很长时间:
dd if=/dev/zero of=/dev/da0 bs=1M status=progress
Run Code Online (Sandbox Code Playgroud)
我尝试过调整块大小(较小和较大的值等) bs=4M,bs=8M但似乎没有什么区别。它的写作速度7000 kB/s慢得令人痛苦。
我不关心“安全”擦除数据,我只是想擦除它,这样我就可以从头开始重新建立分区结构和文件系统。是否有另一种方法(使用标准实用程序)可以针对此类情况执行快速(一两分钟内)擦除?我正在使用的设备是 FreeBSD,但我认为 dd 命令(和 gpart 等)在它和 Linux 之间的工作方式类似。
我创建了一个故障驱动器的图像:
dd if=/dev/sde of=/mnt/image001.dd
Run Code Online (Sandbox Code Playgroud)
该驱动器只有两个分区:
Device Boot Start End Blocks Id System
/dev/sde1 * 1 13 102400 7 HPFS/NTFS
/dev/sde2 13 60802 488282112 7 HPFS/NTFS
Run Code Online (Sandbox Code Playgroud)
如何将映像 (image001.dd) 拆分为两个或三个文件(1:MBR;2:分区 1;3:分区 2)以便我可以在其中安装文件系统?
我发现一个对我不起作用的解决方案是使用split创建许多 512K 文件,然后将cat它们重新组合成三个文件(1:512K、2:105M、3:其余的),但我没有磁盘空间。
历史:
我已经将整个映像复制到一个新驱动器,它可以启动并且大部分工作正常。似乎 FS 在旧的故障驱动器dd上已损坏,并复制了损坏的部分(应该如此),然后我将它们写入新驱动器。我的解决方案是挂载我复制的 FS,然后只复制文件(使用rsync或其他东西),这样希望我不会复制坏的位。
更新 1:我试过dd if=/mnt/image001.dd of=/mnt/image001.part1.dd bs=512 count=204800 skip=1但mount抱怨NTFS signature is missing,所以我认为我没有做对。
我正在从硬盘进行一些数据恢复。磁盘上有大约 300GB 的数据,但我缺少另一个具有 300GB 可用空间的硬盘驱动器。
我有 3 个 HD,分别有 150、40 和 120 GB 的可用空间。
为了创建第一个块,我正在考虑执行以下操作:
sudo dd if=/dev/sdf1 bs=4096 count=150G | gzip > img1.gz
Run Code Online (Sandbox Code Playgroud)
我应该在其他机器上运行什么来“从我离开的地方开始”?
在我的 SSD 映像(源和目标是 2 个 SSD)上,我使用 CloneZilla 获得了 12GBpm,而使用 dd 时我只能获得 5GBpm。
是什么让 Clonezilla 比 dd 快得多?
我使用以下命令创建了dd/的图像dev/vda:
ssh root@1.2.3.4 "dd if=/dev/vda" | dd of=/home/backup/vda.img
我无法将它安装在我传输它的本地 Ubuntu 服务器上。
我得到了这个dmesg | tail:
[763158.222159] EXT4-fs error (device loop0): ext4_map_blocks:504: inode #8:block 10541546: comm mount: lblock 23018 mapped to illegal pblock (length 1)
[763158.222299] jbd2_journal_bmap: journal block not found at offset 23018 on loop0-8
[763158.222367] JBD2: bad block at offset 23018
[763158.222581] JBD2: recovery failed
[763158.222588] EXT4-fs (loop0): error loading journal
Run Code Online (Sandbox Code Playgroud)
如果我尝试检查它,file我会得到:
vda.img:数据
知道它可能是什么吗?
按照 Sven 的建议使用 kpartx,我得到:
kpartx -l /home/backup/vda.img
循环删除:/dev/loop0 …
我使用 dd 命令使用 dd if=/dev/sdb of=/jobs/image.dd 创建了一个磁盘映像。SATA 驱动器 /dev/sdb 上有 3 个分区(一个 NTFS,两个 FAT32)。
如何一次性安装完整映像及其所有分区?我实际上想使用 Python 编写脚本,但知道如何做显然是第一步!
提前致谢
在测试有问题的 LUN 的读取错误时,我遇到了以下问题:
find /mnt/problem_lun/ -type f -print -exec dd if={} of=/dev/null bs=8k \;
...
/mnt/problem_lun/a_file
dd: writing `/dev/null': File too large
33619977+0 records in
33619976+0 records out
275414843392 bytes (275 GB) copied, 804.171 s, 342 MB/s
Run Code Online (Sandbox Code Playgroud)
IBM 硬件,RHEL 6.6
谁是罪魁祸首,前提是可以读取此特定文件而不会出现任何错误?
我刚刚完成了在嵌入式设备上运行的 Debian 系统的设置。它具有自定义分区、大量配置文件更改、Web 内容和几个从源代码编译的应用程序。
这个确切的设置现在需要镜像到十几个其他相同的嵌入式设备。它们都是相同的处理器、内存、磁盘大小等(因此“相同”)。什么是最好的方法来做到这一点?
设备中的磁盘在物理上实际上是不可访问的,否则我的第一个方法是将第二个磁盘放入完成的盒子中并使用 dd 来镜像它。
如果我将磁盘镜像到 U 盘,我如何将它放到干净的盒子上?我想这取决于BIOS是否可以提供帮助?
我们公司的笔记本电脑已经使用了 2 年多,它们都变得很慢,其中许多最近的硬盘随机死机。我注意到我的许多同事在他们的扩展坞上使用倾斜的姿势。我想这对于磁盘性能和耐用性来说并不理想。所以我想用SSD替换所有磁盘。
我以前克隆(引导)磁盘,主要是在服务器环境中,曾经在家里的笔记本电脑(运行 Linux)中使用 dd:
dd if=/dev/sda of=/dev/sdb bs=32M
Run Code Online (Sandbox Code Playgroud)
但是,我从未对使用 Bitlocker 加密的 NTFS 驱动器执行过此操作。这会起作用吗?我不想购买一堆 SSD 只是为了发现我的计划有缺陷。
dd ×10
linux ×4
image ×2
bitlocker ×1
bsd ×1
clone ×1
clonezilla ×1
deleting ×1
disk-image ×1
disk-volume ×1
filesystems ×1
find ×1
gzip ×1
hard-drive ×1
mirror ×1
mount ×1
ntfs ×1
ubuntu ×1
windows ×1
zero-fill ×1