标签: dd

fallocate vs dd 交换文件?

我想知道与创建交换文件有什么区别

fallocate -l 1G /swapfile
Run Code Online (Sandbox Code Playgroud)

dd if=/dev/zero of=/swapfile bs=1024 count=1024
Run Code Online (Sandbox Code Playgroud)

两者似乎都可以正常工作,但是一个比另一个有优势吗?

我在网上唯一能找到的是它fallocate不适用于所有文件系统。

swap dd

27
推荐指数
2
解决办法
8453
查看次数

'dd' 命令是否耗时太长?

我设置dd将较小的系统 40.00GB 硬盘驱动器 (/dev/sda) 克隆到通过 USB 读取器 (dev/sdb) 连接的新的更大的 111.00GB 硬盘驱动器,现在已经运行了两个小时。新硬盘驱动器上的活动计显示它正在做某事。但是CPU只有20%左右。这件事什么时候能完成?我应该重新开始这个过程吗?

clone dd

25
推荐指数
3
解决办法
8万
查看次数

如何挂载用 dd 创建的 sd 卡映像?

我使用以下命令创建了我的 Raspberry Pi SD 卡的映像dd

sudo dd if=/dev/sdf of=/home/myusername/raspberry-backup-2014-04-10.img
Run Code Online (Sandbox Code Playgroud)

SD 卡包括两个分区(一个 vfat,一个 ext4),当我插入卡时会自动挂载。

我的问题:如何从 .img 文件挂载这些分区?


更多细节:

$ fdisk -l raspberry-backup-2014-04-10.img 

Disk raspberry-backup-2014-04-10.img: 3974 MB, 3974103040 bytes
255 heads, 63 sectors/track, 483 cylinders, total 7761920 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000981cb

                          Device Boot      Start         End      Blocks   Id  System
raspberry-backup-2014-04-10.img1            8192      122879       57344    c …
Run Code Online (Sandbox Code Playgroud)

mount dd sd-card

25
推荐指数
2
解决办法
6万
查看次数

在更短的时间内创建大文件

我想创建一个充满零和随机值的大文件 ~10G。我试过使用:

dd if=/dev/urandom of=10Gfile bs=5G count=10
Run Code Online (Sandbox Code Playgroud)

它创建一个大约 2Gb 的文件并以退出状态“0”退出。我不明白为什么?

我还尝试使用以下方法创建文件:

head -c 10G </dev/urandom >myfile
Run Code Online (Sandbox Code Playgroud)

创建它大约需要 28-30 分钟。但我希望它创建得更快。有人有解决方案吗?

此外,我希望创建多个具有相同(伪)随机模式的文件进行比较。有谁知道这样做的方法吗?

files dd

22
推荐指数
3
解决办法
8万
查看次数

为什么同步选项与 `dd` 命令一起使用?

按照页面上的说明,该页面最后显示了一个dd命令和一个sync选项。命令如下:

xzcat ~/ubuntu.img.xz | sudo dd of=/dev/sdX bs=32M sync
Run Code Online (Sandbox Code Playgroud)

我知道dd它是什么以及它是如何工作的,但我从来没有听说过或使用过sync它的选项,它的手册页条目是这样的:

sync   pad every input block with NULs to  ibs-size;  when  used  with
       block or unblock, pad with spaces rather than NULs
Run Code Online (Sandbox Code Playgroud)

NUL它是什么以及为什么要填充到ibs-size,为什么还要填充数据块并syncdd命令中使用该选项?为什么不保持简单和容易?

当我尝试sync使用适当的位置和值运行命令时,我收到以下错误:

dd: unrecognized operand ‘sync’
Try 'dd --help' for more information. 
Run Code Online (Sandbox Code Playgroud)

dd

21
推荐指数
2
解决办法
6万
查看次数

为什么 dd 不是将可启动的 .iso 文件写入 USB 拇指驱动器的可靠命令?

这里的一个答案表明,.iso如果将Ubuntu复制dd到 USB 拇指驱动器,则预计不会启动。

为什么某些Linux 发行版可以选择使用 将其可启动.iso文件直接写入拇指驱动器dd,而其他发行版(Ubuntu?)却没有?

在 Ubuntu 中,我认为它必须首先转换为.img。这是真的?

是因为.isos 中的某些架构差异吗?还是因为dd自身的限制?

不知道这里是不是题外话。如果社区认为或提出建议,我可以将其移至更合适的位置。一些解释将是可观的。

boot usb-drive iso dd

19
推荐指数
1
解决办法
3万
查看次数

