AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题

问题[dd](computer)

Martin Hope
Myszsoda
Asked: 2025-04-18 05:21:38 +0800 CST

为什么在 dd 操作期间故障 HDD 速度持续下降?

  • 12

我有一块 320GB 的硬盘,它有坏扇区,并且由于读取错误而导致磁盘故障,报告通过。为了尽可能多地保存数据,我想在这个磁盘上smartctl执行dd/ 。ddrescue

ddrescue默认设置(300kB/s)下的读取速度从一开始就非常慢,而且我也没时间尝试其他设置,所以就选择了。关于如何提升 ddrescue 速度dd的话题,暂时先不谈。

我使用dd命令,复制到具有 >1TB 可用空间的 SSD:

dd if=/dev/sda of=recovery.img conv=noerror,sync iflag=fullblock status=progress

问题是,时间越长dd,速度就越慢。一开始速度是 10MB/s,然后迅速降到 5MB/s,并且持续变慢。读取坏块时速度变慢并出现读取错误是可以理解的,但速度却始终无法恢复,即使在读取了好几 GB 的数据后仍然没有任何错误。示例输出:

36571460608 bytes (37 GB, 34 GiB) copied, 7521 s, 4.9 MB/s 
dd: error reading '/dev/sda': Input/output error
71428640+0 records in
71428640+0 records out
36571463680 bytes (37 GB, 34 GiB) copied, 7522.87 s, 4.9 MB/s

[a lot of read errors here]

163873310720 bytes (164 GB, 153 GiB) copied, 55200 s, 3.0 MB/s
dd: error reading '/dev/sda': Input/output error
320065087+1 records in
320065088+0 records out
163873325056 bytes (164 GB, 153 GiB) copied, 55202.2 s, 3.0 MB/s

[a lot of read errors here]

180528095744 bytes (181 GB, 168 GiB) copied, 105746 s, 1.7 MB/s
dd: error reading '/dev/sda': Input/output error
352593785+152 records in
352593937+0 records out
180528095744 bytes (181 GB, 168 GiB) copied, 105748 s, 1.7 MB/s
184232141312 bytes (184 GB, 172 GiB) copied, 115892 s, 1.6 MB/s

184232509952 bytes (184 GB, 172 GiB) copied, 115893 s, 1.6 MB/s
192463561216 bytes (192 GB, 179 GiB) copied, 138368 s, 1.4 MB/s
211374223872 bytes (211 GB, 197 GiB) copied, 190337 s, 1.1 MB/s
dd: error reading '/dev/sda': Input/output error
412840143+153 records in
412840296+0 records out
211374231552 bytes (211 GB, 197 GiB) copied, 190342 s, 1.1 MB/s
211374232064 bytes (211 GB, 197 GiB) copied, 190342 s, 1.1 MB/s
dd: error reading '/dev/sda': Input/output error
412840143+154 records in
412840297+0 records out
211374232064 bytes (211 GB, 197 GiB) copied, 190344 s, 1.1 MB/s

在上面的例子中,181GB 到 211GB 之间没有读取错误,所以很多扇区应该没问题,但速度始终没有提升到起始的 10MB/s 左右,而是一直在下降。前 37GB 也没有读取错误(因此没有输出),但这里由于缓存耗尽和磁盘故障,速度下降是可以理解的。

hdparm 使用最佳设置来提高磁盘速度。iostat 报告磁盘利用率为 100%:

r/s     rkB/s   rrqm/s  %rrqm   r_await rareq-sz Device
89.50    358.0k     0.00   0.0%   11.12     4.0k sda
w/s     wkB/s   wrqm/s  %wrqm   w_await wareq-sz Device
0.00      0.0k     0.00   0.0%    0.00     0.0k sda
d/s     dkB/s   drqm/s  %drqm d_await dareq-sz Device
0.00      0.0k     0.00   0.0%    0.00     0.0k sda
f/s f_await  aqu-sz  %util Device
0.00    0.00    0.99  99.5% sda

