例如,我有两个闪存驱动器,由于 USB 速度,我更喜欢将一个闪存驱动器的内容放在另一个闪存驱动器上,反之亦然。这包括 MBR 和 EFI 引导加载程序。我指的不是swap
空间。例如,如何在不需要大量 RAM 进行缓冲和纠错的情况下实现这一目标?
感谢您伸出援手。
例如,我有两个闪存驱动器,由于 USB 速度,我更喜欢将一个闪存驱动器的内容放在另一个闪存驱动器上,反之亦然。这包括 MBR 和 EFI 引导加载程序。我指的不是swap
空间。例如,如何在不需要大量 RAM 进行缓冲和纠错的情况下实现这一目标?
感谢您伸出援手。
我有一个带有 128 GB SD 卡的 Raspberry Pi (RPi)。该 SD 卡包含 RPi 的完整操作系统和设置,我想对其进行备份。SD 卡上所有文件的总大小约为 350 MB。
我将 SD 卡放入运行 Linux 发行版的笔记本电脑中,并使用 dd 复制SD 卡的内容:
sudo dd if=/dev/sdb of=RPi4Image.img
该命令花费了很长时间,我检查了我的笔记本电脑上生成的文件大小,发现它的大小为 44 GB,并且尚未完成创建。我假设我最终会得到 128 GB 的文件大小,只备份 350 MB 的内容,这对我来说没有用。
我停止了这个过程。
在我看来,这个 dd 命令会生成整个 SD 卡的映像,全部 128GB,即使我只需要备份上面的 350 MB 内容/文件。
我正在 Pi3B 上开发 Raspberry Pi 操作系统。我正在使用一个脚本来执行一些分区操作,有时我想擦除驱动器,所以我使用(作为root):
dd if=/dev/zero of=/dev/mmblk0 status=progress bs=1M
我总是得到这个 - 即使使用不同的 microSD 卡和不同的尺寸:
300941312 bytes (301 MB, 287 MiB) copied, 1 s, 301 MB/s
dd: error writing '/dev/mmblk0': No space left on device
340+0 records in
339+0 records out
356405248 bytes (356 MB, 340 MiB) copied, 1.20626 s, 295 MB/s
该设备如此快地耗尽空间,32、64 或 128GB 卡上甚至没有使用 1GB,这是怎么回事?我可以在 USB 记忆棒上执行同样的操作,没有任何问题,但每次在 microSD 卡上执行此操作时都会遇到此问题。
关于如何调整(增加)LUKS2 加密设备/分区/LVM 卷的大小有很多技巧。但是如何增加文件中创建的 LUKS 容器的大小呢?
我曾经创建过:
dd if=/dev/random of=/some file bs=1M count=100
cryptsetup luksFormat /some-file
cryptsetup luksOpen /some-file some-mount
mkfs.ext4 /dev/mapper/some-mount
现在这个容器已经没有空间了,我需要增加它的大小。怎么做?
我有一个带有和(40GB)dd
的命令,每次我尝试运行它时,它都会超出其计数。这是确切的命令,以及在我停止它之前捕获的输出:bs=1M
count=40960M
dd if=/dev/zero of=/swap/swapfile bs=1M count=40960M status=progress
50383028224 bytes (50 GB, 47 GiB) copied, 458 s, 110 MB/s
根据进度输出,它似乎只是无限期地运行,并且可能会继续运行,直到目的地of
完全填满。dd
我对导致其永远运行的误解是什么?
我正在尝试创建连接到 Promise Fastrack TX2300 的 HDD 的图像。我正在尝试使用实时 Linux“grml”来执行此操作。
发生这种情况的硬件早已过了最佳时期:[email protected],1GB Ram,主要运行 Windows XP。
PC 安装在一台工业机器上,我不想拆开它来物理访问 HDD。(切勿触摸正在运行的系统)
nc -l 7777 > hdd_raw.img
。dd if=/dev/dm-0 bs=64K | nc 10.1.0.2 7777
。但是每次 dd 只读取 4.194.304KB 然后退出(没有错误消息并且返回代码为 0)所以我会排除 dd 作为错误的来源。
HDD的容量为160GB。
/dev/sda
的不是/dev/dm-0
:4GB -> 停止。安装的 RAID 控制器是Promise Fastrack TX 2300,加载的内核模块是sata_promise
.
uname -a
说:
Linux grml 6.0.0-4-686 #1 SMP PREEMPT_DYNAMIC Debian 6.0.8-1 (2022-11-11) i686 GNU/Linux
的输出dmesg
: https: //dpaste.org/93bE3/raw
如何从sda / dm-0获取其余数据?
我有几个旧磁盘正在尝试复制到 HDD。一些磁盘运行良好,我可以使用mount
和复制它们rsync
,但是与旧磁盘一样,一些磁盘无法安装。我厌倦了dd
用来制作它们的图像,然后跑去photorec
把文件拿出来。这在一定程度上奏效了。我的文件已恢复,但我注意到dd
某些驱动器仅复制了大约一半(4.7Gb 中的 1.5Gb)磁盘。这导致 photorec 只能恢复磁盘上大约一半的视频(有没有更好的方法从磁盘恢复这些文件?)
我想知道是否遇到了一些不可读的部分并dd
停止复制,如果是这样,是否可以指示dd
制作整个 4.7gb 磁盘的副本?
我运行的命令:dd if=input of=output
iflag=nocache
的标志dd
似乎只在第二次以后才生效。
我不明白为什么。
我在想也许它与预读缓存有关,但它没有解释下表中的结果:
Results - Effect of iflag=nocache: from big SATA SSD file to /dev/null:
Test_Name dd_flags Time[s] time/dd exit status
w/ iflag=nocache iflag=nocache 6.95 0
again w/ iflag=nocache iflag=nocache 6.94 0
first w/o iflag=nocache - 6.94 0
2nd w/o iflag=nocache - 2.60 0
3nd w/o iflag=nocache - 2.49 0
first w/ iflag=nocache iflag=nocache 2.71 0
2nd w/ iflag=nocache iflag=nocache 6.94 0
3rd w/ iflag=nocache iflag=nocache 6.94 0
关于底部的 3 个测试/行:
iflag=nocache
使用,然后仍然使用缓存(由于它花费的时间很快)。iflag=nocache
花费了很长时间(即没有缓存),这意味着他们可能没有使用预读缓存,所以预读缓存可能不是这里的问题。iflag=nocache
标志似乎有效,因为随后使用它的尝试要慢得多,这意味着没有使用缓存。笔记:
dd_flags
显示了提供给 的所有标志dd
,除了两个标志if
和of
。对于具有列的行-
,dd_flags
这意味着dd
没有额外的标志(除了if
and of
)dd
是一个大文件(3.8GB),存储在 SATA SSD 中(最大吞吐量约 500MB)。dd
是 /dev/null。Time[s]
列是实时,它是time
Bash 保留字的结果。echo 1 >|/proc/sys/vm/drop_caches
),因为我想避免完全缓存失效。我尝试删除整个文件的缓存,如所示info dd
- 似乎有效:
Results - Effect of iflag=nocache: from big SATA SSD file to /dev/null:
Test_Name dd_flags Time[s] time/dd exit status
w/ iflag=nocache iflag=nocache 6.95 0
again w/ iflag=nocache iflag=nocache 6.95 0
first w/o iflag=nocache - 6.94 0
2nd w/o iflag=nocache - 2.60 0
3nd w/o iflag=nocache - 2.49 0
Drop cache for whole file iflag=nocache,count=0 0.14 0
first w/ iflag=nocache iflag=nocache 6.94 0
2nd w/ iflag=nocache iflag=nocache 6.94 0
3rd w/ iflag=nocache iflag=nocache 6.94 0
版本:
$ dd --version | head -1
dd (coreutils) 8.32
没有解决我的问题的相关阅读:
https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html#dd-invocation
因此,据我所知, conv=fsync 意味着缓存在 dd 退出之前已完全写入。但这是否意味着 dd 退出时写入不完整?就像我关闭计算机(在 dd 看似完成之后)文件可能不完整?
使用 dd 将所有零写入硬盘驱动器怎么样?