如何使用 dd 修复输入/输出错误?

嗨,我正在尝试用损坏的硬盘修复我的 Windows 7 系统,但它仍在运行。

我正在尝试将所有数据复制到新驱动器以重新安装 Windows 7。驱动器名为 SQSERVICE。

我根本无法复制 - 见下文:

$ sudo dd if=/dev/sdc1 of=/dev/sda1
dd: reading `/dev/sdc1': Input/output error
11233976+0 records in
11233976+0 records out
5751795712 bytes (5.8 GB) copied, 187.731 s, 30.6 MB/s
Run Code Online (Sandbox Code Playgroud)

如何解决这个“输入/输出错误”?

hard-drive drive dd

18
推荐指数
3
解决办法
10万
查看次数

为较小的 SD 卡“重新调整大小” .img。如何缩小可启动的 SD 卡映像

语境

我有一个 16 GB SD 卡,带有用于 Raspberry Pi 的基于 Linux 的操作系统。大部分空间都是空的。

我想.img与其他人共享 SD但如果我使用命令

dd if=/dev/sdXX of=/home/user123/SD.img
Run Code Online (Sandbox Code Playgroud)

它将创建一个 16 GB 的图像。太大。

如何将 16GB SD 卡图像重新调整为较小的 4GB?

我尝试过使用 GParted:它可以毫无问题地创建一个 4GB 的分区,但是整个.imgSD 卡仍然是 16 GB,还有 12 GB 的未分配空间。

GParted 表

我已经阅读了在 Ubuntu 中克隆多个分区的问题和答案,但我仍然无法将 16GB SD 卡的大小重新调整为 4GB。

更多信息

~$ lsblk 
...

sdc      8:32   1  14,9G  0 disk 
??sdc1   8:33   1   100M  0 part 
??sdc2   8:34   1     4G  0 part 
Run Code Online (Sandbox Code Playgroud)
~$ sudo fdisk -l /dev/sdc
Disk /dev/sdc: 14,9 GiB, …
Run Code Online (Sandbox Code Playgroud)

partitioning resize dd sd-card disk-image

18
推荐指数
2
解决办法
2万
查看次数

有没有办法从被 dd 部分覆盖的存储设备中恢复文件?

我是个白痴,我正在将图像写入 USB 驱动器dd,而不是打字时,/dev/sdb我键入/dev/sdd并将 135mb 图像写入我的 750gb 外部硬盘驱动器,里面装满了文件。有没有可能恢复文件或dd将驱动器完全清零?请帮忙,因为这是我一生中的最低点之一。

dd在 5 秒内完成了 135mb 图像的写入,所以我没有机会阻止它。当我知道发生了什么的时候已经太晚了。命令如下:

sudo dd if=generic.img of=/dev/sdd bs=1M
Run Code Online (Sandbox Code Playgroud)

EDIT2:外置硬盘的文件系统是 FAT32(我已经有一段时间了,FAT32 是当时最通用的 FS)。我还有一个刚拿到的 2TB 驱动器,我计划将大部分文件从 750gb 移动到其中,如果需要,我可以使用它来将恢复的文件传输到。

files hard-drive dd data-loss data-recovery

17
推荐指数
1
解决办法
7758
查看次数

我的克隆驱动器命令是最佳的吗?

我已经做了半个小时的阅读准备克隆我的硬盘。它有多个分区,包括一个 Windows 分区。我打算购买一个非常大的外置硬盘作为备份。我希望能够使用这个克隆来恢复整个驱动器,以防出现问题(我即将进行一些操作系统重新洗牌)。我想学习如何使用 dd 来做到这一点,因为我喜欢不需要安装任何东西的低级工具。

我从ubuntu 论坛找到了以下有用的代码(使用 live CD 从 root shell 输入):

dd if=/dev/hda of=/dev/hdb & pid=$!
while kill -USR1 $pid; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)

(我知道我必须编辑输入和输出位置。)但是我有两个问题。第一个很菜:这个命令被分成两行。当然,当我在感叹号后按 Enter 时,它会启动该过程吗?

二,在其他站点上,它建议输入块大小。像这样:

# dd if=/dev/hda conv=sync,noerror bs=64K of=/mnt/sda1/hda.img
Run Code Online (Sandbox Code Playgroud)

我对块大小一无所知。64K对吗?看起来我的块大小是以下 512 字节,sudo fdisk -ul 的输出:

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): …
Run Code Online (Sandbox Code Playgroud)

dd

17
推荐指数
2
解决办法
4万
查看次数