我的问题是,为什么会出现这种情况?即使没有坏块导致的读取错误,硬盘的读取速度也随着时间的推移越来越慢,这是怎么回事?为什么速度一直上不去?

问题的第二部分:是否有可能比良好扇区的ddrescue速度更快?dd

dd
  • 2 个回答
  • 1261 Views
Martin Hope
Joe C
Asked: 2024-06-21 02:06:11 +0800 CST

在 Linux(仅限终端)中,我可以暂时强制 Windows EFI 无法启动,然后根据需要恢复吗?

  • 5

我有一台 Windows Server。我通过启动 Linux 并执行 dd 精确扇区复制(从我的启动盘复制到另一个磁盘*)来进行备份。问题是我的服务器的 BIOS 太智能了,无论我对启动菜单或 efibootmgr 做什么,BIOS 最终都会发现这个备份磁盘是可启动的,然后有一半的时间从它启动。所以我希望能够在 Linux 中执行以下操作:

  1. 将我的 WinServer 启动盘复制到另一个磁盘作为备份
  2. 弄脏备份磁盘,使其认为无法启动。

如果我失败了:

  1. 从备份磁盘恢复到启动磁盘
  2. 将启动盘恢复为可启动盘(实际上与备份的磁盘完全相同)。
  3. 启动 WinServer。:)

我的 Linux 只有终端,所以我无法运行 gparted,但我可以运行 parted、fdisk 和 gdisk。

*为什么我要这样备份,却不能把备份磁盘取出来放在架子上,这说来话长。但这就是我必须做的。

dd
  • 1 个回答
  • 26 Views
Martin Hope
J.C
Asked: 2022-12-22 19:05:29 +0800 CST

dd 命令可以破坏输入文件吗?

  • 2

假设我在 dd 命令中有正确的输入文件和正确的输出文件。如果在此过程中输入文件发生某些变化,是否存在可能损坏输入文件或仅损坏输出文件的风险?

dd
  • 1 个回答
  • 45 Views
Martin Hope
barlop
Asked: 2022-08-05 14:25:49 +0800 CST

从 dd 生成的原始文件打开 \users\user 时,来自 osfmount 的“您当前无权访问此文件夹”的错误

  • 5

从 dd(或 ddrescue)生成的原始文件打开 \users\user(或任何用户配置文件文件夹)时,我从 osfmount 收到“您当前无权访问此文件夹的权限”的错误。

尝试打开 c:\user\usera 时,需要一段时间,然后我得到“您当前无权访问此文件夹”

如果我选择继续,然后过一会儿,它会显示“您已被拒绝访问此文件夹的权限”和“要获得访问权限,您需要使用安全选项卡”。 

如果我然后单击显示安全选项卡的蓝色文本,它将打开 usera 文件夹的属性。有一个按钮”继续,并说用户权限 

在此处输入图像描述

然后我收到类似这样的消息“将安全信息应用于...时发生错误:....媒体被写保护”

在此处输入图像描述

如果我一直点击“继续”,它只会不断闪现更多文件

dd osfmount
  • 1 个回答
  • 18 Views
Martin Hope
Duke Nukem
Asked: 2022-02-26 14:56:11 +0800 CST

如何在 linux 中将 tmpfs 读取为块设备?

  • 8

典型的 linux 机器挂载 atmpfs来存储临时文件:

$ df
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             953M  702M  203M  78% /
tmpfs                 1.5G  111M  1.5G   0% /tmp
...

在现场机器上,我如何访问tmpfs作为块设备的底层内存以便对其进行映像以dd用于文件恢复/取证/入侵检测目的?没有任何设备/dev可以正确地隔离和映射所使用的内存tmpfs到块设备。

此处已提出此问题,但没有一个答案有帮助:https ://www.linuxquestions.org/questions/linux-general-1/how-to-backup-ramfs-or-tmpfs-using-dd-4175422520 /

linux dd
  • 1 个回答
  • 369 Views
Martin Hope
Eugen Konkov
Asked: 2021-08-15 03:23:21 +0800 CST

为什么读/写是顺序的而不是并行的?

  • 5

我将数据从一张光盘复制到另一张光盘

sudo dd status=progress if=/dev/sdc of=/dev/sdd ibs=1G obs=1G

但我注意到读/写是按顺序完成的:

在此处输入图像描述

在此处输入图像描述

有没有办法让它平行以加快应对速度?

hard-drive dd
  • 2 个回答
  • 223 Views
Martin Hope
Madhubala
Asked: 2021-07-24 08:50:45 +0800 CST

dd 没有任何选项

  • 4

dd 命令在没有任何选项的情况下运行时会做什么?

[hannah@lenovo ~]$ dd
^C0+0 records in
0+0 records out
0 bytes copied, 7.71982 s, 0.0 kB/s

它会删除任何文件还是不用担心?谷歌搜索没有帮助

提前致谢

linux dd
  • 1 个回答
  • 175 Views
Martin Hope
Shayan
Asked: 2021-02-16 04:44:55 +0800 CST

使用 dd 或其他 linux 工具将操作系统迁移到新磁盘

  • 6

我有 1 TB HDD 和一个新的 250 GB SSD。

HDD 具有以下分区:

  • 499 MB (EFI)
  • 256 GB(引导、页面文件)- 仅使用了 120 GB 的此分区。其余的都是免费的。
  • 499 MB(恢复分区)
  • 736 GB(主分区)

我只希望将 EFI+Boot+Recovery 复制到 SSD。SSD 有238 GB 可用空间。

我怎样才能做到这一点dd?我打算启动一个 Ubuntu 实时映像并用于dd复制。SSD 的大小小于 3 个分区的大小。但这些分区仅保存 121 GB 的实际数据。

我只想用 Ubuntu 工具来完成这个。我已经用谷歌搜索了很多,我不想使用 Windows 软件来执行此操作,也不想使用 Clonezilla。

dd
  • 1 个回答
  • 696 Views
Martin Hope
Haxe18
Asked: 2021-01-31 09:48:42 +0800 CST

Luks 标头被 dd 覆盖

  • 6

我从教程中复制和粘贴的速度太快了,并用 dd 覆盖了我的一个驱动器中的 LUKS 标头。使用的命令是:

dd if=/dev/urandom of=/dev/sdb bs=512 seek=1 count=100

现在:

cryptsetup luksDump /dev/sdb
Device /dev/sdb is not a valid LUKS device.

是否有可能恢复我的标题或一切都丢失了?

安装的操作系统是 Debian 10,不幸的是磁盘在运行 dd 时没有加密,也没有可用的头备份:(

dd headers
  • 2 个回答
  • 453 Views
Martin Hope
Hans Xeng
Asked: 2021-01-22 07:18:06 +0800 CST

dd到文件和dd到物理磁盘有什么区别

  • 5

“openwrt-19.07.6-x86-64-combined-squashfs.img”图像大小为 20MB。如果我将文件名更改为“openwrt.raw”,我可以将其导入 virt-manager 并引导进入系统。但是根分区“/”没有空格。

如果我将“openwrt-19.07.6-x86-64-combined-squashfs.img” dd 到 U 盘中,然后将 U 盘 dd 到一个新文件,将 outfile 导入 virt-manager 并启动系统,根分区的大小为“256MB”。

dd if=openwrt-19.07.6-x86-64-combined-squashfs.img of=/dev/sde
dd if=/dev/sde of=./openwrt_with_256MB_root_partition.raw

“openwrt_with_256MB_root_partition.raw”的大小与U盘大小相同。但是如果我使用以下命令:

dd if=openwrt-19.07.6-x86-64-combined-squashfs.img of=/openwrt.raw

输出文件与输入文件大小相同。我明白这个动作是没有意义的。但是,当我将 256MB 根分区插入 USB 驱动器时,有人能解释一下是什么让其可用吗?有没有办法在不需要物理 USB 驱动器或其他磁盘的情况下创建具有 256MB 根空间的映像文件?

linux dd
  • 1 个回答
  • 129 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve